Commit Graph

116 Commits

Author SHA1 Message Date
Henrik Lissner
4a5cf04761 General refactors & appease byte-compiler 2020-02-02 02:05:20 -05:00
Henrik Lissner
c733a6aa27 evil-respect-visual-line-mode = nil
Since this is vim's default behavior (gj and gk exist for navigating
virtual lines). Also the cause of #2447
2020-01-31 16:21:23 -05:00
Henrik Lissner
fe0c5e135d Fix #2293: easymotion with evil operators
Reverts fix for #1672, but provides a workaround:

  (map! :n "gl" (λ! (+evil/easymotion 'normal 'global)))
2020-01-28 17:50:11 -05:00
Henrik Lissner
c7ab4fafc6 Fix void-variable char error in evil-global-marker-p advice 2020-01-28 16:52:44 -05:00
Henrik Lissner
f9dda32584 Remove evil-delete-backward-char-and-join hack
The breaking change was reverted upstream: emacs-evil/evil@30b77c9
2020-01-28 16:52:44 -05:00
Henrik Lissner
32cedd96f9 Revert 310e657 & bump evil
Thanks to emacs-evil/evil#1255
2020-01-26 05:16:49 -05:00
Henrik Lissner
f39aae4d67 Fix column-wise edits affecting empty lines
The docstring for evil-insert-skip-empty-lines is misleading.
2020-01-24 18:33:14 -05:00
Henrik Lissner
f1ab3e5cab Remove redundant evil settings
These are already the default.
2020-01-24 18:33:04 -05:00
Henrik Lissner
52b69ec7eb Fix #2308: DEL not deleting closing sp pairs 2020-01-11 17:07:51 -05:00
Henrik Lissner
310e6573b9 evil-ex-interactive-search-highlight = 'all-windows
Temporary fix until emacs-evil/evil#1233 is resolved.
2020-01-06 22:55:09 -05:00
Henrik Lissner
c6ebf4b4be Fix embrace/evil-surround rules for angular brackets
This fixes surround keys for <>'s in languages that support
type<syntax>, like rust, c++, c#, etc.
2020-01-06 22:46:05 -05:00
Henrik Lissner
7150631f66 Fix evil-delete-backward-and-join
A change upstream causes backspace in evil-buffers to ignore:

