Commit Graph

4417 Commits

Author SHA1 Message Date
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
c07f359d64 fix(ligatures): activate prettify-symbols-mode conditionally
With +extra enabled, this module would activate `prettify-symbols-mode`
in any buffer where `prettify-symbols-alist` is non-nil, whether or not
`+ligatures-extra-alist` has an entry for the current major mode (or a
parent thereof). This behavior is poor UX, since the user may be
expecting that a empty entry for some `X-mode` in
`+ligatures-extra-alist` should mean *no` prettify-symbols-mode` at all
in `X-mode`.

With this, `+ligatures-extra-alist` is now the authority. An empty entry
for `X-mode` will result in `prettify-symbols-mode` *not* being
activated there. If that entry *isn't* empty, it will be combined only
with the global default value of `prettify-symbols-alist`, not any
pre-existing buffer-local value, to make the end result deterministic,
because some modes have their own defaults for it (like
`lisp-prettify-symbols-alist`, `js--prettify-symbols-alist`, and
`rust-prettify-symbols-alist`).

Fix: #7440
2024-09-13 23:07:14 -04:00
d735c9be3d fix(graphviz): don't eagerly load flycheck at startup
Due to eager expansion of the flycheck-define-checker macro. Causes a
hefty delay in startup times.
2024-09-13 23:07:13 -04:00
be422c4516 fix(graphviz): org babel integration
Forgot that `ob-dot.el` exists in Org. I blindly expected the
`graphviz-dot-mode` package to provide babel support in f6b7e8a.

Also, `org-src-lang-modes` expects its CDRs to omit the -mode suffix,
which should fix syntax highlighting of graphviz/dot babel blocks.

Amend: f6b7e8ae48
Ref: #7546
2024-09-12 03:54:36 -04:00
1baebdafb3 feat(racket): add +hash-lang
`racket-mode` recently added `racket-hash-lang-mode` as an alternative
major mode.

Close: #7543
Co-authored-by: hlissner <hlissner@users.noreply.github.com>
2024-09-11 19:46:14 -04:00
f6b7e8ae48 module: add :lang graphviz
Close: #7546
Co-authored-by: nbfalcon <nbfalcon@users.noreply.github.com>
Co-authored-by: peterhoeg <peterhoeg@users.noreply.github.com>
2024-09-11 19:45:36 -04:00
fc35b3cf37 feat(ruby): add rails-{routes,i18n} & ruby-json-to-hash
Close: #5821
2024-09-11 04:33:36 -04:00
e6514cdf47 docs(idris): +lsp and idris2 compatibility
Close: #7229
2024-09-10 17:16:29 -04:00
08f5eef3ce fix(idris): add ".ibc" to completion-ignored-extensions 2024-09-10 17:05:29 -04:00
75763ae786 feat(idris): add flycheck support 2024-09-10 17:05:19 -04:00
0ee89cbb5c tweak(idris): add popup rules 2024-09-10 17:04:20 -04:00
ad5e3dcce8 fix(emacs-lisp): byte-compiling missing function
This wasn't causing any errors, but `+emacs-lisp-truncate-pin` was
removed in 639fcc6.

Amend: 639fcc6a2e
2024-09-10 03:35:27 -04:00
b03e78918b bump: org-contacts ob-php
https://repo.or.cz/org-contacts.git@f0a430442b2a -> doomelpa/org-contacts@f0a430442b
https://repo.or.cz/ob-php.git@6ebf7799e9de -> doomelpa/org-contacts@6ebf7799e9

Moved these packages to a more stable host.
2024-09-09 20:15:43 -04:00
005831bfcc refactor(lsp): let lsp-mode load lsp client packages
Most of these lsp packages are already in `lsp-client-packages`, which
lsp-mode will eagerly load the first time `lsp-mode` is activated, so we
don't need to do it ourselves, except in cases where the package isn't
in `lsp-client-packages` (like lsp-julia).
2024-09-09 17:24:45 -04:00
374c28cedd refactor(cc): only bind ccls keys if ccls is present
Fix: #5597
2024-09-09 17:24:45 -04:00
cc8cf810f5 tweak(cc): prioritize clangd over ccls
lsp-clangd's default priority is -1.

