Commit Graph

188 Commits

Author SHA1 Message Date
d8b1e469bc Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
f22eeff763 Add treemacs-mode to evil-escape-excluded-major-modes
Fixes an unresponsive "j" key in treemacs-mode.
2018-06-07 02:51:46 +02:00
69a796ff60 Don't invoke doom/escape too eagerly from evil
This fixes an issue where certain evil plugins would call
evil-force-normal-state non-interactively, causing `doom-escape-hook` to
wreck havoc. Instead, this should only happen when
evil-force-normal-state is called interactively (e.g. via ESC in normal
mode).

Fixes evil-mc-make-cursor-move-next-line and
evil-mc-make-cursor-move-prev-line.
2018-06-07 02:51:45 +02:00
c9a3c9e615 Disable evil-collection-minibuffer 2018-06-05 13:23:46 +02:00
d5934ec8f7 feature/evil: update evil-shift-width manually (experimental) 2018-06-05 13:23:37 +02:00
48fdc8a5b5 feature/evil: fix missing keymap in key def 2018-06-03 18:11:49 +02:00
1e81a35461 Minimize dependence on map!
This is in preparation for general.el integration coming in 2.1.1. It is
very likely that map! will change (and even more, be split into several
macros). Not much, but change none-the-less. Specifically, the state
keywords (e.g. :nvi, :n, :i) will be removed in favor of a :state
property that takes a list, e.g. (normal visual insert).

In any case, both map! and general are also relatively expensive
compared to define-key and evil-define-key* (and the new define-key!
macro), so use that when we can.

