Commit graph

55 commits

Author SHA1 Message Date
Henrik Lissner
151b67baf2
bump: :editor evil
TheBB/evil-indent-plus@b4dacbfdb5 -> TheBB/evil-indent-plus@f392696e48
emacs-evil/evil-collection@8be4b75c86 -> emacs-evil/evil-collection@8c84f9bc89
emacs-evil/evil-surround@8fad8540c4 -> emacs-evil/evil-surround@c7116cdc77
emacs-evil/evil@5fc16776c5 -> emacs-evil/evil@5995f6f21f
2024-02-04 19:17:18 -05:00
Henrik Lissner
b1d8d1cd9f
nit: reformatting, comment, and markup revision 2023-12-02 11:34:10 -05:00
Henrik Lissner
96aed4bf35
perf(evil): defer evil-collection-tab-bar
It gets pulled in early and unavoidably, slowing down startup.
2023-09-20 21:01:05 +02:00
Henrik Lissner
bef076b655
bump: :editor evil
emacs-evil/evil@9eb69b7f5b -> emacs-evil/evil@5fc16776c5
emacs-evil/evil-collection@1ad283f5b7 -> emacs-evil/evil-collection@8be4b75c86

- Fixes breaking change due to emacs-mirror/emacs@802a54ad62 (see
  #7397).

Ref: debbugs.gnu.org/cgi/bugreport.cgi?bug=62248
Close: #7397
Co-authored-by: prashantvithani <prashantvithani@users.noreply.github.com>
2023-09-09 23:59:22 +02:00
Henrik Lissner
fe2cb5e705
fix(evil): premature "too early" warnings
A warning gets logged if a lazily-loaded evil-collection package is
loaded too early at startup, but the goal posts were in the wrong place,
resulting in unavoidable warnings for packages that weren't actually
loaded too early.
2023-02-25 20:47:28 -05:00
Henrik Lissner
bd5d43df95
bump: :editor evil
emacs-evil/evil-collection@665d5c99e2 -> emacs-evil/evil-collection@aaf3e0038e
emacs-evil/evil-surround@c9e1449bf3 -> emacs-evil/evil-surround@f273821f57
emacs-evil/evil@26ec0cda1b -> emacs-evil/evil@2ce03d412c
redguardtoo/evil-nerd-commenter@b1a92221c9 -> redguardtoo/evil-nerd-commenter@8c0f23d46a
2023-02-18 15:27:49 -05:00
Henrik Lissner
f9201eb218
refactor: introduce doom-context
Introduces a system to announce what execution contexts are active, so I
can react appropriately, emit more helpful logs/warnings in the case of
issues, and throw more meaningful errors.

* bin/doom: load module CLIs in the 'modules' context.
* lisp/cli/doctor.el: load package files in 'packages' context.
* lisp/doom-cli.el:
  - (doom-before-init-hook, doom-after-init-hook): trigger hooks at the
    correct time. This may increase startup load time, as the benchmark
    now times more of the startup process.
  - (doom-cli-execute, doom-cli-context-execute,
    doom-cli-context-restore, doom-cli-context-parse,
    doom-cli--output-benchmark-h, doom-cli-call, doom-cli--restart,
    doom-cli-load, run!): remove redundant context prefix in debug logs,
    it's now redundant with doom-context, which doom-log now prefixes
    them with.
* lisp/doom-lib.el (doom-log): prefix doom-context to doom-log output,
  unless it starts with :.
* lisp/doom-packages.el (package!, doom-packages--read): throw error if
  not used in a packages.el file or in the context of our package
  manager.
* lisp/doom-profiles.el (doom-profile--generate-init-vars,
  doom-profile--generate-load-modules): use modules doom-context instead
  of doom-init-time to detect startup.
* lisp/doom-start.el (doom-load-packages-incrementally-h): move function
  closer to end of doom-after-init-hook.
* lisp/doom.el:
  - (doom-before-init-hook, doom--set-initial-values-h,
    doom--begin-init-h): rename doom--set-initial-values-h to
    doom--begin-init-h and ensure it runs as late in
    doom-before-init-hook as possible, as that is the point where Doom's
    "initialization" formally begins.
  - (doom-after-init-hook): don't trigger at the end of command-line-1
    in non-interactive sessions. This will be triggered manually in
    doom-cli.el's run!.
* lisp/lib/config.el (doom/reload, doom/reload-autoloads,
  doom/reload-env): use 'reload' context for reload commands.
* modules/lang/emacs-lisp/autoload.el (+emacs-lisp-eval): use 'eval'
  context.
* modules/lang/org/config.el: remove doom-reloading-p; check for
  'reload' doom context instead.
2022-09-24 22:09:05 +02:00
Henrik Lissner
732d87ac3e
nit: minor comment revision and refactors 2022-09-16 17:01:57 +02:00
Henrik Lissner
7ffe0df8eb
bump: :editor evil
edkolev/evil-lion@4da660e124 -> edkolev/evil-lion@a55eb64742
emacs-evil/evil-collection@6cc02b238c -> emacs-evil/evil-collection@665d5c99e2
emacs-evil/evil@157af04d2c -> emacs-evil/evil@26ec0cda1b
redguardtoo/evil-nerd-commenter@386cd758a4 -> redguardtoo/evil-nerd-commenter@b1a92221c9
2022-09-16 17:01:57 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
0407621aff
refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES
To reduce redundancy, remove the maintenance hassle that version
constants would impose later on, and rely on built-in
facilities (featurep) more over global variables or doomisms, these
global constants have been deprecated in favor of Emacs "features":

- EMACS28+   -- replace with (> emacs-major-version 27)
- EMACS29+   -- replace with (> emacs-major-version 28)
- NATIVECOMP -- replace with (featurep 'native-compile)
- MODULES    -- replace with (featurep 'dynamic-modules)

(These constants will be formally removed when v3 is released. The IS-*
constants are likely next, but I haven't decided on their substitutes
yet)

I also decided to follow native-compile's example and provide features
for Emacs' system features (since system-configuration-features' docs
outs itself as a poor method to detect features):

- dynamic-modules
- jansson
- native-compile -- this one already exists, but will instead be removed
  if it's non-functional; i.e. (native-comp-available-p) returns nil.

These are now detectable using featurep, which is fast and built-in.
2022-08-14 20:43:35 +02:00
Henrik Lissner
9ec60d9ab9
fix(evil): evil-collection-occur -> evil-collection-replace
evil-collection-occur.el was moved to evil-collection-replace.el in
emacs-evil/evil-collection@79fc09b014.

Fix: #6495
Close: #6524
Ref: emacs-evil/evil-collection@79fc09b014
Co-authored-by: DeesonGao <DeesonGao@users.noreply.github.com>
2022-07-05 14:16:16 +02:00
Henrik Lissner
5a98d59afc
perf(evil): lazy load evil-collection-shortdoc
Another package that Emacs loads eagerly at startup, that ends up
pulling in evil-collection et co.
2022-07-04 02:38:10 +02:00
Henrik Lissner
14b2395424
refactor: remove unused core variables
doom-debug-p and doom-interactive-p have always been intentionally
redundant, because changing the variables they replaced had other
side-effects, which made writing tests for them difficult. Since our
new (yet unpublished) tests lean heavily toward integration testing more
than unit testing, this becomes an implementation detail.

And doom-init-p's only use was refactor out at some point in the past,
so it's no longer used.

Also done to reduce Doom's footprint, in general.
2022-06-29 18:14:20 +02:00
Henrik Lissner
31519d393a
bump: :editor evil
emacs-evil/evil-collection@e557188692 -> emacs-evil/evil-collection@6cc02b238c
emacs-evil/evil@3e41a82333 -> emacs-evil/evil@157af04d2c
hlissner/evil-snipe@a79177df40 -> hlissner/evil-snipe@c07788c35c
redguardtoo/evil-nerd-commenter@42ba1a473b -> redguardtoo/evil-nerd-commenter@386cd758a4
2022-06-17 18:21:23 +02:00
Henrik Lissner
f6fd2dc000
bump: :editor
abo-abo/lispy@bf31576802 -> abo-abo/lispy@df1b7e614f
cute-jumper/evil-embrace.el@464e8ec52f -> cute-jumper/evil-embrace.el@7b5a539cfe
doomemacs/snippets@3083b2342f -> doomemacs/snippets@2d031f7231
edkolev/evil-lion@6b03593f5d -> edkolev/evil-lion@4da660e124
emacs-evil/evil-collection@e69abfcb1c -> emacs-evil/evil-collection@e557188692
emacs-evil/evil@be97395e31 -> emacs-evil/evil@3e41a82333
emacsorphanage/god-mode@d7e9330950 -> emacsorphanage/god-mode@fac7d26ecd
gabesoft/evil-mc@246aecc174 -> gabesoft/evil-mc@63fd2fe0c2
magnars/multiple-cursors.el@8a60fc7ef0 -> magnars/multiple-cursors.el@aae47aebc0
2022-03-31 19:25:50 +02:00
Dan
42e5763782
fix(evil): respect users' evil-collection-key-blacklist 2022-02-23 17:49:53 +01:00
Henrik Lissner
09098bed48 fix(evil): activate evil-collection-mpc
Amend: 86034131c4
2022-01-27 03:49:53 +01:00
Henrik Lissner
86034131c4 bump: :editor evil
Dewdrops/evil-exchange@ac50f21b29 -> Dewdrops/evil-exchange@5f0a2d4143
emacs-evil/evil-collection@1b9d5c5d93 -> emacs-evil/evil-collection@0ce1ea96b4
emacs-evil/evil@b00018bf55 -> emacs-evil/evil@a5fd96dadc
redguardtoo/evil-nerd-commenter@63baf2d1c7 -> redguardtoo/evil-nerd-commenter@42ba1a473b

Close: #5983
2022-01-12 01:55:34 +01:00
Henrik Lissner
fe3f8866d8 fix(evil): disable evil-collection-smerge-mode
evil-collection-smerge-mode is broken due to incorrect pathing upstream,
so evilified keybinds for smerge-mode will have to wait until it is
addressed there.

Amend: 8d6221bc1e
Amend: 7bbc3bc48e
2021-12-14 01:21:33 +01:00
Henrik Lissner
8d6221bc1e fix(evil): evil-collection-smerge-mode
Amend: 7bbc3bc48e
2021-12-13 20:08:18 +01:00
Henrik Lissner
7bbc3bc48e bump: :editor
abo-abo/lispy@e9731aa955 -> abo-abo/lispy@bf31576802
emacs-evil/evil-collection@652d74acfb -> emacs-evil/evil-collection@1b9d5c5d93
emacs-evil/evil@07aba40dd3 -> emacs-evil/evil@b00018bf55
emacsorphanage/god-mode@1d7d647bb5 -> emacsorphanage/god-mode@d7e9330950
hlissner/doom-snippets@5c0eb5bd70 -> hlissner/doom-snippets@3083b2342f
2021-12-13 19:30:42 +01:00
Henrik Lissner
8645634608 bump: :editor evil multiple-cursors
emacs-evil/evil-collection@63d84ff4bd -> emacs-evil/evil-collection@652d74acfb
emacs-evil/evil@17c635f6e1 -> emacs-evil/evil@07aba40dd3
hlissner/evil-multiedit@50179bfb26 -> hlissner/evil-multiedit@15a47540db
hlissner/evil-snipe@1a28d718c8 -> hlissner/evil-snipe@a79177df40
magnars/multiple-cursors.el@588daf8c52 -> magnars/multiple-cursors.el@8a60fc7ef0

- Fixes "void-variable: evil-digit-bound-motions" errors (#5700)
- Adds evil-collection support for:
  - Forge: emacs-evil/evil-collection@33461aa545
  - Org: emacs-evil/evil-collection@9e47d61bdf
  - Scheme: emacs-evil/evil-collection@838f609899

Fix: #5700
2021-11-18 18:56:16 +01:00
Henrik Lissner
b092a8f8e7 bump: :editor evil
emacs-evil/evil-collection@bc5a02ed85 -> emacs-evil/evil-collection@6709c1ec41
emacs-evil/evil@d8f5732708 -> emacs-evil/evil@ebae35360c
2021-10-10 20:15:40 +02:00
Henrik Lissner
ee890064f8 bump: :editor evil
emacs-evil/evil-collection@8a75a03656 -> emacs-evil/evil-collection@bc5a02ed85
emacs-evil/evil@82e5becae2 -> emacs-evil/evil@d8f5732708

Improves first-load time for consult commands, thanks to
emacs-evil/evil-collection@03d80be41b.

Ref emacs-evil/evil-collection#539
Ref emacs-evil/evil-collection@03d80be41b
2021-10-06 01:30:45 +02:00
Henrik Lissner
a0a45ce81a bump: :editor evil
emacs-evil/evil-collection@9be3805b60 -> emacs-evil/evil-collection@8a75a03656
emacs-evil/evil@b237462fee -> emacs-evil/evil@82e5becae2
hlissner/evil-snipe@a9b9b39a79 -> hlissner/evil-snipe@1a28d718c8
juliapath/evil-numbers@cd23a7b458 -> juliapath/evil-numbers@8ce0066fa4
redguardtoo/evil-nerd-commenter@118bebd02a -> redguardtoo/evil-nerd-commenter@6bc41317ba

Fixes evil-collection-magit keybinds for magit-stash and
magit-worktree (on Z).

Ref emacs-evil/evil-collection@940dfe91aa
Ref emacs-evil/evil-collection@53a76e15df
Fix #5260
2021-09-15 17:47:17 +02:00
Henrik Lissner
8e30579823 tweak(evil): reduce keybind conflicts between outline & org
This doesn't fix a particular issue, but makes designing keybinds for
org-mode more predictable and less vulnerable to unpredictable changes
imposed by evil-collection.
2021-09-13 17:29:12 +02:00
Itai Y. Efrat
2bfb8be383 fix(evil): use evil-collection for package-menu
I can't find a rationale for this in the git history, and from looking
through the evil-collection entry I can't think of one.
2021-09-11 18:48:40 +02:00
Henrik Lissner
6c52e33302 fix(evil): don't load help.el twice
a2a128d3 changed prefix-help-command to use embark. This commit fixes
prefix-help-command getting reset to describe-prefix-bindings due to
help.el setting it at top-level because it is eventually loaded twice
due to defer-feature!, which removes a symbol from emacs' list of loaded
features.

Ref a2a128d3a5
2021-08-05 21:24:01 -04:00
Henrik Lissner
06392a723f refactor: rename orig-fn arg in advice to fn
A minor tweak to our naming conventions for the first argument of an
:around advice.
2021-08-04 01:53:12 -04:00
Henrik Lissner
084918f4ea editor/evil: correct evil-collection module name 2021-07-12 00:19:49 -04:00
Henrik Lissner
69cfc60243 Bump :editor
abo-abo/lispy@38a7df4 -> abo-abo/lispy@e9731aa
emacs-evil/evil-collection@b6025cf -> emacs-evil/evil-collection@9be3805
emacs-evil/evil@1b3db63 -> emacs-evil/evil@b237462
emacs-straight/adaptive-wrap@91e939b -> emacs-straight/adaptive-wrap@0d5b4a0
emacsorphanage/god-mode@02a402b -> emacsorphanage/god-mode@1d7d647
hlissner/doom-snippets@f7747da -> hlissner/doom-snippets@5c0eb5b
justinbarclay/parinfer-rust-mode@f130fa0 -> justinbarclay/parinfer-rust-mode@c2c1bbe
magnars/multiple-cursors.el@7b13b03 -> magnars/multiple-cursors.el@616fbdd
noctuid/lispyville@89316f0 -> noctuid/lispyville@9c14bed
redguardtoo/evil-nerd-commenter@b8ac35f -> redguardtoo/evil-nerd-commenter@118bebd
willghatch/evil-textobj-anyblock@29280cd -> willghatch/evil-textobj-anyblock@29280cd
2021-07-11 17:52:08 -04:00
Itai Y. Efrat
34fae1c01c Remove remaining Emacs27+ checks
- Remove remaining `EMACS27+` checks, since the whole codebase is
  assumed to run at version 27 or above now
- Remove `EMACS27+` definition since it's no longer needed
2021-07-10 16:03:41 +03:00
Henrik Lissner
a0c73c2975 Prevent evil-collection-calc loading too early 2021-05-06 04:27:33 -04:00
Henrik Lissner
543d122643 editor/evil: disable evil-collection-outline
Its keybinds are intrusive anywhere outline-minor-mode is enabled.
Derived modes (like org) have their own versions of its keybinds anyway.
2021-03-05 20:09:22 -05:00
Henrik Lissner
8635fc78bc Bump :editor
DogLooksGood/parinfer-mode@91856b9 -> DogLooksGood/parinfer-mode@8659c99
abo-abo/lispy@5c8a59a -> abo-abo/lispy@38a7df4
emacs-evil/evil-collection@e6824e2 -> emacs-evil/evil-collection@334670e
emacsorphanage/god-mode@f51c8f6 -> emacsorphanage/god-mode@02a402b
gabesoft/evil-mc@7dfb2ca -> gabesoft/evil-mc@f04fb17
hlissner/doom-snippets@33eb93b -> hlissner/doom-snippets@aa5587b
magnars/multiple-cursors.el@83abb05 -> magnars/multiple-cursors.el@a9d7764
noctuid/lispyville@0f13f26 -> noctuid/lispyville@89316f0
redguardtoo/evil-nerd-commenter@563cdc1 -> redguardtoo/evil-nerd-commenter@2730820
2021-02-11 22:05:21 -05:00
Henrik Lissner
2ad1eab6ee Bump evil-collection
emacs-evil/evil-collection@e7be9f5 -> emacs-evil/evil-collection@ffbf149

Adds racket-describe keybinds
2021-01-18 19:59:18 -05:00
Henrik Lissner
2b53df56e5
Bump :editor evil
emacs-evil/evil-collection@ab5bb7c -> emacs-evil/evil-collection@e7be9f5
emacs-evil/evil@d6cf668 -> emacs-evil/evil@cc9d688
mamapanda/evil-traces@bc25cae -> mamapanda/evil-traces@290b532

Fixes `(wrong-number-of-arguments (3 . 4) 2)` on Emacs HEAD for
evil (other packages may still be problematic).
2021-01-09 19:43:13 -05:00
Henrik Lissner
863063b60d
Defer internal help & help-mode packages
To simplify load order so users can easily modify help-mode-map after
evil-collection has. e.g.

  (map! :after help
        :map help-mode-map
        :n "C-o" nil)
2020-12-11 15:50:02 -05:00
Henrik Lissner
7838e312e2
Bump :editor
DogLooksGood/parinfer-mode@eaad857 -> DogLooksGood/parinfer-mode@91856b9
abo-abo/lispy@0a9dcfd -> abo-abo/lispy@5c8a59a
clemera/objed@dea5a64 -> clemera/objed@70f9fb5
emacs-evil/evil-collection@05ed92a -> emacs-evil/evil-collection@ab5bb7c
emacs-straight/adaptive-wrap@319db64 -> emacs-straight/adaptive-wrap@8f60ee7
gabesoft/evil-mc@4d4c017 -> gabesoft/evil-mc@7dfb2ca
hlissner/doom-snippets@e1cbbdf -> hlissner/doom-snippets@33eb93b
magnars/multiple-cursors.el@b880554 -> magnars/multiple-cursors.el@83abb05
matsievskiysv/vimish-fold@9d12e39 -> matsievskiysv/vimish-fold@a6501cb
2020-12-05 16:55:27 -05:00
Henrik Lissner
3253f7c86a
Bump :editor evil
emacs-evil/evil-collection@a21725f -> emacs-evil/evil-collection@52b6479
emacs-evil/evil@373a57e -> emacs-evil/evil@d6cf668
redguardtoo/evil-nerd-commenter@b670f69 -> redguardtoo/evil-nerd-commenter@563cdc1
2020-11-10 18:36:48 -05:00
Henrik Lissner
c37aa52908
Remove redundant evil-collection init code 2020-10-13 00:02:03 -04:00
Henrik Lissner
b6c562b015
Fix #4080: load evil-collection-xwidget normally
Turns out it doesn't need to be lazy loaded. Somehow, I remember
xwidget.el being pulled at startup, but either I'm crazy or it doesn't
seem to be the case anymore.
2020-10-12 23:55:38 -04:00
Henrik Lissner
1757dd1700
Bump :editor evil
emacs-evil/evil@1e7aa5b -> emacs-evil/evil@373a57e
redguardtoo/evil-nerd-commenter@87734b9 -> redguardtoo/evil-nerd-commenter@b670f69
emacs-evil/evil-collection@c136589 -> emacs-evil/evil-collection@a21725f
2020-10-09 04:41:45 -04:00
Henrik Lissner
1c9918e61e
Ensure evil-collection doesn't load early 2020-08-17 18:00:46 -04:00
Henrik Lissner
77f554c63d
Prevent evil-collection loading too early
A recent update causes evil-collection-process-menu to load immediately
at startup (because `simple` is loaded immediately), so we defer it
until process-menu-mode is called.

Loading process-menu so early pulls in evil far too early, causing other
issues, like undoing all of evil's prior-to-loading keybindings.
2020-07-17 23:34:44 -04:00
Henrik Lissner
72c03965cc
Bump :editor evil
emacs-evil/evil@25fc5c6 -> emacs-evil/evil@017b442
emacs-evil/evil-collection@e065da3 -> emacs-evil/evil-collection@3e62b6b
emacs-evil/evil-surround@1c34944 -> emacs-evil/evil-surround@346d4d8
redguardtoo/evil-nerd-commenter@1bd2de5 -> redguardtoo/evil-nerd-commenter@87734b9

Some functionality has been upstreamed into evil-collection and thus
removed from their respective modules.

Closes #3577
2020-07-17 19:40:19 -04:00
Henrik Lissner
3a38fc633c
Change doom-{interactive,debug}-mode suffix to -p
Because these are not really modes.

Also makes `doom-debug-mode` an actual (global) minor mode.
2020-05-25 03:43:40 -04:00
Henrik Lissner
ea18c83c0a
General refactors & reformatting across the board 2020-05-15 01:44:53 -04:00
Henrik Lissner
f998c912c1
Fix evil-collection-minibuffer for first minibuffer
evil-minibuffer-setup-minibuffer didn't kick in until the second time
you invoked a minibuffer after startup.
2020-05-02 17:23:50 -04:00