Commit graph

324 commits

Author SHA1 Message Date
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
Fangrui Song
51f2ea2932 tmux: string-split -> split-string 2018-06-17 18:57:02 -07:00
Henrik Lissner
6808c46b58
💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
Henrik Lissner
233a1f6469
evil-magit-use-z-for-folds = t
And remove old meta key fold commands. Stashing commands are available
through Z, instead.
2018-06-17 14:50:58 +02:00
Henrik Lissner
51d49639f6
Change M-k/M-j keys to gk/gj in magit-rebase
Avoid meta keys where possible.
2018-06-17 14:22:29 +02:00
Henrik Lissner
17981d6a61
Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +02:00
Henrik Lissner
fd949e7063
Make diff larger when committing via magit
The diff window contains more important information, so we shrink the
git commit window and enlargen the diff window.
2018-06-16 21:48:37 +02:00
Henrik Lissner
01b2856cc2
From eshell, open magit buffers in same window 2018-06-16 15:20:10 +02:00
Henrik Lissner
c305d63dd7
Improve magit display-buffer logic
Now opens derivative magit buffers (from popup magit windows) in
fullscreen.
2018-06-16 14:38:52 +02:00
Henrik Lissner
709c708376
Open magit-popup is a side window
Instead of in a split below the current window.
2018-06-16 14:38:06 +02:00
Henrik Lissner
ab9b8d97bc
Replace :rotate with set-rotate-patterns! autodef
And its references.
2018-06-15 18:03:50 +02:00
Henrik Lissner
0ef522bbf2
tools/pdf: close annotation lists when killing pdf 2018-06-15 03:42:01 +02:00
Henrik Lissner
eaca8c58fa
Move unit tests from ert to buttercup
Easier to organize and write. Now I can hopefully strive for better
coverage!
2018-06-15 03:42:01 +02:00
Henrik Lissner
98d2f1de3f
Add set-env! autodef; make :env obsolete 2018-06-15 03:42:01 +02:00
Henrik Lissner
d8b1e469bc
Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
Henrik Lissner
5b78cf7ed6
tools/editorconfig: conform to name conventions
Renamed doom-editorconfig-mode-alist to +editorconfig-mode-alist
2018-06-14 03:36:46 +02:00
Henrik Lissner
36171f5b33
Fix :after-call deferred packages not loading
If you open emacs with a file (emacs file.txt), the file is switched to
before the switch-buffer hooks are set up. However, many core packages
are hooked to those switch-buffer hooks (to load when they're first
triggered). They miss the boat and don't get loaded.

These packages are now hooked onto after-find-file as well (and
immediately), which will fire when a file is opened, before or after
initialization.

Fixes #680
2018-06-14 03:36:46 +02:00
Henrik Lissner
f74d595e17
Merge pull request #678 from ar1a/wakatime-interactive
Make +wakatime-init interactive
2018-06-13 16:53:09 +02:00
Aria Edmonds
000dee7abf Upstream changes to wakatime 2018-06-13 09:50:09 +10:00
UndeadKernel
99daa9bd43 Fix: restore the display of current and total pages in PDF docs
A refactoring spree introduced a bug by incorrectly making a symbol
a function. This fixes this.
2018-06-12 15:32:39 +02:00
Aria Edmonds
b9a179eeed Make +wakatime-init interactive
Sometimes it doesn't prompt to decrypt gpg, etc etc. Regardless, I think
this should be interactive so it's easily re-initialized
2018-06-11 12:33:04 +10:00
Henrik Lissner
4c8afef3c9
Merge pull request #673 from zaiste/add-binding-for-git-file-delete
bindings: magit | add `file-delete` as `SPC g x`
2018-06-11 01:33:07 +02:00