Commit Graph

4459 Commits

Author SHA1 Message Date
bdd3701987 fix(common-lisp): inferior-lisp-program: accept list
To quote the docstring for `inferior-lisp-program`:

  Program name for starting a Lisp subprocess to Emacs.  Can be a string
  naming a program, a whitespace-separated string of \"EXECUTABLE ARG1
  ARG2\" or a list (EXECUTABLE ARGS...) where EXECUTABLE and ARGS are
  strings.

Fix: #8324
2025-03-24 18:21:33 -04:00
6cc1284171 bump: :lang org
bastibe/org-journal@115b9c0354 -> bastibe/org-journal@cf72173233
emacs-straight/org-mode@2f5add467c -> emacs-straight/org-mode@07e380f76d
emacsmirror/org-contrib@f22bdd6a58 -> emacsmirror/org-contrib@8d14a600a2
hakimel/reveal.js@2059d388f7 -> hakimel/reveal.js@5c77e86301
magit/orgit@3b6b34bd11 -> magit/orgit@6ad0dc35c8
oer/org-re-reveal@88e9d9e679 -> oer/org-re-reveal@53e9be7d89
org-noter/org-noter@691efc3ed4 -> org-noter/org-noter@a28f61238a
org-roam/org-roam@0037daaf3e -> org-roam/org-roam@046822b512
2025-03-24 18:12:54 -04:00
869a5e631e refactor!(emacs-lisp): remove cask support
BREAKING CHANGE: This removes flycheck support for Cask projects,
leaving it to users to install themselves.

Since Cask is not a unanminuous default for elisp projects (there are
many alternatives, including Eask), I don't think should be included by
default in this module.
2025-03-23 21:28:08 -04:00
d92920405a docs(fsharp): add presence check for dotnet fsi
Close: #8315
Co-authored-by: ncihnegn <ncihnegn@users.noreply.github.com>
2025-03-21 22:29:52 -04:00
012cacaa86 fix(kotlin): module check for flycheck-kotlin 2025-03-15 00:38:50 -04:00
7beb83ca6f bump: :lang python
emacs-lsp/lsp-pyright@dd54b3ae7c -> emacs-lsp/lsp-pyright@b4cee81af4
pythonic-emacs/anaconda-mode@5c6eff4645 -> pythonic-emacs/anaconda-mode@28b3e0088a
pythonic-emacs/company-anaconda@0f7984b3be -> pythonic-emacs/company-anaconda@fe6a529044
pythonic-emacs/pyenv-mode@f7d53796d6 -> pythonic-emacs/pyenv-mode@7faed57eb7

Ref: #8294
2025-03-13 01:00:36 -04:00
117d9127f3 fix(python): stop anaconda-eldoc-mode when lsp server launches
this needed a fix in anaconda-mode to not also stop eldoc-mode in
general.

ref: pythonic-emacs/anaconda-mode#440
2025-03-13 01:00:36 -04:00
df3d64aa07 fix(elixir): unbalanced paren in add-hook call
Amend: 4e2449031e
Amend: #8284
2025-02-25 01:08:33 -05:00
110b2d2841 fix(org): interop between org-fancy-priorities & org-export
Causing a beginning-of-buffer error.

