Commit Graph

4687 Commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
971e4904fe
feature/services: -when-let => when-let* 2018-01-08 15:25:28 -05:00
Henrik Lissner
3beb1f098a
completion/ivy: use font-lock-doc-face instead of ivy-remote 2018-01-08 15:02:54 -05:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Undead Kernel
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
Henrik Lissner
35594f0729
lang/org: fix todo(t) capture target (incorrect path) 2018-01-07 22:20:11 -05:00
Henrik Lissner
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
Henrik Lissner
395af731d9
feature/popup: tweak org rules + add org-capture rule 2018-01-07 22:18:50 -05:00
Henrik Lissner
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
Henrik Lissner
f9ab0cf767
feature/popup: add multi-term, eshell and evil hacks 2018-01-07 22:18:50 -05:00
Henrik Lissner
031e31c03c
feature/popup: minor refactor 2018-01-07 18:39:42 -05:00
Henrik Lissner
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
Henrik Lissner
b11101d9cf
feature/popup: add rule for Compilation buffer 2018-01-07 15:26:20 -05:00
Henrik Lissner
742f5b26ed
Improve popup compatibility for eshell & multi-term 2018-01-07 15:25:35 -05:00
Henrik Lissner
d675ade45d
feature/popup: move hacks to +hacks.el 2018-01-07 15:04:33 -05:00
Henrik Lissner
4bd74d9653
Fix doom-cleanup-hook breaking if hook didn't return an integer 2018-01-07 15:03:45 -05:00
Henrik Lissner
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
Henrik Lissner
750f6ca1f5
private/default: remove popup-buffer bindings
Fixes prefix errors too
2018-01-07 06:48:06 -05:00
Henrik Lissner
e02f01b694
feature/popup: make extra sure escape=>doom/escape in popups #261 2018-01-07 06:47:00 -05:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
8520c12434
which-key: don't replace current popup 2018-01-07 06:19:54 -05:00
Henrik Lissner
c586eee602
ui/doom-modeline: don't forcibly hide modeline in org-src-mode 2018-01-07 05:56:02 -05:00
Henrik Lissner
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
Henrik Lissner
5824e6795a
📝 feature/popup: update readme 2018-01-07 05:56:01 -05:00
Henrik Lissner
d2a4408877
feature/popup: add +popup|cleanup-rules hook 2018-01-07 05:56:01 -05:00
Henrik Lissner
a76de01f4f
feature/popup: move timer clearing into +popup-buffer-mode 2018-01-07 05:56:01 -05:00
Henrik Lissner
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
Henrik Lissner
81453de0c4
feature/popup: prompt to save unsaved buffers in popups 2018-01-07 05:56:01 -05:00
Henrik Lissner
dff4b03fff
feature/popup: support user-defined delete-window parameter 2018-01-07 05:56:01 -05:00
Henrik Lissner
e481a2891a
feature/popup: minor refactor & remove provide 2018-01-07 05:56:01 -05:00
Henrik Lissner
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
Henrik Lissner
878b5ae4e2
feature/popup: rethink default rules 2018-01-07 05:56:00 -05:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
af58e321dd
Remove vestigial comment 2018-01-07 00:36:46 -05:00
Henrik Lissner
4024437cfb
lang/latex: don't forcibly hide modeline 2018-01-07 00:35:59 -05:00
Henrik Lissner
a5bb69cf6a
Ensure *Messages* and *scratch* have a modeline 2018-01-07 00:35:23 -05:00
Henrik Lissner
7872faad3a
feature/popup: don't forcibly hide modeline in org-agenda popups 2018-01-07 00:20:11 -05:00
Henrik Lissner
2d9e63d5bb
General & minor refactoring 2018-01-07 00:15:58 -05:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
392f04446f
General refactor (use map.el more)
+ map-delete is shorter and faster than assq-delete-all
+ map-put is simpler than the delete-then-set workflow
+ map-merge is great for merging default and user settings
2018-01-07 00:15:58 -05:00
Henrik Lissner
2eeb6ce0d9
📝 Write feature/popup's readme 2018-01-07 00:15:57 -05:00