Fix: #2689
2024-09-09 16:10:34 -04:00
1a33838423 refactor!(cc): remove irony and rtags
BREAKING CHANGE: This removes the irony and rtags packages so we can
lean on LSP servers like clangd and ccls fully, which provide the same
features with much more consistency.

Close: #8049
2024-09-09 16:10:19 -04:00
01c19094e8 fix(python): type error if conda-anaconda-home is unset
Amend: 8f60a1bc46
2024-09-09 14:39:44 -04:00
0dc1084e8a bump: :lang
ProofGeneral/PG@99f91e873e -> ProofGeneral/PG@3a99da2755
agda/agda@fbf9d159c3 -> agda/agda@4f82f9b90a
amake/flutter.el@004c91e070 -> amake/flutter.el@e71235d400
babashka/neil@a38be9f082 -> babashka/neil@6728367eff
beancount/beancount-mode@71c1622246 -> beancount/beancount-mode@7b437abcf0
chachi/cuda-mode@7dd07a20c3 -> chachi/cuda-mode@c3dae31b3d
clojure-emacs/cider@105da319b0 -> clojure-emacs/cider@8fdb53e8be
dominikh/go-mode.el@636d36e37a -> dominikh/go-mode.el@602d73e226
emacs-geiser/geiser@b6b4ac070d -> emacs-geiser/geiser@97ce88463f
emacs-geiser/guile@d5175439c0 -> emacs-geiser/guile@5a856c2982
emacs-gnuplot/gnuplot@7138b139d2 -> emacs-gnuplot/gnuplot@4c6b18f71f
emacs-lsp/lsp-dart@1f52e81c93 -> emacs-lsp/lsp-dart@9ffbafb7dc
emacs-lsp/lsp-haskell@18a7c7881f -> emacs-lsp/lsp-haskell@ba49fa9822
emacs-lsp/lsp-java@4909c14b90 -> emacs-lsp/lsp-java@868600bf7f
emacs-lsp/lsp-metals@fa4072cbe7 -> emacs-lsp/lsp-metals@0dc938be11
emacs-lsp/lsp-sourcekit@bb2b7e0278 -> emacs-lsp/lsp-sourcekit@63ff1ab638
emacs-lsp/lsp-treemacs@1d43e9e030 -> emacs-lsp/lsp-treemacs@fb1a07ae0a
emacs-straight/adaptive-wrap@f5bc153273 -> emacs-straight/adaptive-wrap@d75665b9c8
emacs-straight/auctex@451b0f08b0 -> emacs-straight/auctex@08881d08ce
emacs-straight/csv-mode@cdb73a771b -> emacs-straight/csv-mode@6979fc18eb
emacs-straight/org-mode@f398724bd5 -> emacs-straight/org-mode@6a5d0ed342
emacs-straight/rainbow-mode@0740f31f30 -> emacs-straight/rainbow-mode@2e6b18609c
emacs-straight/sml-mode@d114e5a27f -> emacs-straight/sml-mode@021233f60a
emacsmirror/paredit@9a2c4b37fc -> emacsmirror/paredit@037b9b8acb
ericdallo/jet.el@7d5157aac6 -> ericdallo/jet.el@c9a92675ef
erlang/otp@2a64588d4a -> erlang/otp@c66bf53cde
factor/factor@d143007778 -> factor/factor@31dc1a386b
fosskers/sly-overlay@4c6135c260 -> fosskers/sly-overlay@d629450590
fxbois/web-mode@005aa62d6f -> fxbois/web-mode@0c83581d1e
gcv/julia-snail@f7784c5007 -> gcv/julia-snail@dff92c4250
greghendershott/racket-mode@40ecb87f40 -> greghendershott/racket-mode@dba66c4536
hhvm/hack-mode@ccf20511f0 -> hhvm/hack-mode@343e45f2a6
https://repo.or.cz/org-contacts.git@d0cb221502c9 -> https://repo.or.cz/org-contacts.git@f0a430442b2a
hvesalai/emacs-scala-mode@4c6d636b86 -> hvesalai/emacs-scala-mode@bd0638c32a
idris-hackers/idris-mode@38dd2380dc -> idris-hackers/idris-mode@09de86a8f0
ifitzpatrick/graphql-doc.el@d37140267e -> ifitzpatrick/graphql-doc.el@17755a2466
jart/disaster@16bba9afb9 -> jart/disaster@b20f8e1ef9
joaotavora/sly@ba40c8f054 -> joaotavora/sly@742355f755
jorgenschaefer/emacs-buttercup@a1a86b027f -> jorgenschaefer/emacs-buttercup@bf01a33f8b
jrblevin/markdown-mode@8aab017f47 -> jrblevin/markdown-mode@6102ac5b73
jschaf/powershell.el@f2da15857e -> jschaf/powershell.el@38727f1cda
jwiegley/emacs-async@f317b0c9c3 -> jwiegley/emacs-async@43f97d7e68
ledger/ledger-mode@b0e65f74a5 -> ledger/ledger-mode@a6be7a2d79
nonsequitur/inf-ruby@0cfe8b2fb1 -> nonsequitur/inf-ruby@b234625c85
ocaml/dune@96ed5fb42f -> ocaml/dune@a7924e322e
ocaml/merlin@9fa77dbe81 -> ocaml/merlin@e016abfac6
oer/org-re-reveal@dbd8ffb3e5 -> oer/org-re-reveal@91610ba9b0
org-noter/org-noter@68646b685a -> org-noter/org-noter@6f292d7f1e
org-roam/org-roam@8667e44187 -> org-roam/org-roam@0b9fcbc97b
rust-lang/rust-mode@a529a45181 -> rust-lang/rust-mode@c87f6f82bd
seagle0128/grip-mode@7c42b8f61d -> seagle0128/grip-mode@9adac9c989
technomancy/fennel-mode@a4ddd1750f -> technomancy/fennel-mode@f4bd34e1c3