Fix: #8280
2025-02-24 23:40:00 -05:00
4e2449031e fix(elixir): start lsp when ts and lsp are enabled
LSP will now correctly auto start when you have both +lsp and
+tree-sitter flags on elixir module.
2025-02-24 23:39:36 -05:00
1bb191e8eb bump: :lang
FStarLang/fstar-mode.el@6e5d3ea858 -> FStarLang/fstar-mode.el@36ffb46259
ProofGeneral/PG@d668946929 -> ProofGeneral/PG@e0ec3db200
Wilfred/helpful@4ba24cac9f -> Wilfred/helpful@5ad8a9ce57
agda/agda@3344ca8058 -> agda/agda@10a0ca0516
bastibe/org-journal@17b34ce8df -> bastibe/org-journal@115b9c0354
beancount/beancount-mode@452621fa1f -> beancount/beancount-mode@ddd4b87257
clojure-emacs/cider@f00e83d338 -> clojure-emacs/cider@a0d6169026
crystal-lang-tools/emacs-crystal-mode@ea89b108fa -> crystal-lang-tools/emacs-crystal-mode@d913fea6f0
emacs-ess/ESS@c72b911d70 -> emacs-ess/ESS@0eb240bcb6
emacs-geiser/geiser@74eed1669a -> emacs-geiser/geiser@c1c27072a4
emacs-lsp/lsp-haskell@6981f8d122 -> emacs-lsp/lsp-haskell@b2edf1a9f8
emacs-lsp/lsp-metals@6a6a345a8a -> emacs-lsp/lsp-metals@567089f7f4
emacs-rustic/rustic@e5c0271f1e -> emacs-rustic/rustic@fbbf0a7192
emacs-straight/auctex@f00256cbfd -> emacs-straight/auctex@53f80ba36c
emacs-straight/org-mode@5a4686915e -> emacs-straight/org-mode@ff33d9ec2e
emacs-typescript/typescript.el@dd10f702d4 -> emacs-typescript/typescript.el@481df3ad2c
emacsorphanage/dart-mode@02e919c1cf -> emacsorphanage/dart-mode@88b6683f43
emacsorphanage/macrostep@44faf4f7bf -> emacsorphanage/macrostep@d0928626b4
erlang/otp@3e7f126fe4 -> erlang/otp@64185e73b0
fuxialexander/org-pdftools@4e420233a1 -> fuxialexander/org-pdftools@5613b7ae56
greghendershott/racket-mode@f2645aadd2 -> greghendershott/racket-mode@eef5e9ab2c
hakimel/reveal.js@e15cf92ccd -> hakimel/reveal.js@2059d388f7
haskell/haskell-mode@1a285fc4c5 -> haskell/haskell-mode@7f452cc9e6
joaotavora/sly@742355f755 -> joaotavora/sly@c48defcf58
jorgenschaefer/emacs-buttercup@bf01a33f8b -> jorgenschaefer/emacs-buttercup@c467c659b2
jrblevin/markdown-mode@e100778594 -> jrblevin/markdown-mode@ee9d6de1d2
js-emacs/js2-refactor.el@a0977c4ce1 -> js-emacs/js2-refactor.el@e1177c728a
kaushalmodi/ox-hugo@98421a1298 -> kaushalmodi/ox-hugo@e3365cb4e6
ljos/jq-mode@a0f79eba78 -> ljos/jq-mode@eeb86b4d5a
magit/orgit@59d21fdb21 -> magit/orgit@3b6b34bd11
nonsequitur/inf-ruby@dad78a13f1 -> nonsequitur/inf-ruby@b8076aad10
ocaml/dune@098117d229 -> ocaml/dune@b74586e909
ocaml/merlin@3a806ef87f -> ocaml/merlin@92c3ba9473
oer/org-re-reveal@ab1422c163 -> oer/org-re-reveal@88e9d9e679
org-roam/org-roam@cad3518788 -> org-roam/org-roam@0037daaf3e
purescript-emacs/purescript-mode@07e4d6ecfe -> purescript-emacs/purescript-mode@b076bafe94
pythonic-emacs/anaconda-mode@f900bd7656 -> pythonic-emacs/anaconda-mode@5c6eff4645
pythonic-emacs/company-anaconda@169252fca7 -> pythonic-emacs/company-anaconda@0f7984b3be
pythonic-emacs/pyenv-mode@76787ea44f -> pythonic-emacs/pyenv-mode@f7d53796d6
seagle0128/grip-mode@df0ba7589d -> seagle0128/grip-mode@ffce7f78eb
swift-emacs/swift-mode@ab189d6e89 -> swift-emacs/swift-mode@2c0b2b72dc
technomancy/fennel-mode@3632cc77de -> technomancy/fennel-mode@4ccb6d5944
weijiangan/flycheck-golangci-lint@91c59b128a -> weijiangan/flycheck-golangci-lint@424ba1b3a1
2025-02-21 18:35:11 -05:00
a7ee1edf3f fix(org): allow tab to expand yasnippets in org
I do not see any evidence of a [tab] binding in `outline-mode-cycle-map`
in Emacs29, Emacs30, nor Emacs31. Moreover, this keybinding is
overriding our TAB keybinding in GUI Emacs, so YaSnippets are not being
expanded.
2025-02-21 15:09:11 -05:00
90d2834bef fix(emacs-lisp): handle malformed outline-regexp
Sometimes elisp files specify an outline-regexp which does not match any
groups so this causes it to return a default value of 0 instead of an
error.
2025-02-21 15:06:28 -05:00
373b7aa976 fix: rename {b,e}ol functions to pos-{b,e}ol
These two functions were introduced in emacs-mirror/emacs@f117b5df4d
as `bol` and `eol`, but were renamed to `pos-bol` and `pos-eol` in
emacs-mirror/emacs@2614e53216.

