Commit graph

295 commits

Author SHA1 Message Date
Henrik Lissner
0f901b560f
tools/editorconfig: add enh-ruby-mode support 2018-09-09 09:58:18 -04:00
Henrik Lissner
0b07220c5f
Lazy-load docker.el & refactor evil-initial-state
`set-evil-initial-state!` accepts multiple modes as its first argument and is marginally faster when used that way.
2018-09-09 09:52:23 -04:00
Henrik Lissner
0e1049189c
Lazy-load docker-tramp & dockerfile-mode
No extra configuration is required to lazy load these two plugins (they autoload themselves). These blocks would force them to load at startup otherwise.
2018-09-09 09:49:22 -04:00
Ruslan Kamashev
dc3a366094 Fix bindings 2018-09-08 03:51:37 +03:00
Ruslan Kamashev
2fdd82a8f0 Add docker to init.example.el 2018-09-08 03:22:34 +03:00
Ruslan Kamashev
515ed02dfb Add docker module 2018-09-06 22:07:58 +03:00
Henrik Lissner
3a23ff56cd
General formatting & minor refactors 2018-09-02 17:20:19 +02:00
Henrik Lissner
3e9146cc02
Merge pull request #854 from shuxiao9058/develop
add shortcut to "magit-gitflow-popup" with '%' in magit-mode
2018-09-01 13:38:37 +02:00
Henrik Lissner
d72f485a97
tools/editorconfig: defer for 3 seconds
Give other plugins more room to load first.
2018-08-31 23:44:30 +02:00
啸傲居士
79cbae56b6 add shortcut to "magit-gitflow-popup" with '%' in magit-mode 2018-09-01 01:56:12 +08:00
Henrik Lissner
55d4cbd314
Fix vestigial refs to before-switch-buffer hook
doom-before-switch-buffer-hook was renamed to doom-enter-buffer-hook
2018-08-31 14:10:25 +02:00
Henrik Lissner
d80e79203a
Replace delete-trailing-whitespace with ws-butler
ws-butler only strips trailing spaces on lines that have been modified.

+ ws-butler is disabled if editorconfig enables
  trim_trailing_whitespace, which resorts to delete-trailing-whitespace
  instead.
+ Updates doom|(enable|disable)-delete-trailing-whitespace hooks to use
  ws-butler-mode.
2018-08-31 13:59:12 +02:00
Henrik Lissner
2b560a6a0e
General & minor refactoring 2018-08-28 13:36:44 +02:00
Henrik Lissner
641cef9848
Refresh vc when magit refreshes #826
Magit does not inform vc that changes have occurred to open buffers.
This fixes that (and indirectly fixes branch display in the modeline).
2018-08-23 17:09:59 +02:00
Henrik Lissner
17abb990e4
tools/magit: don't make new windows too tall
Some popups (like logs or revisions) completely consume the current
window.
2018-08-21 22:45:42 +02:00
Henrik Lissner
9e0e586dd8
tools/magit: use current window instead of fullcol
Full column is a bit tempermental. This also removes the need to restore
the window config after quitting magit.

Why the switch from full-frame magit to current-buffer? It is the least
intrusive policy; it doesn't rearrange the user's workspace.
2018-08-19 01:15:22 +02:00
Henrik Lissner
2cc5d223fe
Rewrite how magit windows/popups are managed
The old policy was to invoke magit in fullscreen, but in practice, I've
found myself wanting to peek at other buffers (maybe even notes) while I
manage my project in version control.

So this change introduces two big changes and one fix:

+ Instead of a full-frame policy, we use full-column. e.g. Invoking
  magit-status will take up a full column of windows (and will restore
  them when you quit).
+ Popups are displayed below the current window if called from a magit
  buffer, otherwise as a popup at the bottom of the frame.
+ Fixes popups opening in a random window if called from a magit buffer
  in a popup.

This is only a start and needs more testing.
2018-08-13 21:47:56 +02:00
Henrik Lissner
cb7e471c90
General reformatting & comment revision/cleanup 2018-07-29 19:31:33 +02:00
Henrik Lissner
d094162d31
Refactor how git-timemachine loads magit-blame
Loading magit-blame immediately after git-timemachine is premature, only
one command uses magit-blame (git-timemachine-blame), so we defer it
until that command is called (also, it makes more sense to be in the
emacs/vc module, than tools/magit).
2018-07-29 17:42:00 +02:00
Henrik Lissner
e3dc3a6376
Shut up magit-todos-mode complaining about jT
I unbound it, stop complaining about it!
2018-07-29 17:41:59 +02:00
Henrik Lissner
df233eb1a9
lang/pdf: fix compatibility with +new modeline 2018-07-29 17:41:58 +02:00
Henrik Lissner
6d0b274774
Simplify magit-todos-mode startup 2018-07-17 18:29:43 +02:00
Henrik Lissner
eddac86824
tools/magit: add magit-todos package 2018-07-12 18:49:13 +02:00
Henrik Lissner
616c48bd62
Remove read-only monkey patch for magit/git-rebase
It was fixed upstream.
2018-07-10 14:22:53 +02:00
Henrik Lissner
4941e327f4
General refactor for readability
+ Removes redundant/unhelpful comments
+ Renames functions, hooks and variables to be self-documenting
+ Use add-to-list to ensure idempotency (and is more performant)
2018-07-09 15:33:31 +02:00
Henrik Lissner
3443cd870a
Disable magit-auto-revert-mode
Because we already use global-auto-revert-mode, but because it's lazy
loaded, the magit-autorevert package may not notice, and will enable
magit-auto-revert-mode anyway.
2018-07-06 13:39:42 +02:00
Henrik Lissner
81ffed520b
Rename doom-before-switch-*-hook hooks
+ doom-before-switch-buffer-hook => doom-exit-buffer-hook
+ doom-before-switch-window-hook => doom-exit-window-hook
+ doom-after-switch-buffer-hook => doom-enter-buffer-hook
+ doom-after-switch-window-hook => doom-enter-window-hook

