Commit graph

4415 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
d633c15042
perf(cc): lsp-clangd: halve core count for indexing
Ref: cec81ac2cc
2024-09-14 16:08:43 -04:00
45mg
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Sorawee Porncharoenwase
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
Henrik Lissner
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
Otávio Schwanck dos Santos
fc35b3cf37
feat(ruby): add rails-{routes,i18n} & ruby-json-to-hash
Close: #5821
2024-09-11 04:33:36 -04:00
Henrik Lissner
e6514cdf47
docs(idris): +lsp and idris2 compatibility
Close: #7229
2024-09-10 17:16:29 -04:00
Henrik Lissner
08f5eef3ce
fix(idris): add ".ibc" to completion-ignored-extensions 2024-09-10 17:05:29 -04:00
Henrik Lissner
75763ae786
feat(idris): add flycheck support 2024-09-10 17:05:19 -04:00
Henrik Lissner
0ee89cbb5c
tweak(idris): add popup rules 2024-09-10 17:04:20 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
374c28cedd
refactor(cc): only bind ccls keys if ccls is present
Fix: #5597
2024-09-09 17:24:45 -04:00
Henrik Lissner
cc8cf810f5
tweak(cc): prioritize clangd over ccls
lsp-clangd's default priority is -1.

Fix: #2689
2024-09-09 16:10:34 -04:00
Henrik Lissner
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
Henrik Lissner
01c19094e8
fix(python): type error if conda-anaconda-home is unset
Amend: 8f60a1bc46
2024-09-09 14:39:44 -04:00
Henrik Lissner
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
Eleanor Bartle
ac1122ae67
tweak(erlang): format w/ erlfmt instead of efmt 2024-09-07 15:11:43 -04:00
Henrik Lissner
79684ade71
fix(latex): run after-compilation-finished hook after Tex-Tex-sentinel
Fix: #8051
2024-09-06 04:46:36 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
d6bc2b0f19
fix(python): respect $ANACONDA_HOME
Amend: 8f60a1bc46
2024-09-02 01:10:58 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
d8157d8cc6
tweak(org): move RET keybinds from normal to motion state 2024-08-31 22:08:56 -04:00
Henrik Lissner
b2ce4f0afc
refactor(org): +org-exclude-agenda-buffers-from-workspace-h 2024-08-31 22:08:55 -04:00
Henrik Lissner
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
Henrik Lissner
78f8026620
fix(latex): auto-reveal folded regions at point
Fix: #8031
2024-08-30 18:45:00 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Samuel Tschiedel
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
9df815a450
fix(plantuml): ref to incorrect jar path variable 2024-08-23 17:48:33 -04:00
Henrik Lissner
7eb61896f4
fix(org): jupyter-org-mime-types: restore :text/html
Ref: emacs-jupyter/jupyter#477
Ref: #2477
2024-08-23 17:48:32 -04:00
Henrik Lissner
ad26fcdbdd
perf(emacs-lisp): elisp-demos: inhibit local-vars hooks 2024-08-22 22:37:13 -04:00