Close: #8242
2025-01-14 13:52:41 -05:00
01666572d7 fix(lean): remove company-lean
company-lean was removed from MELPA. Since lean4 support is around the
corner and Doom has deprecated its support for Company, I'll simply
remove this package.

Ref: melpa/melpa@11196af312
Fix: #8159
2025-01-12 20:13:49 -05:00
c21c6c0aa8 refactor!(ruby): remove robe
BREAKING CHANGE: This removes the Robe package from the ruby module,
which now relies on lsp-mode/eglot to provide those features with more
consistency and less maintenance overhead.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=69411568
Close: #8237
Fix: #6994
Fix: #3055
2025-01-12 13:37:05 -05:00
8951de19d8 bump: :lang
JuliaEditorSupport/julia-emacs@2aca8cf585 -> JuliaEditorSupport/julia-emacs@0f4d74f904
ProofGeneral/PG@b30d65de80 -> ProofGeneral/PG@d668946929
abicky/nodejs-repl.el@03d0b64768 -> abicky/nodejs-repl.el@130d49b073
agda/agda@819993172d -> agda/agda@3344ca8058
ardumont/markdown-toc@3d724e518a -> ardumont/markdown-toc@d2fb4cbd95
babashka/neil@78ffab1868 -> babashka/neil@0b7373dd1b
clojure-emacs/cider@c228dec27d -> clojure-emacs/cider@f00e83d338
clojure-emacs/clojure-mode@59888c84b6 -> clojure-emacs/clojure-mode@eabe29b076
davazp/graphql-mode@c3baca9280 -> davazp/graphql-mode@ee49531935
dgutov/robe@6bc8a07fc4 -> dgutov/robe@ec4b7e74e9
diml/utop@b490baca21 -> diml/utop@3322adaa52
emacs-ess/ESS@8b4664e4a7 -> emacs-ess/ESS@c72b911d70
emacs-geiser/chicken@a480598b59 -> emacs-geiser/chicken@5f2c1bb446
emacs-geiser/geiser@97ce88463f -> emacs-geiser/geiser@74eed1669a
emacs-jupyter/jupyter@e966c5d3d6 -> emacs-jupyter/jupyter@db8a9e233a
emacs-lsp/lsp-metals@b5139c9593 -> emacs-lsp/lsp-metals@6a6a345a8a
emacs-php/php-mode@31f702ee2d -> emacs-php/php-mode@0f756a8c07
emacs-rustic/rustic@9fdf5c76b2 -> emacs-rustic/rustic@e5c0271f1e
emacs-straight/auctex@0de9730957 -> emacs-straight/auctex@f00256cbfd
emacs-straight/org-mode@6a5d0ed342 -> emacs-straight/org-mode@5a4686915e
emacsorphanage/macrostep@419873665f -> emacsorphanage/macrostep@44faf4f7bf
erlang/otp@094260aba7 -> erlang/otp@3e7f126fe4
fxbois/web-mode@0c83581d1e -> fxbois/web-mode@be2d59c8fa
gcv/julia-snail@dff92c4250 -> gcv/julia-snail@24f79a067b
godotengine/emacs-gdscript-mode@bee7f99c6f -> godotengine/emacs-gdscript-mode@c3d9988984
greghendershott/racket-mode@c5bee6895b -> greghendershott/racket-mode@f2645aadd2
hakimel/reveal.js@0d02d8a303 -> hakimel/reveal.js@e15cf92ccd
hvesalai/emacs-scala-mode@bd0638c32a -> hvesalai/emacs-scala-mode@661337d8aa
jrblevin/markdown-mode@b8637bae07 -> jrblevin/markdown-mode@e100778594
jwiegley/emacs-async@af47d6f930 -> jwiegley/emacs-async@b99658e831
jwiegley/nix-update-el@aab70a3816 -> jwiegley/nix-update-el@77022ccd91
nonsequitur/inf-ruby@6399a36682 -> nonsequitur/inf-ruby@dad78a13f1
ocaml/dune@5ac095c7c0 -> ocaml/dune@098117d229
ocaml/merlin@a36f42a5b1 -> ocaml/merlin@3a806ef87f
oer/org-re-reveal@91610ba9b0 -> oer/org-re-reveal@ab1422c163
org-roam/org-roam@2a630476b3 -> org-roam/org-roam@cad3518788
polymode/poly-R@e4a39caaf4 -> polymode/poly-R@8024e852cf
polymode/polymode@15b6c1e94a -> polymode/polymode@74ba75d4bc
psibi/dhall-mode@87ab69fe76 -> psibi/dhall-mode@fca383a9c4
purescript-emacs/purescript-mode@d187b3d4bb -> purescript-emacs/purescript-mode@07e4d6ecfe
rwv/android-mode@d5332e339a -> rwv/android-mode@67f7c0d7d3
seagle0128/grip-mode@d6c7e33e40 -> seagle0128/grip-mode@df0ba7589d
technomancy/fennel-mode@259470b297 -> technomancy/fennel-mode@3632cc77de
tpapp/julia-repl@bb90cc1fce -> tpapp/julia-repl@317d560218
2025-01-09 23:47:38 -05:00
ea098dcc1f fix(cc): replace opencl-mode with opencl-c-mode 2025-01-08 19:36:39 -05:00
9111d9b74c fix(emacs-lisp): only set mode-name in elisp buffers
And not emacs-lisp-mode derived modes.
2025-01-08 19:33:38 -05:00
3f1a471127 refactor: replace point-at-{b,e}ol
These were deprecated in 29.1. We'll switch to pol-bol and pos-eol
if/when we drop 28.x support.
2025-01-08 19:33:38 -05:00
0a715cc3f2 refactor: (if|when)-let -> (if|when)-let*
With the former macros' future in the air (and likely to be targeted in
future, potentially breaking changes), I'll deal with this now than have
it bite me later.

