Commit Graph

1513 Commits

Author SHA1 Message Date
0d8b6bdfbd bump: :tools
NicolasPetton/pass@ed7031c5c3 -> NicolasPetton/pass@1a9f610015
Silex/docker.el@f3adbf49e1 -> Silex/docker.el@6f8bba0d11
editorconfig/editorconfig-emacs@648f0cf9ae -> editorconfig/editorconfig-emacs@c707d8d0f1
emacs-ansible/emacs-ansible@eebb2fb49d -> emacs-ansible/emacs-ansible@e171dacc12
emacs-lsp/lsp-mode@dd61303b2d -> emacs-lsp/lsp-mode@9b104105ad
emacs-straight/eglot@6b9c4faa52 -> emacs-straight/eglot@81eb273965
emacs-tree-sitter/tree-sitter-langs@365a4f7bf5 -> emacs-tree-sitter/tree-sitter-langs@465a64032d
emacsorphanage/quickrun@c58e2e4be5 -> emacsorphanage/quickrun@d383929c50
flycheck/flycheck-eglot@09e37f4c72 -> flycheck/flycheck-eglot@18d0c98695
joostkremers/parsebib@ace9df7071 -> joostkremers/parsebib@489f690f43
magit/forge@d4e88507bf -> magit/forge@9f2efc3c03
magit/magit@0aa26864e3 -> magit/magit@f2a6133443
meain/evil-textobj-tree-sitter@b4ef204ff8 -> meain/evil-textobj-tree-sitter@5056ebc231
purcell/envrc@532ecdab48 -> purcell/envrc@3c5a60dd91
rejeep/prodigy.el@cc68fa9d60 -> rejeep/prodigy.el@c5a17c280d
spotify/dockerfile-mode@39a012a27f -> spotify/dockerfile-mode@4d893bd2da
tumashu/posframe@570273bcf6 -> tumashu/posframe@ac9f954ac4
yoshiki/yaml-mode@7b5ce294fb -> yoshiki/yaml-mode@d91f878729
2024-10-31 21:54:20 -04:00
5ff8561b5e fix(lsp): lsp!: make non-interactive
This autodef was never intended to be interactive. Use `lsp` or `eglot`
if you need an interactive variant.
2024-10-31 21:54:19 -04:00
1f8c326dfa fix(eval): remove duplicate REPL entries
The method previously used to remove duplicates was incorrect
2024-10-31 21:44:13 -04:00
448bc5cae2 refactor: use negated flags
Ref: 7a806521a92c
2024-10-20 02:41:50 -04:00
15904349cf refactor!: module API
BREAKING CHANGE: This backports some architectural choices from v3.0.
This changes Doom's module API, renaming some functions and removing
others, in order to facilitate some new features, prepare to move Doom's
modules into separate repos, and make way for two, much larger breaking
commits coming in the next few days.

This commit won't break anything for users unless they're tinkering with
Doom's internals/using its `doom-module-*` API directly. I am avoiding
broader backwards incompatibilities until the 3.0 release.

What's new:

- Negated flags. (modulep! :editor evil -everywhere) will return non-nil
  if :editor evil is active without its +everywhere flag.
- `modulep!` now takes multiple flags to simplify AND checks. E.g.

    (and (modulep! +foo)
         (modulep! +bar)
         (not (modulep! +baz)))

  Can now be expressed with:

    (modulep! +foo +bar -baz)
- Adds pcase matchers for `doom-module-context` and `doom-module`
  structs, making the following destructuring binds possible:

    (pcase-dolist ((doom-module group name flags features)
                   (hash-table-values doom-modules))
      ...)

  This will be used more in v3.0.
- Adds file cookie support to module init.el and config.el files.

Here's a summary of breaking changes made in this commit:

- `doom-module-context` was changed from a vector to a struct (record).
- `doom-modules` is now a table of `doom-module` structs, rather than
  free-form plists.
