Commit Graph

4589 Commits

Author SHA1 Message Date
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
e91cb11243 Latex module revamped
Latex language module with previews, latexmk, reftex, bibtex and others.
Completion with company mode.
Selection of bibliography using Ivy or Helm.
Later preview panel or okular as viewers.
LatexMk for compiling code.
Prettified indentation with adaptive-wrap along with good indentation of environments.
Additional fontification of common commands.
2018-01-08 19:18:37 +01: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
4024437cfb lang/latex: don't forcibly hide modeline 2018-01-07 00:35:59 -05:00
a5bb69cf6a Ensure *Messages* and *scratch* have a modeline 2018-01-07 00:35:23 -05:00
7872faad3a feature/popup: don't forcibly hide modeline in org-agenda popups 2018-01-07 00:20:11 -05:00
2d9e63d5bb General & minor refactoring 2018-01-07 00:15:58 -05:00
25619908a2 Narrow down the purpose of init & post-init hooks
Essential hooks should be added to doom-init-hook. Non-essential and
extra hooks should be added to doom-psot-init-hook.
2018-01-07 00:15:58 -05:00
c0680e6fa3 lang/org: refactor load-path mods & don't forget it
Previously, Doom would forget lang/org's modification of the load-path
if you call doom//reload-load-path (which is called when you do package
management with an open Emacs session).

No more!
2018-01-07 00:15:58 -05:00
2734810060 Show error when looking up dependency trees for built-in packages
There's no obvious way to do this, and I don't think it's important
enough to accommodate it.
2018-01-07 00:15:58 -05:00