Commit graph

312 commits

Author SHA1 Message Date
Henrik Lissner
54749d04e6
Have :P modifier throw error when not in a project
If it returns nil, it will throw a stringp error otherwise.
2018-10-19 23:27:58 -04:00
Henrik Lissner
005a07b416
+evil:apply-macro: fix operator & fail gracefully
Formly, this would fail silently. This has been rewritten to let you
know if no macro is available at a register. It will also inform you how
many times the macro was executed.

Also fixes g@ not invoking the operator state.
2018-10-18 19:41:29 -04:00
Henrik Lissner
2ca2050c6d
feature/evil: fix o/O indentation in haskell-mode
Refactors +evil*insert-newline-*-and-respect-comments advice. This also
fixes an issue where o uses haskell's line indenter in haskell-mode,
which is naive. Instead, we use haskell-indentation-newline-and-indent,
which is smarter.

This is a dirty dirty hack. May Nyarlathotep have mercy on our souls.

Reported by @ar1a
2018-10-18 12:17:30 -04:00
Henrik Lissner
09f9e12638
Fix evil-open-above in auto-filled comments
If comment-auto-fill-only-comments is enabled, evil-open-above (O) can
break comments, e.g. in haskell

-- 1 :. 2 :. 3 :. Nil
-- |a
--

Becomes

-- 1 :. 2 :. 3 :. Nil
-- |
--
  a
--

Reported by @ar1a
2018-10-17 22:27:41 -04:00
Henrik Lissner
eb1440caa9
feature/evil: add evil-collection-resclient 2018-10-16 18:27:34 -04:00
Zaiste
b4f0d60894
fix: allow deadgreap folding in normal mode 2018-10-08 18:37:13 +02:00
Henrik Lissner
fe425c005e
Add g-/g= keys for buffer narrowing/widening 2018-10-03 11:14:08 -04:00
Henrik Lissner
d9a179d071
feature/evil: refactor neotree-make-executor fix
The autoload is necessary in case neotree was installed in another
session.
2018-09-26 10:46:43 -04:00
Henrik Lissner
3dbeb4e3a7
Add doctstrings to +evil/fold-* commands 2018-09-23 21:06:45 -04:00
Henrik Lissner
8c4504380f
+evil/fold-toggle: don't hide recursively
Otherwise sub-entries will be folded and remain folded when unfolding
entries.
2018-09-23 21:04:20 -04:00
Henrik Lissner
f8fb321f2c
Remove outline support from +evil/fold-close-all
It is buggy in modes with a poorly written outline-level function (like
elisp).
2018-09-22 10:34:31 -04:00
Henrik Lissner
1b3511890e
feature/evil: fix overzealous folding from :n TAB
Changes +evil/matchit-or-toggle-fold to be less trigger-happy about
toggling folds (it will only open folds not, not toggle them).

Also updates its docstring.
2018-09-20 22:27:15 -04:00
Henrik Lissner
feabbc31da feature/evil: add +evil/fold-{next,previous}
Brings zj/zk to evil
2018-09-20 22:27:01 -04:00
Henrik Lissner
5410f1d575 feature/evil: add arbitrary code folding keybinds 2018-09-20 22:27:01 -04:00
Henrik Lissner
6fce87bd06 feature/evil: refactor folding & outline support
Code folding commands will now obey outline headers (if
outline-minor-mode is on and in outline-mode).
2018-09-20 22:26:36 -04:00
Henrik Lissner
316aa428fb lang/evil: refactor +everywhere
Removed unnecessary blocks and reduced the amount of code to maintain.
2018-09-18 21:39:54 -04:00
Henrik Lissner
1b7ae37447
feature/evil: refactor evil-collection integration
+ Move disabled modules into +evil-collection-disabled-list to make it
  easier to maintain our copy of evil-collection-list
+ Update evil-collection-list to reflect changes upstream
+ Fixes errors wrt missing evil-collection-* modules
2018-09-16 12:58:51 -04:00
Henrik Lissner
03ce3db322
feature/evil: update for evil-collection changes
Now, evil-want-keybindings must be set to nil instead of
evil-want-integration.
2018-09-13 19:15:15 -04:00
Henrik Lissner
bd28eea778
feature/evil: remove <> opener/closers
And remove unnecessary def-package block. These commands are already
autoloaded by the package.
2018-09-09 09:58:21 -04:00
Henrik Lissner
89b83f2457
Enable evil-escape-mode
I know this is redundant with the pre-command-hook hook, but the hook
allows us to lazy load the package, and the mode allows other modes (or
the user) to interactively disable it.