From this point on, Org will be pinned to tagged releases.
2024-09-07 19:04:37 -04:00
ac1122ae67 tweak(erlang): format w/ erlfmt instead of efmt 2024-09-07 15:11:43 -04:00
79684ade71 fix(latex): run after-compilation-finished hook after Tex-Tex-sentinel
Fix: #8051
2024-09-06 04:46:36 -04:00
fe54aa436c fix(latex): modes not remapped to auctex modes
Deduced from a comment in 21a252d (where
`TeX-after-compilation-finished-functions` wasn't being triggered
because the user was in latex-mode, instead of LaTeX-mode).

Fix: 21a252d994
2024-09-05 16:01:03 -04:00
03e5f1333c fix(latex): reorder viewers wrt +latex-viewers
If a viewer already exists in `TeX-view-program-selection`, loading
`+viewer.el` does not change its order because `add-to-list` does
nothing when the item is already in the list.

Close: #8046
Fix: #5275
Co-authored-by: cartoonist <cartoonist@users.noreply.github.com>
2024-09-05 15:30:22 -04:00
1fa1eba5ac bump: :lang python
emacs-lsp/lsp-pyright@cc6df06aea -> emacs-lsp/lsp-pyright@0c0d72aedd
necaris/conda.el@60e14d1e97 -> necaris/conda.el@ce748a53f9
pythonic-emacs/anaconda-mode@79fa9b4d2b -> pythonic-emacs/anaconda-mode@f900bd7656
pythonic-emacs/company-anaconda@1fe526163c -> pythonic-emacs/company-anaconda@169252fca7
pythonic-emacs/pyenv-mode@de0d750b9c -> pythonic-emacs/pyenv-mode@76787ea44f
wbolster/emacs-python-pytest@9f850e22df -> wbolster/emacs-python-pytest@dcdaec6fe2

- Adds basedpyright support to lsp-pyright; and will prioritize it above
  pyright, if found on your system.

