Commit Graph

389 Commits

Author SHA1 Message Date
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
70ce322e99 Add :tools wakatime module 2018-06-08 13:08:38 +02:00
85a0c9efc9 New default display-buffer handler for magit
+magit-display-buffer-fullscreen is a more sophisticated (albeit
experimental) replacement for magit-display-buffer-fullframe-status-v1,
which fullscreens magit, but will also:

a) Keep the status window visible
b) Treat magit buffers not opened from magit-status as popups
2018-06-07 02:51:45 +02:00
b26bbd4762 Fix args-out-of-range in enable-minor-mode-maybe
Caused by trying to use out-of-scope match data.
2018-06-07 02:51:03 +02:00
13413a72e8 tools/magit: Show word-granularity on chosen hunk
This really seems like it should be a default, it's so handy to get
better diffs, sort of like how github does it. if set to 'all then it'll
show on all of them, but I think t is good enough.
2018-06-06 18:08:02 +10:00
5c5b4931cf Autoload the +macos!open-width macro 2018-06-04 21:17:49 +02:00
32a2a2b64d General, minor refactor
+ Group hooks with add-hook!
+ Sharpquote elfeed call
+ Extract elfeed buffer detector into function and ensure idempotency of
  doom-real-buffer-functions
2018-06-03 15:51:59 +02:00
1e81a35461 Minimize dependence on map!
This is in preparation for general.el integration coming in 2.1.1. It is
very likely that map! will change (and even more, be split into several
macros). Not much, but change none-the-less. Specifically, the state
keywords (e.g. :nvi, :n, :i) will be removed in favor of a :state
property that takes a list, e.g. (normal visual insert).

In any case, both map! and general are also relatively expensive
compared to define-key and evil-define-key* (and the new define-key!
macro), so use that when we can.

This also means changes to either API won't affect Doom's modules in the
long term.
2018-06-03 15:46:00 +02:00
d20ffca78d tools/magit: minor refactor/reformatting 2018-06-02 10:56:04 +02:00
1dd4076f8d Handle magit windows w/ fullframe-status-v1
This new default was chosen to keep magit consistent with fullscreen
:app workflows (which work very similarly). It is also more predictable
than the default method.
2018-06-02 10:54:30 +02:00
1ffdf616e8 Hide mode-line in magit windows (experimental) 2018-06-02 10:54:12 +02:00
6d218fc5a0 Consider magit buffers real
So they can be switched to if buried
2018-06-02 10:53:51 +02:00
c5df4e7d2f tools/magit: remove +hub check around magithub package 2018-06-01 13:40:48 +02:00
bab530ea2e Revert +hub flag, but disable magithub by default
Must be enabled on a per-project basis. You can change this behavior by
setting +magit-hub-enabled-by-default to non-nil (before magit is
loaded).

Magithub has been made opt-in because:

1. Magithub is imposing, asking the user for a token, especially for
   users who don't use github (much or at all), but may occasionally
   have a project with a github remote.
2. magithub is really slow on first load for medium-to-large repos.
3. It's really easy to enable it through the magithub popup (H C e).
   magithub.enabled is saved into the project's .git/config file, so the
   setting will persist.

Also added a docstring to +magit-hub-features
2018-06-01 11:13:37 +02:00
dff6e44635 tools/magit: gate evil-magit behind evil +everywhere flag 2018-05-31 21:31:29 +02:00
1a28a0c088 tools/magit: gate magithub behind +hub flag
Use +magit-hub-features to customize which features to load. Set it to
`t` to load all features.
2018-05-31 21:30:41 +02:00
3a16b70022 Add +magit/clone command & bind to SPC g C #633
magithub-clone doesn't support full urls, magit-clone doesn't support
user/repo notation. +magit/clone supports both.
2018-05-31 13:59:21 +02:00
5f3cbeadd0 Fix magithub not loading after magit
I'd have to run a magithub command to get everything to pop up like pull
requests and what not. I think this was an oversight -- just removing
this will still lazyload it, but instead when magit runs!
2018-05-31 11:25:33 +10:00
404f9db748 tools/ein: minor refactor 2018-05-30 19:17:31 +02:00
add020485e tools/ein: fix void-variable ein:jupyter-default-notebook-directory error 2018-05-29 23:09:57 +02:00
11c7a5c1f4 Fix test for tools/password-store 2018-05-29 17:55:34 +02:00
e88f84fd02 Rewrite tools/password-store API 2018-05-29 17:50:55 +02:00
6bb5946765 tools/pdf: rename +pdf-tools-pages segment => +pdf-pages 2018-05-29 15:34:54 +02:00
947fe345c3 Minor, general refactor
In some contexts, map-put is superior to add-to-list.
2018-05-29 15:34:13 +02:00
2ffef6edce Fix void-variable +modeline error from outdated load! call 2018-05-28 12:43:25 +02:00
1a452b6842 💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
e2d055a40b 💥 Move dired, electric-indent, eshell, imenu, term modules to :emacs 2018-05-27 12:52:28 +02:00
6bfac0ada2 tools/eshell: fix split-window behavior not burying eshell
This happens when there is no other buffer to replace it with.
2018-05-26 21:22:40 +02:00
8c053fcfa5 tools/eshell: remove useless remove-hook call
You can't remove a hook function from a global hook list buffer locally.
2018-05-26 21:21:56 +02:00
e70b1af49f Bind RET to +eshell/goto-end-of-prompt from normal mode
This command enters insert state.
2018-05-26 21:09:10 +02:00
c1c3a0987c Better move-to-prompt-on-insert-mode hook for eshell 2018-05-26 21:09:10 +02:00