This also means changes to either API won't affect Doom's modules in the
long term.
2018-06-03 15:46:00 +02:00
43152d774f Fix commented out :config causing errors
Semicolons, what have you done?
2018-06-01 16:32:38 +02:00
553867bf61 Remove evil-collection-helm hack (it's disabled) 2018-06-01 16:20:11 +02:00
dc2dad0af3 Disable evil-collection-ruby-mode
May indirectly fix broken :localleader keybinds on ruby-mode-map
2018-06-01 16:19:49 +02:00
002f514b22 Minor refactor of evil-mc->smartparens integration 2018-06-01 13:40:48 +02:00
3c967cf3a3 Resume evil-mc upon switching to insert mode #618
I believe this is intuitive, but I've designed it to be easily disabled
with:

  (remove-hook 'evil-insert-state-entry-hook #'+evil-mc|resume-cursors)
2018-06-01 13:40:47 +02:00
9b3decaaa1 Merge evil-collection-helm into completion/helm 2018-05-31 13:59:21 +02:00
601c9a654e Merge evil-collection-dired into emacs/dired 2018-05-31 13:59:21 +02:00
183ccbb8f1 Merge evil-collection-ivy into completion/ivy
Disables evil-collection-ivy. Another step toward the removal of
evil-collection from Doom.
2018-05-31 13:59:21 +02:00
1f5dae9176 Merge evil-collection-anaconda into lang/python #628
This is the first step of removing evil-collection from Doom.
2018-05-31 13:59:21 +02:00
b4ebb2abca feature/evil: remove ; evil-snipe alias 2018-05-30 01:38:36 +02:00
7a61615666 Disable evil-snipe in Info-mode 2018-05-29 15:47:17 +02:00
05c8daf24a Support non-symbol entries in +evil-collection-disabled-list 2018-05-29 15:35:20 +02:00
947fe345c3 Minor, general refactor
In some contexts, map-put is superior to add-to-list.
2018-05-29 15:34:13 +02:00
28c13c230f Temporary fix for with-helm-buffer error caused by evil-collection-helm 2018-05-29 02:09:35 +02:00
a018bc75f6 feature/evil: add +evil-collection-disabled-list
Use this list to disable certain features of evil-collection. It should
be set before evil-collection is loaded (which shouldn't be until after
doom has fully loaded).
2018-05-29 02:08:34 +02:00
edc09ecab8 Make evil-mc cooperate with smartparens better 2018-05-28 17:33:52 +02:00
3b85720c9c Fix incorrect uses of add-to-list 2018-05-28 12:26:03 +02:00
e5efd3b673 feature/evil: don't change save behavior in noninteractive emacs 2018-05-27 12:52:28 +02:00
bdee28609a New emacs/ediff module
Ediff config was moved out of core. Also includes evil compatibility
(mvoed out of feature/evil) & wconf save/restore.
2018-05-27 12:52:28 +02:00
0c0276378f feature/evil: add evil-ediff 2018-05-27 11:41:16 +02:00
f9bcd2aff3 feature/evil: don't revert to initial state on window switch
The issue this "fixes" wasn't really an issue to begin with.
2018-05-26 21:09:10 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
f058505306 New bin/doom (eventual replacement for make)
This commit adds bin/doom, which acts as the middle man that make once
was (and will stay for a while, though the documentation will shift away
from using it). It does everything the previous make interface did, but
is faster and more flexible. bin/doom should eventually replace the
makefile.

bin/doom also makes it easier to run Doom outside of ~/.emacs.d and
~/.doom.d with, for example:

  bin/doom run -p ~/.other.doom.d/ -e ~/.other.emacs.d

bin/doom.cmd is included for Windows users, but I don't recommend using
it yet. It hasn't been tested nor have I ever written a batch script
before.

Also update init.example.el with new defaults.
2018-05-21 01:38:17 +02:00
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
fa6a99f963 feature/evil: fix */# keybinds entering operator mode 2018-05-17 00:54:29 +02:00
94f9e43f25 Rewrite :defer semantics
:defer now supports a hook, a cons cell with (SYMBOL . INTEGER) where
SYMBOL is a hook and INTEGER is a number of idle seconds before the
package is autoloaded, or just the integer (as per the default behavior
of :defer).

Also fixes an issue where switch-buffer-deffered packages (like
smartparens) wouldn't load.
2018-05-15 10:54:45 +02:00
bb88411cc9 General minor refactor & docstring fixes 2018-05-14 20:55:55 +02:00
67dab98859 Improve idempotency of Doom config (in case of reloading) 2018-05-14 20:54:58 +02:00
a631c10d05 Exploit new :defer input|buffer across various modules 2018-05-14 20:45:47 +02:00
587d69dda0 feature/evil: inline inlined function 2018-05-14 13:05:03 +02:00
f943e3442c feature/evil: comment fix #519 2018-05-07 21:57:00 +02:00
1fc15e41c5 feature/evil: minor reformatting 2018-05-05 07:49:20 +02:00
f319034c5a feature/evil: refactor multiple-cursors compat config 2018-05-04 15:12:45 +02:00
27153d128c feature/evil: remove evil-snipe-disabled-modes
These have been set upstream.
2018-05-04 15:12:45 +02:00
c05b16ee6f Minor refactor/reformatting 2018-05-03 18:03:13 +02:00
26eb33e36e feature/evil: fix :vs/:sp not focusing split w/ a file argument #552 2018-04-26 22:27:08 -04:00
b8fd35a855 feature/evil: fix inclusivity of evil-matchit #519 2018-04-18 01:08:56 -04:00
2ce6549e98 feature/evil: disable evil-collection-simple keybinds #506 2018-04-04 07:00:36 -04:00
48ae8e2aff feature/evil: add mu4e modes to evil-snipe-disabled-modes 2018-04-03 22:37:12 -04:00
56dcc42440 feature/evil: fix nil evil-want-integration when +everywhere isn't used 2018-03-28 04:14:00 -04:00
8a74a081c4 Remove doom-mode-map; semi-revert abe42fcb 2018-03-27 03:49:45 -04:00
653caf4e73 feature/evil: remove ] and [ evil-snipe aliases #478 2018-03-24 17:52:44 -04:00
87f18bb906 feature/evil: doom-init-theme-hook => doom-load-theme-hook 2018-03-22 19:29:07 -04:00