Shorter, easier-to-type names that better describe their intended
purpose.

The old names are still usable, but deprecated.
2018-07-03 03:41:08 +02:00
Henrik Lissner
6014a416b3
Fix read-only errors in magit rebase buffers
Magit would refuse to abort/commit rebases due to
delete-trailing-whitespace in write-file-functions, placed there by
editorconfig.
2018-06-30 13:21:24 +02:00
Henrik Lissner
156d717042
Restore zz in magit buffers 2018-06-30 13:21:24 +02:00
Henrik Lissner
f915f8c864
Fix wakatime-api-key not persisting across sessions
Caused because customize'd variables aren't set until they're defined,
so we have to load wakatime-mode first.
2018-06-27 02:52:06 +02:00
Henrik Lissner
705de920d7
tools/wakatime: +wakatime-api-file => custom.el
Use customize system to store user settings instead of reinventing the
wheel.
2018-06-26 18:58:06 +02:00
Henrik Lissner
71922937ff
tools/wakatime: add +wakatime-home variable
And fix 'wakatime-mode isn't setup' message referencing +wakatime/start
instead of +wakatime/setup.
2018-06-26 18:58:06 +02:00
Henrik Lissner
017ba8d79c
Autoload defhydras & use new naming convention
Phasing out the +module@name convention for plain old
+module-name-hydra, which is more compatible with elisp reflection tools
like describe-function and such.

Also, Emacs starts up faster now. Tee hee.
2018-06-26 01:43:54 +02:00
Henrik Lissner
24fbf1bf0c
Complain if wakatime binary can't be found 2018-06-25 20:19:33 +02:00
Henrik Lissner
c8de34fb55
Add +wakatime-hide-filenames option
When enabled, wakatime will obfuscate filenames, hiding file information
from your activity.
2018-06-24 23:23:30 +02:00
Henrik Lissner
3e2b19b5bf
Improve feedback from wakatime-mode setup/init 2018-06-24 23:03:17 +02:00
Henrik Lissner
9ca73ee30e
Fix wakatime api key void-variable errors
Because the api-key was saved to the elisp cache without quotes, the key
was read like a variable symbol. This is why we can't have nice things.

Reported by @freddian
2018-06-24 23:01:04 +02:00
Henrik Lissner
0f90972ba9
tools/wakatime: fix typo in hook name 2018-06-24 22:36:27 +02:00
Henrik Lissner
30f1f8ab0c
tools/wakatime: fix lazy loader
Also the cause of errors during package management, because
after-find-file was being advised too early.

Reported by @freddian
2018-06-24 22:35:26 +02:00
Henrik Lissner
14dfc9fad9
Add FIXMEs to def-setting!'s
They will be removed on the 2.1.1 release.
2018-06-24 17:13:23 +02:00
Henrik Lissner
6e3afb0249
Improve wakatime module; add +wakatime/setup
+ +wakatime/setup prompts for API key, after asking if you want to open a
  browser to the wakatime api-key page.
+ wakatime-api-key is saved to a cache file in doom-cache-dir.
+ Fixed wakatime not starting on the first buffer when passing a file to
  Emacs directly.

Suggested by @freddian
2018-06-24 14:44:09 +02:00
Henrik Lissner
031deb7beb
Fix C-k keybind in pass-mode 2018-06-23 20:00:21 +02:00
Henrik Lissner
f6dc6ac74e
Refactor out map.el usage
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.

The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.
2018-06-23 19:53:54 +02:00
Henrik Lissner
a53503eadb
Fix +pass functions failing to locate pass entries
They use `password-store-dir` to determine where password-store is, but
that function isn't loaded in time for them to use it!
2018-06-23 01:55:52 +02:00
Henrik Lissner
34cd055670
Autoload +pass/ivy 2018-06-23 01:53:59 +02:00
Henrik Lissner
3a3eb92087
Move :tools rotate-text to :editor rotate-text
This change was a long time coming.
2018-06-22 01:49:20 +02:00
Henrik Lissner
0501ea9c2c
Fix auth-source-pass & password-store autoloads
They were marked as macros, but aren't macros!

This may fix #696
2018-06-19 12:01:52 +02:00
Henrik Lissner
f471ef3fff
Merge pull request #694 from MaskRay/tmux
tmux: string-split -> split-string
2018-06-18 23:50:56 +02:00
Henrik Lissner
15921306ce
Optimize :tools rotate-text
No need for its config.el file!
2018-06-18 17:32:44 +02:00
Henrik Lissner
ca2c8b5a45
Minor refactor, across the board
Do you see the board? Now look at the other side. That's how far this
refactor extends.

Yes.
2018-06-18 15:02:24 +02:00