1. smartparens pair rules (#2308)
2. delete-selection-mode
3. +default--delete-backward-char-a advice on
   delete-char-backward (which deletes closing pairs, deletes continuous
   whitespace in tab-width steps, and closes braces across blank lines)

Caused by emacs-evil/evil@1d6ba80
2020-01-06 15:22:03 -05:00
Henrik Lissner
40a35392d1 Make evil backspace/DEL respect delete-selection-mode
Perhaps this should be fixed upstream?
2020-01-05 19:15:08 -05:00
Brett Lyons
7a2f4bddea flyspell-correct-word-generic -> flyspell-correct-at-point
New release of flyspell-correct yesterday, removed the word-generic aliases.
(Also in tools/flyspell/config.el)
2019-12-30 15:00:33 -07:00
Henrik Lissner
dcb0b6042e Ensure evil-easymotion is lazy-loaded
The evilem-create calls were pulling it in early, at startup.
2019-12-27 01:54:01 -05:00
Henrik Lissner
d0188b827a editor/evil: set evil-respect-visual-line-mode sooner
So users are able to change it in time in their init.el
2019-12-22 12:26:50 -05:00
Henrik Lissner
b53703d527 General comment revision & reformatting 2019-12-21 15:01:05 -05:00
Henrik Lissner
baae6b1711 Rename +evil/paste-preserve-register => +evil/alt-paste
Now does the invers of evil-kill-on-visual-paste
2019-12-21 03:59:46 -05:00
Henrik Lissner
8562fc0aa3 editor/evil: use <easymotion> event for custom keybinds 2019-12-21 03:51:53 -05:00
Henrik Lissner
bbd02c8fca evil-want-C-w-delete = t & remove C-b/C-f keybinds
M-b and M-f already exist for moving by word, so I'll leave C-b and C-f
to their defaults.
2019-12-21 03:44:44 -05:00
Henrik Lissner
c1879945fd Replace doom/backward-kill-to-bol-and-indent
WIth new evil-delete-back-to-indentation, with behaves exactly as C-u
does in vim.
2019-12-21 03:30:44 -05:00
Henrik Lissner
ebf3739cf1 Speed up evil-ex search in magit or long/large buffers 2019-12-20 14:04:15 -05:00
Henrik Lissner
287ea46133 evil-ex-interactive-search-highlight = 'selected-window 2019-12-15 23:52:17 -05:00
Henrik Lissner
04f95c65e7 editor/evil: evil-respect-visual-line-mode = t
evil 0 motion was fixed in
emacs-evil/evil#12bee185bb7b1a6012e2ae424f60055ad9eedf56
2019-12-09 18:33:26 -05:00
Henrik Lissner
bf0efe81ae editor/evil: add :l[ine]diff ex command
Relevant to #2126
2019-12-01 15:41:14 -05:00
Rudi Grinberg
e16d6a8d7c Add evil-quick-diff
This introduces the `g o d` text object for comparing regions. It works
like evil-exchange. Select two regions in sequence with `g o d` and an
ediff buffer of the selections will pop up.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2019-12-01 15:44:16 +07:00
Henrik Lissner
439fac65d7 editor/evil: evil-respect-visual-line-mode = nil
To match vim's behavior.
2019-11-25 20:43:48 -05:00
Henrik Lissner
26c8f5c6ef Bytecompiler bytecompiler, won't you shut up 2019-11-23 01:21:25 -05:00
Henrik Lissner
ad2b905330 editor/evil: fix gr/gR in notmuch & elfeed 2019-11-15 22:17:30 -05:00
Henrik Lissner
5498b17de2 Bind 'gr' to revert-buffer in dired-mode 2019-11-12 16:24:51 -05:00
Henrik Lissner
9113eab65a No-op set-repeater! later if +evil-repeat-keys is nil 2019-11-05 14:55:53 -05:00
Henrik Lissner
8b5714bdfa editor/evil: bind zn in visual mode too 2019-11-04 12:49:48 -05:00
Henrik Lissner
baac5dfee1 editor/evil: conform functions to naming conventions 2019-11-02 01:40:45 -04:00
Henrik Lissner
1c4a170614 Reformat vim-unimpaired-esque keybinds 2019-10-30 22:26:12 -04:00
Henrik Lissner
5f6d9eadb3 Bind '{[,]} c' to jump between comments
I know {[,]} * and {[,]} \\ are the unimpaired keys for this, but
putting it on 'c' makes much more sense and is easier to hit.
2019-10-30 22:23:28 -04:00
Henrik Lissner
496a4b1b5f editor/evil: alphabetize text object keybinds 2019-10-29 18:20:35 -04:00
Henrik Lissner
43030c789e editor/evil: revert focus-on-split behavior (and refactor advice)
Focus-on-split is being disabled to achieve vim parity. The advice is
still necessary to ensure splitting updates the window buffer list, so
operations like winner-undo undoes correctly.
2019-10-29 01:09:14 -04:00
Henrik Lissner
6982281404 Fix mouse-1 on buttons initiating a selection 2019-10-28 23:23:13 -04:00
Henrik Lissner
f18caa1518 evil-{,v}split-window-{below,right} = t
To match vim's behavior, when splitting windows. The
+evil-window-split-a and +evil-window-vsplit-a advice are still
necessary to preserve proper "window focus" order.
2019-10-28 23:23:13 -04:00
Henrik Lissner
3c6f48f9ec Move evil & corrective keybinds to respective modules
Keybinds that correct behavior or provide or extend vim functionality
were moved to their respective modules, or to the :editor evil module.

Keybinds in the global space, that are particularly opinionated but
potentially harmful or imposing as a default, or likely for users to
change (like leader keys), are kept in config/default.
2019-10-26 23:44:28 -04:00
Henrik Lissner
d87310bd55 Replace evil-commentary with evil-nerd-commenter
The latter provides a comment text object and better commenting support
across various languages.
2019-10-10 16:11:42 -04:00
Henrik Lissner
f93d3ca596 editor/evil: evil-escape-delay = 0.15 2019-09-20 23:55:25 -04:00
Henrik Lissner
887bc05478 Ensure evil-escape loads later at startup
evil-normal-state-exit-hook is fired prematurely at startup, which makes
it a poor candidate for :after-call deferral.
2019-09-09 23:04:07 -04:00
Henrik Lissner
7138d47ef4 Disable evil-want-abbrev-expand-on-insert-exit
It may be a vim default, but why would anyone want this?
2019-08-19 12:48:36 -04:00
Henrik Lissner
c8baa2b3f6 editor/evil: refactor ex commands; add evil-traces
This commit lazy loads Doom's custom ex commands. To add your own,
you'll need to wrap them in (after! evil-ex ...).
2019-08-15 14:58:41 -04:00
Henrik Lissner
09d13fd60d Use add-hook! for inline hook defuns 2019-07-27 02:46:49 +02:00
Henrik Lissner
76cacb5bfe 💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
060ede0e2e General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
Henrik Lissner
fdcb259bcd Major refactor of Doom core files
- Remove core-os and move many of its settings out to other core
  libraries, where they belong
- Significantly improve commenting & compartmentalization of many
  settings
- Correct some mis-named public hooks (that were named as if they were
  private)
- Move the vast majority of optimizations to "Optimizations" section in
  core.el
- Don't activate xclip-mode or osx-clipboard-mode if we're accessing
  Emacs through an SSH connection (does more bad than good there)
- Add fast-but-imprecise-scrolling = t
- Set bidi-display-reordering = 'left-to-right, at the recommendation of
  an Emacs dev. Apparently setting it to nil is undefined, as Emacs is
  designed to always assume it's set; setting it explicitly to
  left-to-right will still do what was originally intended by turning it
  off: to reduce line/text scans for bidirectional text, which gives us
  a moderate boost in general runtime snappiness
- Set inhibit-compacting-fon-caches = t on windows (where it struggles
  especially with icon fonts)
- Disables "literal" mode for very large files (because I will be
  backporting so-long.el from Emacs 27 in the next commit)
2019-07-22 02:30:38 +02:00
Henrik Lissner
149b2617b0 💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00