Defines a new minor-mode `+word-wrap-mode` which configures
adaptive-wrap-prefix-mode and visual-line-mode for smart soft-wrapping
of code.
Evil users can toggle it with `SPC t w`.
Enable globally with `+global-word-wrap-mode`.
See the README for more details!
Instead of relying on the optional ":ui workspaces" feature, the
built-in evil-window-delete is used. ":ui workspaces" remaps the
evil-window-delete already, so no functionality is lost for users of
that feature.
Fixes https://github.com/hlissner/doom-emacs/issues/1640.
This commit does two things:
- Renames def-advice! to defadvice!, in the spirit of naming convenience
macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
intent. A public advice function like doom-set-jump-a is meant to be
used elsewhere. A private one like +dired--cleanup-header-line-a
shouldn't -- it likely won't work anywhere but the function(s) it was
made to advise.
- Introduces the +snippets/new (SPC s n) command for creating a new
private snippet
- Introduces the +snippets/new-lias (SPC s N) command for creating a new
private snippet alias, which will invoke another snippet (you will be
prompted to select one). This will only work with the emacs-snippets
library bundled with Doom Emacs, however, as it depends on its API.
- Introduces +snippets/edit (SPC s c) for modifying existing snippets.
How this differs from yas-visit-snippet-file is it will copy the
contents of built-in snippets into a buffer primed for your private
snippets (in DOOMDIR/snippets), while yas-visit-snippet-file will
simply open the originating snippet.
- Introduces the +snippets/find (SPC s ?),
+snippets/find-for-current-mode (SPC s /) and
+snippets/find-private (SPC s f) commands for, respectively, finding a
snippet file among *all* directories in yas-snippet-dirs, finding a
snippet for the current major mode (plus parents), and finding a
snippet from among your private library. This opens built-in snippets
in read-only mode, but you can press C-c C-e to open it in
+snippets/edit.
The former searches the current window/buffer, the latter searches all
windows in the frame.
Removes g s ? (deemed not as useful as avy-goto-char-timer)
They are:
]m, [m
Jump to next/previous beginning of method/function.
]M, [M
Jump to next/previous end of method/function
]#, [#
Jump to next/previous preprocessor directive (only supports C-style
directives for now)
]*, [* (or ]\, [\)
Jump to next/previous comment
Adds these keys, inspired by tpope/vim-unimpaired:
[ SPC, ] SPC (or [o, ]o)
Add COUNT blank lines above/below the cursor
[f, ]f
Visit previous/next file in current folder, alphabetically
[u, ]u
Url encode/decode operators
[y, ]y
C-string-style escaping/unescaping operators (escapes quotes,
backslashes and control characters)
[x, ]x
XML entity encoding/decoding operators (only if :lang web is enabled)
[F, ]F
Focus previous/next frame (decided this is better than ]t/[t which is
being used by hl-todo-{next,previous})
We already had gp and ]b/[b (buffers).
We're not going to port ]e/[e because it is redundant with ddp/ddP or gx
(evil-exchange). I also think these keybinds are better suited to
{next,previous}-error.
The semantics of SPC o t and SPC o T (or SPC o e and SPC o E in eshell's
case) have been reversed.
The lowercase keybind toggles the popup (and the prefix arg forciby
recreates the popup), and the uppercase keybind switches to that
terminal in the current buffer (whose prefix arg will open the terminal
in default-directory, rather than the project root).
- +{term,vterm,eshell}/open have been replaced with +X/here commands and
are bound to SPC o T (and SPC o E in eshell's case).
- +{term,vterm,eshell}/popup* have been replaced with +x/toggle commands
and are bound to SPC o t (and SPC o e in eshell's case).
The "toggle" behavior will do as the name implies, except will select
the popup if it is visible but unfocused.