For example, evil-mc disabled it while cursors are active due to
incompatibility. This isn't possible if the mode isn't enabled to begin
with.
2018-09-09 09:58:20 -04:00
Henrik Lissner
18554ca5b5
feature/evil: extract advice functions
Into its own autoloads file, for better organization.
2018-09-09 09:58:20 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Henrik Lissner
c0ff5b030a
feature/evil: fix evil-change recommenting line
Due to a bug crossing over from +evil-want-o/O-continue-comments
functionality. It has also been refactored for performance. This also
fixes an issue where smartparens functions could be called before
smartparens was loaded, making o/O inoperable.
2018-09-09 09:58:19 -04:00
Henrik Lissner
e7d5da2686
feature/evil: detect frame cursor-color #851
In case set-cursor-color was used early in the config process (e.g. in
~/.doom.d/init.el), detect it before resorting to #FFFFFF as a default.
2018-09-03 03:58:44 +02:00
Henrik Lissner
895cf136d5
Ensure evil popup rules are defined later
Otherwise they fall before ui/popup's fallback rules in
display-buffer-alist
2018-08-30 13:29:56 +02:00
Henrik Lissner
068cf5f7d4
Rename +evil|save-buffer to be self-explanitory
+evil|disable-vimlike-save-message
2018-08-30 13:29:56 +02:00
Henrik Lissner
2b560a6a0e
General & minor refactoring 2018-08-28 13:36:44 +02:00
Henrik Lissner
9b84d800f3
Make numbered vim markers global
In evil, registers 2-9 are buffer-local. In vim, they're global. This
fixes that.
2018-08-27 21:25:52 +02:00
Henrik Lissner
3e7f1ccf4f
Fix reference to doom-narrow-buffer
This was renamed to doom/clone-and-narrow-buffer at some point.
2018-08-27 03:25:49 +02:00
Henrik Lissner
b14bf99d4b
Fix over-reindentation when o/O continues comments
This would run indent-according-to-mode after creating a new line, which
would often throw new comment lines out of whack. Now it preserves the
indentation of the originating line.

Also fixes continuation whitespace issues with evil-open-above on
C-style block comments.
2018-08-25 19:45:23 +02:00
Henrik Lissner
e3f412abb7
Add +evil-want-o/O-to-continue-comments
Controls whether o/O continue commented lines. Since this is the default
behavior of vim, it is enabled by default.
2018-08-23 18:42:09 +02:00
Henrik Lissner
5714ff423a
Fix evil jumplist after jumping to ag match
helm-ag would formerly add multiple entries to the jump list. It now
only adds one, and recenters the window when jumping to an ag match.
2018-08-13 21:47:55 +02:00
Henrik Lissner
18925b51db
Update comments in feature/evil/+everywhere 2018-08-11 21:03:15 +02:00
Henrik Lissner
8d26879f99
Add :editor multiple-cursors module
Moves evil-mc/evil-multiedit out of feature/evil.
2018-08-06 00:31:23 +02:00
Henrik Lissner
43dcaa1853
Demote evil-collection errors 2018-07-31 19:35:30 +02:00
Henrik Lissner
e94f1f39f4
Enable evil-collection-(deadgrep|imenu-list) 2018-07-30 12:34:53 +02:00
Henrik Lissner
3db462ba54
Add regexp support to :mc ex command 2018-07-13 23:35:52 +02:00
Henrik Lissner
6e52e2d07c
Refactor +evil:mc
+ Improve error handling when no PATTERN is given (reported by @ar1a)
+ Report correct number of resulting cursors
+ Handle edge case where only one cursor is created
+ Report edge case where no cursors are created
2018-07-13 12:58:58 +02:00
Henrik Lissner
933e52b886
Don't enable evil-visualstar-mode
Redundant with our manual */# keybinds.
2018-07-10 14:21:45 +02:00
Henrik Lissner
93917fd8a2
Fix gsn/gsN & gs*/gs# evil-easymotion binds 2018-07-10 14:21:30 +02:00
Henrik Lissner
db0ad48e4d
Enable evil-collection-elfeed 2018-06-29 14:12:50 +02:00
Henrik Lissner
888bd97093
Fix evil-collection-neotree throwing void-function
Because it is using the neotree-make-executor macro without requiring
`neotree` at compile time.

Also, remove the helm fix because they no longer use the
`with-helm-buffer` macro.
2018-06-28 23:16:23 +02:00
Henrik Lissner
875821a95a
Remove evil-ediff from :feature evil
It's in evi-collection-ediff now.
2018-06-28 23:16:09 +02:00
Henrik Lissner
5a63f9cb30
Fix some evil-collection modules not loading
Because evil-collection-init was enclosed in one list too many.
2018-06-27 19:12:56 +02:00
Henrik Lissner
8b9d4a94bb
Define evil-want-* options as defvars
To make it easier for users to customize.
2018-06-27 03:09:06 +02:00
Henrik Lissner
123df290a6
Rewrite evil +everywhere & evil-collection init
Fixes a couple issues with certain evil-collection modules not loading
and removes some redundant config for 'replace.
2018-06-27 03:05:47 +02:00
Henrik Lissner
69143b20f8
feature/evil: remove macroexpand
Snuck into a commit
2018-06-27 02:57:02 +02:00
Henrik Lissner
fe235c341d
Refactor evil-collection-init code
Make it possible to disable image-mode and elisp-mode evil-collection
modules.
2018-06-26 18:58:07 +02:00
Henrik Lissner
5966e9aa9c
Restore +evil-collection-disabled-list
Without this variable, the user can't easily prevent certain
evil-collection modules from loading without some provide voodoo.
2018-06-26 18:58:06 +02:00
Alois Janíček
778f9dea5c
feature/evil: correct feature reference
Both help-mode and help-mode-map are defined in file help-mode.el
which provides 'help-mode
2018-06-26 13:25:23 +02:00