Commit Graph

269 Commits

Author SHA1 Message Date
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
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
156d717042 Restore zz in magit buffers 2018-06-30 13:21:24 +02:00
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
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
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
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
24fbf1bf0c Complain if wakatime binary can't be found 2018-06-25 20:19:33 +02:00
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
3e2b19b5bf Improve feedback from wakatime-mode setup/init 2018-06-24 23:03:17 +02:00
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
0f90972ba9 tools/wakatime: fix typo in hook name 2018-06-24 22:36:27 +02:00
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
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
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
031deb7beb Fix C-k keybind in pass-mode 2018-06-23 20:00:21 +02:00
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
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
34cd055670 Autoload +pass/ivy 2018-06-23 01:53:59 +02:00
3a3eb92087 Move :tools rotate-text to :editor rotate-text
This change was a long time coming.
2018-06-22 01:49:20 +02:00
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
f471ef3fff Merge pull request #694 from MaskRay/tmux
tmux: string-split -> split-string
2018-06-18 23:50:56 +02:00
15921306ce Optimize :tools rotate-text
No need for its config.el file!
2018-06-18 17:32:44 +02:00
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
51f2ea2932 tmux: string-split -> split-string 2018-06-17 18:57:02 -07:00
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
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
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
17981d6a61 Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +02:00
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
01b2856cc2 From eshell, open magit buffers in same window 2018-06-16 15:20:10 +02:00
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
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
ab9b8d97bc Replace :rotate with set-rotate-patterns! autodef
And its references.
2018-06-15 18:03:50 +02:00
0ef522bbf2 tools/pdf: close annotation lists when killing pdf 2018-06-15 03:42:01 +02:00
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
98d2f1de3f Add set-env! autodef; make :env obsolete 2018-06-15 03:42:01 +02:00
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
5b78cf7ed6 tools/editorconfig: conform to name conventions
Renamed doom-editorconfig-mode-alist to +editorconfig-mode-alist
2018-06-14 03:36:46 +02:00
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
f74d595e17 Merge pull request #678 from ar1a/wakatime-interactive
Make +wakatime-init interactive
2018-06-13 16:53:09 +02:00
000dee7abf Upstream changes to wakatime 2018-06-13 09:50:09 +10:00
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
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
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
87ccdecd46 Autoload magit-file-delete 2018-06-11 01:06:41 +02:00
01c63481f6 Merge pull request #671 from ar1a/wakatime-fixed
Fix wakatime breaking emacs if no api-key set
2018-06-10 22:27:33 +02:00
383ecf7a08 Fix magit rebase/log windows being hidden by diffs 2018-06-10 17:28:17 +02:00
e88de1692d Don't shadow wakatime-api-key 2018-06-09 23:43:57 +10:00
c3db907204 Fix wakatime breaking emacs if no api-key set 2018-06-09 22:58:45 +10:00