Commit Graph

4496 Commits

Author SHA1 Message Date
42f4d10d6d Fix doom//reload-autoloads not reloading autoloads file
doom-packages--async-run doesn't return anything. Whoops!
2018-01-08 22:47:38 -05:00
ca3f955a93 completion/ivy: use upstream ivy-rich
My PR was merged upstream.
2018-01-08 20:43:57 -05:00
3dbf994871 lang/org: close agenda buffers after org-agenda
Experimental. Running org-agenda would leave leftover open buffers, this
hook cleans them up.
2018-01-08 20:42:43 -05:00
6853196017 lang/org: general refactor; split init into hooks
lang/org's initialization process is now split up into hooks on
org-load-hook. This approach is cleaner and easier to customize. I also
removed the escape binding in org-agenda-mode-map, as the popup system
makes it redundant.
2018-01-08 20:41:56 -05:00
b57c2e2264 Disarm doom/cleanup-session's oppressive regime
It killed buffers a little too indiscriminantly.
2018-01-08 19:36:02 -05:00
af37d430fb Fix kill-this-buffer's dashboard addiction
Our kill-this-buffer advice, which tries to ensure the user will always
land on a real buffer after killing another, would prematurely jump to
the dashboard even though there were other available, real buffers.

Also fixes an issue where kill-this-buffer would get stuck switching
between the last buffers (because they aren't killed if they're visible
in other windows). If the only buffers left are visible in other
windows, it will now switch to the fallback buffer (dashboard or
scratch).
2018-01-08 19:32:53 -05:00
865fe29a9d completion/ivy: use switch-buffer transformer for projectile 2018-01-08 19:07:23 -05:00
4b4447d31e completion/ivy: dim non-project entries in counsel-recentf
Added +ivy-recentf-transformer to counsel-recentf. Entries that aren't
in the same project as the buffer recentf was opened from will be
slightly dimmed.
2018-01-08 19:05:12 -05:00
1f52669684 completion/ivy: refactor switch-buffer transformer #331
Also switches to my private fork of ivy-rich until the changes are
merged upstream.
2018-01-08 19:04:21 -05:00
3bdf1dd174 feature/popup: by default, don't handle window selection
Plenty of special popups switch to a buffer and simply assume that that
buffer is now focused. So best we don't interfere with that unless we
must.
2018-01-08 17:30:55 -05:00
d443aed25c feature/eval: improve compatibility with feature/popups
This makes quickrun, *doom eval* and *Pp Eval Output* buffers behave
better.

Eval output buffers should a) shrink themselves to the size of their
output (within reason), b) *not* grab focus, and c) be easy to close
from afar with C-g/Escape.

Gotchas:

1. Quickrun gets output asynchronously, so we shrink it on
   quickrun-after-run-hook, not in the popup rule.
2. *doom eval* and *Pp Eval Output* opens with its output ready, so the
   popup system may shrink those to fit.
3. *doom eval* and *Pp Eval Output* handle window selection themselves.
   Let them by setting the select window parameter to #'ignore.
