Commit graph

218 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
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
Aria Edmonds
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
Henrik Lissner
5c5b4931cf
Autoload the +macos!open-width macro 2018-06-04 21:17:49 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
d20ffca78d
tools/magit: minor refactor/reformatting 2018-06-02 10:56:04 +02:00
Henrik Lissner
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
Henrik Lissner
1ffdf616e8
Hide mode-line in magit windows (experimental) 2018-06-02 10:54:12 +02:00
Henrik Lissner
6d218fc5a0
Consider magit buffers real
So they can be switched to if buried
2018-06-02 10:53:51 +02:00
Henrik Lissner
c5df4e7d2f
tools/magit: remove +hub check around magithub package 2018-06-01 13:40:48 +02:00
Henrik Lissner
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
Henrik Lissner
dff6e44635
tools/magit: gate evil-magit behind evil +everywhere flag 2018-05-31 21:31:29 +02:00
Henrik Lissner
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
Henrik Lissner
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
Aria
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
Henrik Lissner
404f9db748
tools/ein: minor refactor 2018-05-30 19:17:31 +02:00
Henrik Lissner
add020485e
tools/ein: fix void-variable ein:jupyter-default-notebook-directory error 2018-05-29 23:09:57 +02:00
Henrik Lissner
11c7a5c1f4
Fix test for tools/password-store 2018-05-29 17:55:34 +02:00
Henrik Lissner
e88f84fd02 Rewrite tools/password-store API 2018-05-29 17:50:55 +02:00
Henrik Lissner
6bb5946765
tools/pdf: rename +pdf-tools-pages segment => +pdf-pages 2018-05-29 15:34:54 +02:00
Henrik Lissner
947fe345c3
Minor, general refactor
In some contexts, map-put is superior to add-to-list.
2018-05-29 15:34:13 +02:00
Henrik Lissner
2ffef6edce
Fix void-variable +modeline error from outdated load! call 2018-05-28 12:43:25 +02:00
Henrik Lissner
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
Henrik Lissner
e2d055a40b
💥 Move dired, electric-indent, eshell, imenu, term modules to :emacs 2018-05-27 12:52:28 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
c1c3a0987c
Better move-to-prompt-on-insert-mode hook for eshell 2018-05-26 21:09:10 +02:00
Henrik Lissner
177bf2a9de
Fix evil change/delete operators in eshell buffers
evil-{change,delete}{,-line} now jump to the prompt before trying to
modify the buffer.
2018-05-26 21:09:10 +02:00
Henrik Lissner
6e82e6fa19
tools/term: fix void-function error due to misplaced reference to +eshell-p 2018-05-25 01:59:15 +02:00
Henrik Lissner
0348686cce
tools/eshell: change split behavior to open non-eshell window 2018-05-25 01:00:04 +02:00
Henrik Lissner
cce30367bb
tools/eshell: fix naive path concatenation for eshell-directory-name 2018-05-25 00:58:09 +02:00
Henrik Lissner
cf3c0d808d
tools/tmux: minor refactor of +tmux/rerun 2018-05-25 00:53:46 +02:00
Henrik Lissner
be9a06b126
tools/magit: add magit-gitflow 2018-05-25 00:53:04 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
0b48575c14
Remove def-hydra! macro alias
Causes byte-compilation issues and the alias is unnecessary.
2018-05-24 22:03:19 +02:00
Henrik Lissner
3d0745c3ec
Add automatic indentation-detection (experimental)
Editorconfig is given precedence. If it successfully sets an
indent_style or indent_size for the current buffer, automatic
indentation detection will be disabled.
2018-05-18 01:28:41 +02:00
Henrik Lissner
b1dce548ad
tools/eshell: consider eshell buffers real 2018-05-18 01:26:41 +02:00
Henrik Lissner
8807471846
tools/eshell: fix parameters being set on the wrong window
This would cause find-file commands to ignore certain windows, as well
as eshell buffers closing the incorrect window when they are quit.

Addresses #593
2018-05-18 01:26:41 +02:00
Henrik Lissner
45c21a5a83
Move :feature services => :tools prodigy 2018-05-16 22:41:21 +02:00
Henrik Lissner
0fe551983e
Merge pull request #577 from ppwwyyxx/patch-3
Update imenu/config.el
2018-05-15 12:05:49 +02:00
Henrik Lissner
5ab790c07d
tools/eshell: default to ~/.doom.d/eshell or ~/.eshell 2018-05-15 01:57:40 +02:00
Henrik Lissner
ba2fb4a82d
tools/eshell: remove custom aliases
That belongs in my private module
2018-05-15 01:33:22 +02:00
Henrik Lissner
a3800f3949
tools/eshell: set eshell-directory-name if ~/.doom.d/eshell exists 2018-05-15 01:33:07 +02:00
Henrik Lissner
84fc356e40
tools/eshell: dedicate eshell windows
Disallow commands to change their buffer non-interactively.
2018-05-15 01:32:08 +02:00
Henrik Lissner
abb4d5a009
Move :tools impatient-mode to new :collab category 2018-05-14 21:23:48 +02:00
Henrik Lissner
42e44a6cc9
tools/eshell: autoload custom faces & add :group 2018-05-14 13:05:03 +02:00
Henrik Lissner
99eef125b0
Move :tools neotree => :ui neotree 2018-05-14 13:05:03 +02:00
Yuxin Wu
d31fcb2131
Update config.el 2018-05-13 23:03:17 -07:00