Ref: https://lists.gnu.org/archive/html/emacs-devel/2024-10/msg00637.html
2025-01-08 19:33:37 -05:00
ba1dca322f revert: tweak(sh): auto-mode-alist: generalize /*rc rule
Cast too wide a net; there are likely too many *rc files that shouldn't
be treated as shell scripts.

Besides, there's already a fallback *rc rule for conf-mode in
lisp/doom-editor.el.

Revert: bdc35faff2
2024-12-05 16:39:23 -05:00
440b8be3aa fix(emacs-lisp): false positives from syntax checkers
For example, proper-list-p errors from uses of `use-package`, occuring
in Doom source files (or elisp in $DOOMDIR). This happened because
Doom's bootstrap process changed in 8cafbe4 without adapting this
module's elisp checker.

Amend: 8cafbe4408
2024-12-05 16:39:23 -05:00
637f70f53b fix(emacs-lisp): duplicate entries in flycheck-disabled-checkers 2024-12-05 16:25:54 -05:00
4418c80c95 fix(syntax): disable checker in non-project elisp files
CVE-2024-53920 describes an arbitrary code execution vulnerability
during macro expansion, which occurs during byte-compilation or when
evaluating macro calls in uncompiled elisp files.

Flycheck and flymake use byte-compilation to lint elisp files, exposing
users to this vulnerability. This commit attempts to protect users from
this by disabling both in elisp files that aren't part of a
project (because, presumably, untrusted elisp won't live in a project).
What a "project" is depends on your projectile settings, but generally
means a file that lives in a version controlled directory and/or a
directory containing a recognizable project root marker (like a
packages.json or Cargo.toml file).

This heuristic won't catch cases of untrusted elisp living within
legitimate projects, or the case where the user's $HOME is a project and
*all* their elisp files live under it, but there are already too many
ways to shoot yourself in the foot with Emacs to begin with, and
disabling fly(check|make) altogether stands a higher chance of making
people blindly re-enable them to "work around" the fact it's not
"working as expected", bringing them back to square one.

Anyhow, long story short, don't open elisp files you don't trust in
Emacs, mkay?

Ref: CVE-2024-53920
2024-12-05 16:25:54 -05:00
4a8f3bf033 fix(python): +python-executable-find ipython
+python-executable-find cannot find ipython since /bin/python is
hardcoded instead of using the parameter
2024-12-01 11:30:27 -05:00
bdc35faff2 tweak(sh): auto-mode-alist: generalize /*rc rule 2024-11-26 16:38:26 -05:00
94d967490f fix(sh): don't set mode-name in sh-mode derivatives
Also capitalizes the name, as this is the convention for mode names in
most major modes.

Fix: #8178
2024-11-26 15:05:49 -05:00
b126c3857d bump: :lang
JuliaEditorSupport/julia-emacs@d360ad5285 -> JuliaEditorSupport/julia-emacs@2aca8cf585
ProofGeneral/PG@3a99da2755 -> ProofGeneral/PG@b30d65de80
abo-abo/org-download@19e166f0a8 -> abo-abo/org-download@c8be261178
agda/agda@4f82f9b90a -> agda/agda@819993172d
ananthakumaran/tide@b38dfc3f8f -> ananthakumaran/tide@6a35fe355f
babashka/neil@6728367eff -> babashka/neil@78ffab1868
beancount/beancount-mode@7b437abcf0 -> beancount/beancount-mode@452621fa1f
cdominik/cdlatex@33770dec73 -> cdominik/cdlatex@fac070f016
clojure-emacs/cider@8fdb53e8be -> clojure-emacs/cider@c228dec27d
davazp/graphql-mode@ef4aecaead -> davazp/graphql-mode@c3baca9280
diml/utop@384b3098c8 -> diml/utop@b490baca21
emacs-geiser/guile@5a856c2982 -> emacs-geiser/guile@a0f111f8de
emacs-geiser/mit@4e90e9ae81 -> emacs-geiser/mit@ddd2ba733e
emacs-jupyter/jupyter@f97f4b5d8c -> emacs-jupyter/jupyter@e966c5d3d6
emacs-lsp/lsp-dart@9ffbafb7dc -> emacs-lsp/lsp-dart@7e3d342941
emacs-lsp/lsp-haskell@ba49fa9822 -> emacs-lsp/lsp-haskell@6981f8d122
emacs-lsp/lsp-metals@0dc938be11 -> emacs-lsp/lsp-metals@b5139c9593
emacs-lsp/lsp-pyright@0c0d72aedd -> emacs-lsp/lsp-pyright@dd54b3ae7c
emacs-php/composer.el@791a7104be -> emacs-php/composer.el@6c7e19256f
emacs-php/php-mode@59814bd80c -> emacs-php/php-mode@31f702ee2d
emacs-rustic/rustic@d765680373 -> emacs-rustic/rustic@9fdf5c76b2
emacs-straight/auctex@08881d08ce -> emacs-straight/auctex@0de9730957
emacs-typescript/typescript.el@fc3a4f3b27 -> emacs-typescript/typescript.el@dd10f702d4
emacsmirror/org-contrib@ccd4212866 -> emacsmirror/org-contrib@f22bdd6a58
emacsmirror/paredit@037b9b8acb -> emacsmirror/paredit@af075775af
emacsorphanage/dart-mode@44beb628e5 -> emacsorphanage/dart-mode@02e919c1cf
emacsorphanage/macrostep@4939d88779 -> emacsorphanage/macrostep@419873665f
erlang/otp@c66bf53cde -> erlang/otp@094260aba7
flatwhatson/scheme-mode@51e586e5f1 -> flatwhatson/scheme-mode@a713b253d2
godotengine/emacs-gdscript-mode@32086df833 -> godotengine/emacs-gdscript-mode@bee7f99c6f
greghendershott/racket-mode@dba66c4536 -> greghendershott/racket-mode@c5bee6895b
hakimel/reveal.js@472535065c -> hakimel/reveal.js@0d02d8a303
haskell/haskell-mode@727f72a2a4 -> haskell/haskell-mode@1a285fc4c5
hniksic/emacs-htmlize@ed5e5b05fd -> hniksic/emacs-htmlize@8e3841c837
jimhourihan/glsl-mode@9b2e5f28e4 -> jimhourihan/glsl-mode@c5f2c2e7ed
jrblevin/markdown-mode@6102ac5b73 -> jrblevin/markdown-mode@b8637bae07
jwiegley/emacs-async@43f97d7e68 -> jwiegley/emacs-async@af47d6f930
kaushalmodi/ox-hugo@c4156d9d38 -> kaushalmodi/ox-hugo@98421a1298
ledger/ledger-mode@a6be7a2d79 -> ledger/ledger-mode@356d8049ed
necaris/conda.el@ce748a53f9 -> necaris/conda.el@05de0c8f0c
non-Jedi/eglot-jl@1d9cab6823 -> non-Jedi/eglot-jl@7c968cc61f
nonsequitur/inf-ruby@b234625c85 -> nonsequitur/inf-ruby@6399a36682
ocaml/dune@a7924e322e -> ocaml/dune@5ac095c7c0
ocaml/merlin@e016abfac6 -> ocaml/merlin@a36f42a5b1
org-noter/org-noter@6f292d7f1e -> org-noter/org-noter@691efc3ed4
org-roam/org-roam@0b9fcbc97b -> org-roam/org-roam@2a630476b3
purcell/flycheck-ledger@628e25ba66 -> purcell/flycheck-ledger@48bed9193c
purcell/flycheck-package@75efa098cf -> purcell/flycheck-package@a52e4e95f3
purcell/less-css-mode@c7fa3d56d8 -> purcell/less-css-mode@c78b88ff9a
purescript-emacs/purescript-mode@eacc61aaaf -> purescript-emacs/purescript-mode@d187b3d4bb
rust-lang/rust-mode@c87f6f82bd -> rust-lang/rust-mode@542f1755d8
seagle0128/grip-mode@9adac9c989 -> seagle0128/grip-mode@d6c7e33e40
senny/rbenv.el@588b817d51 -> senny/rbenv.el@4afe1dc6bd
swift-emacs/swift-mode@b06c97b909 -> swift-emacs/swift-mode@ab189d6e89
technomancy/fennel-mode@f4bd34e1c3 -> technomancy/fennel-mode@259470b297
tpapp/julia-repl@801d0fc3d8 -> tpapp/julia-repl@bb90cc1fce
wbolster/emacs-python-pytest@dcdaec6fe2 -> wbolster/emacs-python-pytest@25d9801562
yoshiki/yaml-mode@7b5ce294fb -> yoshiki/yaml-mode@d91f878729
ziglang/zig-mode@f55e42536a -> ziglang/zig-mode@f0b4a48753
2024-11-19 17:49:29 -05:00
a211332796 fix(python): invalid command for basedpyright
`lsp-pyright-langserver-command` does not recognize a full path, only
"pyright" or "basedpyright".

Fix: #8160
Close: #8161
2024-11-19 16:50:28 -05:00
7533707e00 fix(coq): file-missing generic/proof-site error
To work around shenanigans in proof-general's autoloads. Should be
reverted once ProofGeneral/PG#771 is resolved.

Fix: #8169
Ref: ProofGeneral/PG#771
2024-11-19 04:40:42 -05:00
2b0013db1c bump: emacsql
magit/emacsql@HEAD -> magit/emacsql@491105a01f

- Reverts to an older version of emacsql for Emacs <29 users, which is
  necessary until org-roam/org-roam#2485 is dealt with.

Ref: org-roam/org-roam#2485
Ref: 90ede31698
2024-11-19 01:04:41 -05:00
90ede31698 fix(org): org-roam: remove emacsql-sqlite hacks
emacs-sqlite.el was removed upstream in magit/emacsql@8ebf559, and the
custom sqlite executable is no longer built as of magit/emacsql@7a79c2b,
which renders these two advice mostly unnecessary (plus they throw
void-function `emacsql-sqlite-ensure-binary` errors).

Fix: #8167
Ref: org-roam/org-roam#2485
Ref: magit/emacsql@8ebf559f58
Ref: magit/emacsql@7a79c2be3d
2024-11-19 00:42:34 -05:00
04c7cf51b4 tweak(emacs-lisp): imenu: rearrange groups & fix nested cl types
In order to make imenu in elisp buffers more useful:

- Sections are given the highest precedence, and should only show lines
  with more than two semicolons at the start of the line.
- Fixes an issue where cl-defstruct blocks with options in its NAME
  argument were missed by imenu. I.e. with (cl-defstruct (foo ...)),
  `foo` would not show up in imenu.
2024-11-16 06:57:02 -05:00
89b087a283 bump: :editor
emacs-evil/evil-collection@6365e7c8ae -> emacs-evil/evil-collection@01d791dd63
emacs-evil/evil@5db0bdc7dc -> emacs-evil/evil@b7ab3840db
emacs-tree-sitter/ts-fold@55f80a202a -> emacs-tree-sitter/ts-fold@01c9ecaaa8
emacsorphanage/god-mode@607aff10a7 -> emacsorphanage/god-mode@9f3f6a1dc9
gabesoft/evil-mc@cff3374bfe -> gabesoft/evil-mc@7e363dd6b0
joaotavora/yasnippet@eb5ba2664c -> joaotavora/yasnippet@fe1f4e0e96
justinbarclay/parinfer-rust-mode@0d16bd75ad -> justinbarclay/parinfer-rust-mode@c611628fbe
radian-software/apheleia@61766b50b2 -> radian-software/apheleia@429daf5f28

- zigfmt is now defined upstream and is no longer needed in lang/zig.

Revert: c7794ba06c
2024-10-31 21:54:20 -04:00
dea6552ef9 fix(agda): agda2-auto-maybe-all -> agda2-mimer-maybe-all
Fixes the broken Agda auto mode in Doom Emacs caused by the
introduction of mimer in Agda 2.7.0.

* modules/lang/agda/config.el (agda-auto-mode):
replaced agsy with mimer for auto mode call.
2024-10-24 17:43:56 -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
b9deb35aab bump: :lang factor
factor/fuel@31dc1a386b -> factor/fuel@6d0e98494f

Melpa's upstream and recipe for `fuel` changed (see
4a3d7cdefa):
previously it was pulled from a subdirectory of the main `factor`
repository, it now has its own repository. Applying Doom's previous pin
to the new recipe does not seem to work correctly, so update.
2024-10-20 02:32:16 -04:00
68b3cc86c5 fix(ruby): replace the obsolete macro featurep! with modulep!
Amend: fc35b3cf37
2024-10-03 00:41:42 -04:00
397d149313 fix(python): renamed python-pytest commands
These two commands were renamed upstream and pulled in in 1fa1eba:

- python-pytest-function-dwim -> python-pytest-run-def-or-class-at-point
- python-pytest-function-dwim -> python-pytest-run-def-or-class-at-point-dwim

Amend: 1fa1eba5ac
Ref: wbolster/emacs-python-pytest#75
2024-10-03 00:39:55 -04:00
9d859f62e4 fix(clojure): type error evilifying cider-debug keys 2024-10-03 00:36:57 -04:00
c75e1b915b docs(cc): treat clangd as default/better option
clangd was made the default LSP client for the cc module in cc8cf81.
This updates the module's docs to reflect this.

Amend: cc8cf810f5
Ref: #2689
2024-10-02 21:53:43 -04:00
a2b1c4da78 feat(emacs-lisp): extend fontification to lisp-{data,interaction}-mode
Was supposed to be part of 22d5e30.

Amend: 22d5e3059f
2024-09-17 06:05:30 -04:00
0b2ccac007 fix(emacs-lisp): lookup docs backend w/o helpful
Use `helpful-symbol` if it's present and the symbol at point doesn't
represent a cl-type (falling back to `describe-symbol` otherwise).

Fix: #8068
2024-09-17 05:57:33 -04:00
22d5e3059f feat(emacs-lisp): extend config to lisp-{data,interaction}-mode
So these modes (and particularly .doom* dotfiles and .dir-locals.el) can
benefit from smarter syntax highlighting and integration with other
modules.
2024-09-17 05:56:44 -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
d633c15042 perf(cc): lsp-clangd: halve core count for indexing
Ref: cec81ac2cc
2024-09-14 16:08:43 -04:00
2e5307e425 fix(emacs-lisp): always try Helpful for doc lookup
As per the description in 6671adc68, this module should always use
Helpful's functions as long as Helpful is available (ie. not explicitly
disabled by the user in packages.el). The remapping of `describe-symbol`
is irrelevant here - the user might prefer to rebind `C-h C-o` to
`describe-symbol` (as `helpful-symbol` cannot look up types), but that
doesn't necessarily mean they want this module not to use it.
2024-09-14 13:08:00 -07:00
d34770407c fix(emacs-lisp): unremap describe-symbol to helpful-symbol
The latter can't look up cl types. Rather than remap it globally, allow
folks to bind them separately.
2024-09-14 15:22:06 -04:00