2018-01-08 17:30:54 -05:00
b6bf0d7afd ui/doom-dashboard: major refactor; use initial-buffer-choice
Much of my work getting dashboard to behave across GUI, tty and daemon
Emacs is already done with initial-buffer-choice, so I cut down on my
own code and exploit that instead. Needs more testing.
2018-01-08 17:30:54 -05:00
971e4904fe feature/services: -when-let => when-let* 2018-01-08 15:25:28 -05:00
3beb1f098a completion/ivy: use font-lock-doc-face instead of ivy-remote 2018-01-08 15:02:54 -05:00
7777f9940e Change add-hook! macro to retain hook order
(add-hook! hook '(1 2 3)) should set hook to `(1 2 3 ,@old-hooks).
Before this, they would be pushed sequentially, resulting in hook =
`(3 2 1 ,@old hooks)`
2018-01-08 14:55:58 -05:00
f2e5321ce1 feature/ivy: fix virtual buffers in +ivy/switch-workspace-buffer #331
The former +ivy/switch-workspace-buffer constructed its own collection
of buffers, so ivy-use-virtual-buffers would have no effect on it.  Use
internal-complete-buffer instead and ivy-read will know what to do under
the hood.
2018-01-08 14:43:58 -05:00
1c2683ce9d completion/ivy: add ivy-rich; rewrite custom transformer #331
+ivy-buffer-transformer does *most* of what ivy-rich does, so lets cut down on
our own code, bring in ivy-rich, and add our customizations on top of it.

This fixes ivy-use-virtual-buffers support, too.
2018-01-08 14:41:41 -05:00
35594f0729 lang/org: fix todo(t) capture target (incorrect path) 2018-01-07 22:20:11 -05:00
bf7055a7db feature/popup: make extra sure popups die safely
A buffer can find other, unexpected ways to kill itself, so we set up
a kill-buffer-hook to make sure we're there to catch them. Not all
heroes wear capes.
2018-01-07 22:18:50 -05:00
395af731d9 feature/popup: tweak org rules + add org-capture rule 2018-01-07 22:18:50 -05:00
7ca2e1593e feature/popup: split +popup-p into two functions
Better to be explicit about what we want, especially when using one or
the other with no arguments.
2018-01-07 22:18:50 -05:00
f9ab0cf767 feature/popup: add multi-term, eshell and evil hacks 2018-01-07 22:18:50 -05:00
031e31c03c feature/popup: minor refactor 2018-01-07 18:39:42 -05:00
5a420faa0f feature/popup: tweak popup rules, add +popup-shrink-to-fit
+popup-shrink-to-fit wraps shrink-window-if-larger-than-buffer, and
won't do anything if the buffer is empty.
2018-01-07 18:36:27 -05:00
b11101d9cf feature/popup: add rule for Compilation buffer 2018-01-07 15:26:20 -05:00
742f5b26ed Improve popup compatibility for eshell & multi-term 2018-01-07 15:25:35 -05:00
d675ade45d feature/popup: move hacks to +hacks.el 2018-01-07 15:04:33 -05:00
4bd74d9653 Fix doom-cleanup-hook breaking if hook didn't return an integer 2018-01-07 15:03:45 -05:00
8f9175c25e feature/popup: fix popup window-parameters in Emacs 25.x #261
The window parameters of popup windows weren't being set in Emacs 25.x. Turns
out `display-buffer-alist`'s ALIST argument didn't support the
windows-parameters alist entry until Emacs 26.
2018-01-07 13:12:55 -05:00
750f6ca1f5 private/default: remove popup-buffer bindings
Fixes prefix errors too
2018-01-07 06:48:06 -05:00
e02f01b694 feature/popup: make extra sure escape=>doom/escape in popups #261 2018-01-07 06:47:00 -05:00
5f52e21796 feature/popup: fix incorrect delete-window window parameter #261
A bug that could make popup windows invulnerable to being closed. The
horror!
2018-01-07 06:44:37 -05:00
51084852a6 Revert "feature/popup: use window-toggle-side-window" #298
This reverts commit 29e25f5ea8.

window-toggle-side-window isn't as robust as I had hoped.
2018-01-07 06:25:44 -05:00
8520c12434 which-key: don't replace current popup 2018-01-07 06:19:54 -05:00
c586eee602 ui/doom-modeline: don't forcibly hide modeline in org-src-mode 2018-01-07 05:56:02 -05:00
50abff78c8 Fix doom-hide-modeline-mode not respecting doom--modeline-format
feature/popup is using this mode to give certain windows special
modelines.
2018-01-07 05:56:02 -05:00
5824e6795a 📝 feature/popup: update readme 2018-01-07 05:56:01 -05:00
d2a4408877 feature/popup: add +popup|cleanup-rules hook 2018-01-07 05:56:01 -05:00
a76de01f4f feature/popup: move timer clearing into +popup-buffer-mode 2018-01-07 05:56:01 -05:00
1c6d39db7f feature/popup: ensure popups can get as small as they like
Popups without modelines can take advantage of the extra lines bought
with a smaller window-min-height.
2018-01-07 05:56:01 -05:00
81453de0c4 feature/popup: prompt to save unsaved buffers in popups 2018-01-07 05:56:01 -05:00
dff4b03fff feature/popup: support user-defined delete-window parameter 2018-01-07 05:56:01 -05:00
e481a2891a feature/popup: minor refactor & remove provide 2018-01-07 05:56:01 -05:00
43c48a085f feature/popup: improve org compatibility (fix #330)
This update should fix Org Src buffers, as well as those todo/agenda
commans/links mini popups.
2018-01-07 05:56:01 -05:00
878b5ae4e2 feature/popup: rethink default rules 2018-01-07 05:56:00 -05:00
84cba91e50 feature/popup: remove default slot & window-width
...and fix :popup not mapping the size parameter to the correct
dimension when no side is specified.
2018-01-07 05:56:00 -05:00
25a2973c52 feature/popup: make parameters support functions
Now, the transient, quit, select and modeline parameters now accept
a function FN. See `+popup-window-parameters` for details.

(transient . (FN popup-buffer))
(quit . (FN popup-window))
(select . (FN popup-window))
(modeline . (FN popup-buffer))
2018-01-07 05:35:20 -05:00
60fdbf8643 doom/window-enlargen: use maximize-window instead
Just discovered maximize-window, which I've been doing manually in
doom/window-zoom. Bueno.
2018-01-07 01:58:38 -05:00
29e25f5ea8 feature/popup: use window-toggle-side-window
Neat. `window-toggle-side-window` exists and essentially does what
I wanted +popup/toggle to do.
2018-01-07 01:51:46 -05:00
af58e321dd Remove vestigial comment 2018-01-07 00:36:46 -05:00