- The following macros have been renamed:
  - `doom-context-with` -> `with-doom-context`
  - `doom-module-context-with` -> `with-doom-module`
- The followings functions have been replaced/removed:
  - `doom-module-context`+`doom-module-context-get` -> `doom-module`
  - `doom-module-set` -> `doom-module--put`
  - `doom-module-p` -> `doom-module-active-p`
  - `doom-module-context-key` (is now a getter with the same name)
  - `doom-module-put` (removed)
  - `doom-module--context-field` (removed)
- The signatures for these functions have changed:
  - `doom-module-get CATEGORY &optional MODULE PROP` ->
    `doom-module-get (GROUP . MODULE) &optional PROP`
  - `doom-module-locate-path CATEGORY &optional MODULE FILE` ->
    `doom-module-locate-path (GROUP . MODULE) &optional FILE`
  - `doom-module-expand-path CATEGORY MODULE &optional FILE` ->
    `doom-module-expand-path (GROUP . MODULE) &optional FILE`
- Adds the following functions
  - `doom-module-exists-p`
  - `doom-module-key`
  - `doom-module->context`
  - `doom-module<-context`
- Removes the following variables
  - `doom-module--empty-context`

This commit results in a little redundancy, which I will address in
parts 2/3 and/or v3.0.
2024-10-20 02:41:42 -04:00
037b018cdd feat: add .doommodule files
These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.

For now, however, they're simply placeholders.
2024-09-14 20:47:39 -04:00
66a2972ebf fix(lib): doom/set-indent-width on Emacs >=30
A built-in `editorconfig` package was added in Emacs 30, with a somewhat
different API from the other package of the same name.

Fix: #8072
2024-09-14 15:22:09 -04:00
30988a9720 fix(lsp): lsp-terraform removal condition
Amend: d4357c173a
Ref: #7713
2024-09-11 00:29:34 -04:00
07eae64509 refactor(vc): move git-commit to magit module
`git-commit` is no longer distributed with `magit` and no longer
declares its dependencies, causing "file missing: with-editor" and
similar errors for folks who don't have magit installed. Also, VC's
commit workflows don't utilize the mode, so there's no reason to keep it
in this module.

Ref: magit/magit@c170fcf399
Ref: #8003
2024-09-09 18:08:28 -04:00
2fa4faa6cd bump: :tools
emacs-citar/citar@07d2a63c99 -> emacs-citar/citar@0f1786b7fe
emacs-lsp/lsp-mode@12befaabe4 -> emacs-lsp/lsp-mode@dd61303b2d
emacs-straight/eglot@3a5240d8fd -> emacs-straight/eglot@6b9c4faa52
emacs-tree-sitter/tree-sitter-langs@1c3d95d018 -> emacs-tree-sitter/tree-sitter-langs@365a4f7bf5
magit/forge@35cc600d62 -> magit/forge@d4e88507bf
meain/evil-textobj-tree-sitter@041fcb9fbb -> meain/evil-textobj-tree-sitter@b4ef204ff8
tumashu/posframe@493b17f74a -> tumashu/posframe@570273bcf6

From this point on, Doom will be bumping magit and forge to tagged
releases.
2024-09-07 19:04:37 -04:00
765f317427 docs(magit): remove magit-todos from the README
0893ede removed magit-todos from the default magit module configuration.
Users are expected to install it by themselves, if they wish to use the
package, given it's simple config.

Amend: 0893edefae
2024-09-07 15:10:11 -04:00
a8f116bb6b bump: magit forge orgit orgit-forge
magit/forge@30f181f785 -> magit/forge@35cc600d62
magit/magit@2da34f1317 -> magit/magit@0aa26864e3
magit/orgit-forge@a989b2b54d -> magit/orgit-forge@2718a6aaf0
magit/orgit@29a0f37e5c -> magit/orgit@59d21fdb21