Ref: emacs-lsp/lsp-pyright#101
2024-09-05 15:30:22 -04:00
d6bc2b0f19 fix(python): respect $ANACONDA_HOME
Amend: 8f60a1bc46
2024-09-02 01:10:58 -04:00
8f60a1bc46 fix(python): type error on loading conda.el
When conda.el evaluates `conda-anaconda-home's initial value, and none
of `conda-home-candidates` exist on the user's system, `nil` will be
passed to `expand-file-name`, which requires a string argument, thus
throwing a type error, so we've got to set `conda-anaconda-home` to nil
to prevent it, then reinvent the wheel later.

This should be resolved upstream, but conda.el hasn't been updated in
some time...

Fix: #7283
2024-09-02 01:05:53 -04:00
295ab7ed3a feat(org): add "doom +org tangle" command
Introduces a formal bin/doom command for tangling files, to replace the
non-functional bin/org-capture binscript.

Close: #6599
Close: #6267
2024-09-01 17:53:44 -04:00
d8157d8cc6 tweak(org): move RET keybinds from normal to motion state 2024-08-31 22:08:56 -04:00
b2ce4f0afc refactor(org): +org-exclude-agenda-buffers-from-workspace-h 2024-08-31 22:08:55 -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
78f8026620 fix(latex): auto-reveal folded regions at point
Fix: #8031
2024-08-30 18:45:00 -04:00
6671adc687 refactor!: move helpful from :core to :lang emacs-lisp
BREAKING CHANGE: This moves helpful.el out of core into :lang
emacs-lisp. Since most (all) people have this module enabled, this
shouldn't make a difference for most people, but if you're one of the
few that don't have :lang emacs-lisp enabled, Doom will revert to using
Emacs' built-in help.el and describe-* commands.

Others can also disable helpful with (package! helpful :disable t) if
they prefer Emacs' built-in help system, which wasn't possible before,
because it was a core package.

This was done as part of an ongoing effort to slim down Doom's core in
preparation for v3.
2024-08-30 02:26:41 -04:00
cea17bbea3 refactor(org): remove redundant key remapping
This is already remapped in the vertico module. Plus,
`consult-org-heading` and `consult-org-agenda` are already on
"<localleader> ." and "<localleader> /".

Amend: 5e3c794d31
Ref: #7716
2024-08-28 19:34:04 -04:00
35dd2bb33c bump: :lang rust
emacs-rustic/rustic@39423d1cf4 -> emacs-rustic/rustic@d765680373
rust-lang/rust-mode@d00d83d3a2 -> rust-lang/rust-mode@a529a45181

Fix: #8029
Ref: emacs-rustic/rustic#3
2024-08-28 17:55:25 -04:00
5e3c794d31 tweak(org): remap imenu to consult-imenu
Ref: #7716
Co-authored-by: aisamu <aisamu@users.noreply.github.com>
2024-08-28 14:49:14 -04:00
1430e9c700 fix(rust): ensure order of modes in auto-mode-alist
Depending on install order, the rust-mode might get precedence, causing
rustic to not be loaded on *.rs files.
2024-08-27 03:13:57 -04:00
67a516cf0d perf(org): call yas-reload-all on TAB only once
In cases where the user has an empty snippets library (or no snippets
for the mode at point), the expensive `yas-reload-all` function would be
called each time you press tab.

Fix: #8025
2024-08-26 16:22:32 -04:00
c862968f48 fix(clojure): leverage evil-collection-cider
We're currently discarding all evil-collection bindings on
`cider--debug-mode`. Given that `j` is bound to a particularly
disruptive and non-cancellable command, this brings some friction to
evil users.

This commit adds those bindings back under `evil +everywhere`.

The in-buffer and minibuffer displayed keybindings were adjusted to
match, but not easy-menu's.

Ref: doomemacs/doomemacs#4627
2024-08-25 17:45:55 -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
4bc4b54eb9 bump: :lang php
emacs-php/composer.el@42cf9848d4 -> emacs-php/composer.el@791a7104be
emacs-php/php-mode@4792988a12 -> emacs-php/php-mode@59814bd80c
jwiegley/emacs-async@cff2bd0be3 -> jwiegley/emacs-async@f317b0c9c3
2024-08-25 17:44:28 -04:00
9dfd7ebc78 feat(ocaml): set formatter for dune-mode
Close: #8019
Co-authored-by: i-am-linja <i-am-linja@users.noreply.github.com>
2024-08-25 17:44:28 -04:00
8e76097d49 fix(org): respect evil-disable-insert-state-bindings
Close: #8023
Co-authored-by: ambirdsall <ambirdsall@users.noreply.github.com>
2024-08-23 17:48:33 -04:00
9df815a450 fix(plantuml): ref to incorrect jar path variable 2024-08-23 17:48:33 -04:00