For Magit's 4.1.0 release, and to repin away from these packages'
recently removed 'melpa' branches (see #8007).

Ref: #8003
Ref: #8007
2024-08-31 21:51:59 -04:00
1c16b84691 refactor: remove unneeded/magic in add-hook! calls 2024-08-29 01:43:40 -04:00
786dae5a5d fix(lsp): don't warn about npm without +eglot
This is only a concern for lsp-mode, which tries to auto-install servers
if `lsp-enable-suggest-server-download` is non-nil (which it is, by
default).

Amend: #7346
2024-08-29 00:51:12 -04:00
ebf91a1363 refactor: use true eos regex in auto-mode-alist entries
"\\'" will match the true end-of-string, whereas "$" will also match
just before a newline character. Not that there's much risk that
there'll be newlines in a filepath, but I'd rather be consistent. It
also makes these entries easier for users to remove from
auto-mode-alist.
2024-08-25 17:44:29 -04:00
0c1c37ad87 bump: evil-textobj-tree-sitter
meain/evil-textobj-tree-sitter@a19ab9d89a -> meain/evil-textobj-tree-sitter@041fcb9fbb

Fix: #8006
2024-08-23 17:59:35 -04:00
e750d84a47 bump: code-review
doomelpa/code-review@e4c34fa284 -> doomelpa/code-review@eeffdd9e20

Ref: doomelpa/code-review#2
2024-08-23 17:48:33 -04:00
d4357c173a fix(lsp): void-variable lsp-client-packages error
Regression introduced in 32d9369, due to evaluating this snippet too
early (before lsp-mode was loaded).

Amend: 32d9369091
Fix: #7713
2024-08-22 16:08:45 -04:00
32d9369091 fix(lsp): disable lsp-terraform
This issue seems to come up a lot, and I've been unable to reproduce it,
but at the very least I can disable the lsp-terraform client for folks
that don't need it.

Fix: #7713
Ref: emacs-lsp/lsp-mode#3577
2024-08-22 15:50:34 -04:00
1b336d0549 bump: forge
magit/forge@1e7ee99c7f -> magit/forge@30f181f785

- Same issue with forge as with magit (see 5e70fe1).

Fix: #8007
Amend: 5e70fe1697
2024-08-22 12:32:14 -04:00
f3e9920e80 bump: magit
magit/magit@3b37048688 -> magit/magit@2da34f1317

- Whoops. The HEAD of magit's melpa branch is auto-generated and rebased
  to the front, so pinning to its HEAD will always eventually break.

Fix: #8007
Amend: 5e70fe1697
2024-08-21 00:18:06 -04:00
5e70fe1697 bump: :tools magit
magit/forge@a56eb3cbb2 -> magit/forge@1e7ee99c7f
magit/magit@cf94190410 -> magit/magit@3b37048688

Due to a force push upstream, the magit ref we were pinned to no longer
worked, prompting this bump.

Fix: #8007
2024-08-20 21:43:03 -04:00
41dab49c17 fix(biblio): s/+roam/+roam2
This change accidentally snuck into 109aa2c.

Fix: #8008
Amend: 109aa2c159
2024-08-20 21:42:17 -04:00
0893edefae refactor!(magit): remove magit-todos
BREAKING CHANGE: Removes magit-todos from the magit module. I've always
thought my choice to include it as a 'reasonable default' in this module
was a bit dubious. Given how trivial the config is, I leave it to users
to install if they want it, instead.
2024-08-19 16:21:45 -04:00
109aa2c159 bump: :tools
Silex/docker.el@d5255a65b7 -> Silex/docker.el@f3adbf49e1
alphapapa/magit-todos@501c8db90a -> alphapapa/magit-todos@501c8db90a
andras-simonyi/citeproc-el@cfa30b6c95 -> andras-simonyi/citeproc-el@54184baaff
doomelpa/code-review@e4c34fa284 -> doomelpa/code-review@e4c34fa284
editorconfig/editorconfig-emacs@1651294334 -> editorconfig/editorconfig-emacs@648f0cf9ae
emacs-citar/citar@07d2a63c99 -> emacs-citar/citar@07d2a63c99
emacs-lsp/dap-mode@b407773ebc -> emacs-lsp/dap-mode@496dd3a60f
emacs-lsp/lsp-mode@5298775517 -> emacs-lsp/lsp-mode@12befaabe4
emacs-lsp/lsp-ui@00f1fecdfb -> emacs-lsp/lsp-ui@072bb29152
emacs-straight/crdt@9bf99e2ce3 -> emacs-straight/crdt@7f91efcc72
emacs-straight/eglot@8008255edd -> emacs-straight/eglot@3a5240d8fd
emacs-tree-sitter/tree-sitter-langs@b2739d07fa -> emacs-tree-sitter/tree-sitter-langs@1c3d95d018
hcl-emacs/terraform-mode@a645c32a8f -> hcl-emacs/terraform-mode@abfc10f5e3
jacktasia/dumb-jump@3c2ab8dfff -> jacktasia/dumb-jump@cd65a74337
magit/forge@21d410c810 -> magit/forge@a56eb3cbb2
magit/magit@e777822720 -> magit/magit@cf94190410
nicolaisingh/saveplace-pdf-view@ee95460cd9 -> nicolaisingh/saveplace-pdf-view@70e9ec4056
purcell/envrc@2316e004c1 -> purcell/envrc@532ecdab48
tumashu/posframe@f4e9e509ba -> tumashu/posframe@493b17f74a
2024-08-19 16:21:45 -04:00
e66a863e07 fix(magit): don't recursively open process buffers 2024-08-15 14:02:03 -04:00
173842ccea fix(lsp): eglot-ensure advice nooping in some major modes
Due to the nested structure of eglot-server-programs, our advice would
not correctly detect entries for some modes (like javascript modes),
effectively disabling Eglot in those modes.

I've replaced the advice with a solution baked into lsp!, so folks still
have the option of using eglot-ensure directly if they want it activated
unconditionally.

Amend: #7219
2024-08-14 18:01:59 -04:00
8be1ef498b fix(lsp): void-variable args error
Fix: #7974
Fix: #7970
Amend: 85b7b6151b
2024-07-30 04:46:50 -04:00
85b7b6151b fix(lsp): force lsp-zig-download-url-format to change
Can't change the variable after lsp-zig loads because its used when it's
loaded. Can't set it before lsp-zig loads because it's a
constant (resetting its value). Thank god it uses a (non-inlined)
function to build that URL, so we have an easy target to advise.

Fix: #7970
Amend: 93dfb0acfb
Amend: bc5a8ec3fa
Amend: 7bb5df4cd4
2024-07-30 00:51:08 -04:00
93dfb0acfb fix(lsp): set lsp-zig-download-url-format earlier
If delayed until lsp-zig is loaded, then the `lsp-dependency` call in
lsp-zig will evaluate with the old (and incorrect) value of
`lsp-zig-download-url-format`.

Fix: #7970
Amend: bc5a8ec3fa
Amend: 7bb5df4cd4
2024-07-30 00:43:39 -04:00
0f30e1eca5 bump: :ui vc-gutter :tools magit :emacs vc
dgutov/diff-hl@f66345ed1f -> dgutov/diff-hl@57d9d4e3e1
magit/forge@9edfcb2c15 -> magit/forge@21d410c810
magit/magit@9d4192b7b1 -> magit/magit@e777822720
2024-07-29 02:03:25 -04:00
bc5a8ec3fa fix(zig): update zls download URL sooner
By putting it in zig-mode's :config block, the new URL won't be
available until the zig-mode package is loaded, which means users who
try to install zls with M-x lsp-install-server *before* zig-mode is
loaded will get the old, broken URL instead of the new.

Fix: #7970
Amend: 7bb5df4cd4
2024-07-28 15:21:13 -04:00
4fa24d1533 bump: :tools magit :emacs vc
emacsmirror/git-timemachine@5ed73c3831 -> emacsmirror/git-timemachine@3780835fcd
magit/forge@67314e2f83 -> magit/forge@9edfcb2c15
magit/git-modes@52ea2a1281 -> magit/git-modes@d96fa7a3c7
magit/magit@b9948f9571 -> magit/magit@9d4192b7b1
2024-07-20 14:31:53 -04:00
fb0402e89c bump: :tools magit
magit/forge@0102834bb7 -> magit/forge@67314e2f83
magit/magit@9d1f8db507 -> magit/magit@b9948f9571

- update magit's compat library, alongside forge's use of same.
2024-07-15 15:22:56 -04:00
ba467fea57 bump: :tools lsp tree-sitter
emacs-lsp/lsp-mode@cec9e56390 -> emacs-lsp/lsp-mode@5298775517
emacs-straight/eglot@850cbd0430 -> emacs-straight/eglot@8008255edd
emacs-tree-sitter/tree-sitter-langs@a06804e13f -> emacs-tree-sitter/tree-sitter-langs@b2739d07fa
flycheck/flycheck-eglot@114e1315aa -> flycheck/flycheck-eglot@09e37f4c72
2024-07-11 15:16:09 -04:00
ef1aa5efe3 fix(ansible): void-function ansible error
`ansible` was renamed to `ansible-mode` upstream.

Amend: af2b1a62dc
Ref: eebb2fb49d
2024-07-11 14:18:35 -04:00
af2b1a62dc bump: :tools ansible
bump: :tools ansible

emacs-ansible/emacs-ansible@b4dca00f89 -> https://gitlab.com/emacs-ansible/emacs-ansible@eebb2fb49d3c

- (#7922) Updates emacs-ansible's pin so it is properly cloned from it's new
  home at gitlab.
2024-07-08 19:31:05 -04:00
a99863a76f bump: :tools magit
magit/forge@4adb94d23c -> magit/forge@0102834bb7
magit/magit@ea0f07e549 -> magit/magit@9d1f8db507

- Includes an update for forge to accommodate changes to closql's interface.

Ref: magit/forge@fb272bd93b
2024-07-07 14:35:40 -04:00
7bb5df4cd4 fix(zig): update zls download URL
Fix: #7873
Ref: zigtools/zls#1879
2024-07-05 20:10:58 -04:00
481753bd5e refactor!: remove pcre2el package
BREAKING CHANGE: This removes the pcre2el package, which Doom was using
solely for one function to escape PCREs. In the interest of thinning out
Doom's core, I've hoisted a simpler version of the function into Doom's
stdlib so I can remove the dependency.
2024-07-01 18:11:34 -04:00
27539e225e module: remove :tools taskrunner
This module has been deprecated for some time, because the module is
much too trivial to warrant being its own module. At most, it may find a
new home in doomemacs/modules-contrib, but for now, it doesn't belong in
the official module library.
2024-06-30 21:58:09 -04:00
4d2eeab7f0 module: remove :tools rgb
This module has been deprecated for some time; it's too niche, too
trivial, and is mostly centered around a single hydra (official support
for which I'll be phasing out of Doom).
2024-06-30 21:54:48 -04:00
378272bcab refactor(lsp): remove lsp-racket fix
This was fixed upstream.

Ref: emacs-lsp/lsp-mode@4c17f9229f
2024-06-30 15:08:21 -04:00
d3d5047488 fix(lsp): revert refactor of map! call
This change (made in ae9e1fea) was a tad too hasty, since
general.el (under the hood) implicitly deferred the keybinding until
eglot-mode-map, which define-key does not do.

Fix: #7911
Amend: ae9e1feaa6
2024-06-29 02:55:46 -04:00
ae9e1feaa6 refactor: avoid needless macro calls
Avoid macros where we really don't need them.
2024-06-28 17:00:58 -04:00
9405cf0379 fix(lookup): project search backend no-op
Due to an inverted condition.
2024-06-26 20:53:31 -04:00
b405225b90 refactor!(vc-gutter): drop git-gutter for diff-hl
BREAKING CHANGE: This removes git-gutter as an implementation for the
`:ui vc-gutter` module, leaving only the diff-hl implementation. There
are no longer any +git-gutter or +diff-hl flags for this module. Users
don't have to do anything to keep the vc gutter, unless they prefer
git-gutter for any reason (in which case they'll need to install and set
it up themselves).

This has been planned for some time, because of a roadmap goal for Doom
to lean into native/built-in functionality where it's equal or better
than the third party alternatives. diff-hl relies on the built-in vc.el
library instead of talking to git directly (thus expanding support to
whatever VCS's vc.el supports, and not git alone), which also means it
can take advantage of its caching and other user configuration for
vc.el. Overall, it is faster and lighter.

What I've also been waiting for was a stage-hunk command, similar to
git-gutter:stage-hunk, which arrived in dgutov/diff-hl@a0560551cd and
dgutov/diff-hl@133538973b, and have evolved since.

Ref: dgutov/diff-hl@a0560551cd
Ref: dgutov/diff-hl@133538973b
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=58747789
2024-06-22 18:14:04 -04:00
391babd7bb bump: :tools tree-sitter
emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e9 -> emacs-tree-sitter/elisp-tree-sitter@02fe7b86d9

tree-sitter was bumped in ee10764, but the bump was reverted by mistake
in 7719991 because the default branch in tree-sitter's MELPA recipe is
release, not master, which confused the doom/bump-package* commands.
This partially reverts 7719991 to undo the de-bump.

Amend: 7719991bad
Ref: ee10764c22
2024-06-22 13:22:22 -04:00
7719991bad bump: :tools
andras-simonyi/citeproc-el@44f90cb296 -> andras-simonyi/citeproc-el@cfa30b6c95
editorconfig/editorconfig-emacs@d73b6392de -> editorconfig/editorconfig-emacs@1651294334
emacs-citar/citar@885b86f673 -> emacs-citar/citar@07d2a63c99
emacs-lsp/dap-mode@11431a26bc -> emacs-lsp/dap-mode@b407773ebc
emacs-lsp/lsp-mode@acad044ebc -> emacs-lsp/lsp-mode@cec9e56390
emacs-straight/crdt@4a18cd8539 -> emacs-straight/crdt@9bf99e2ce3
emacs-straight/eglot@e7e49c789c -> emacs-straight/eglot@850cbd0430
emacs-straight/rainbow-mode@70ed10d410 -> emacs-straight/rainbow-mode@0740f31f30
emacs-tree-sitter/elisp-tree-sitter@02fe7b86d9 -> emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e9
emacsorphanage/quickrun@373634cf51 -> emacsorphanage/quickrun@c58e2e4be5
jacktasia/dumb-jump@ede6a04187 -> jacktasia/dumb-jump@3c2ab8dfff
k1LoW/emacs-ansible@1d7de8d3dd -> k1LoW/emacs-ansible@b4dca00f89
magit/forge@c3675fd068 -> magit/forge@4adb94d23c
magit/magit@f9268a9598 -> magit/magit@ea0f07e549
purcell/envrc@8eb7401700 -> purcell/envrc@2316e004c1
vedang/pdf-tools@a1048bceb2 -> vedang/pdf-tools@30b50544e5
2024-06-21 19:10:30 -04:00
ee10764c22 bump: :tools tree-sitter
emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e9 -> emacs-tree-sitter/elisp-tree-sitter@02fe7b86d9
emacs-tree-sitter/tree-sitter-langs@b7895ca759 -> emacs-tree-sitter/tree-sitter-langs@a06804e13f

Close: #7842
Ref: emacs-tree-sitter/elisp-tree-sitter#250
Co-authored-by: meedstrom <meedstrom@users.noreply.github.com>
2024-06-20 18:29:15 -04:00