Commit graph

13193 commits

Author SHA1 Message Date
Kisaragi Hiu
44d7c8bf37 perf(unicode): drastically reduce initial startup time
font-utils.el disable its cache on X and Windows so every check for the
existence of a font recomputes the font list, which takes a
non-negligible amount of time, at least on X. This default is reasonable
as stated in the docstring of font-utils-use-memory-cache:

> Disabled on X11 and MS Windows by default, because font-family-list
> often gives truncated results before Emacs is fully initialized.

This is, however, unreasonable from unicode-fonts, where calls to check
the existence of fonts happens in a loop; during the loop, Emacs is not
going to suddenly become fully initialized, , so each call is
actually recomputing the same font list over and over again.

Enabling the font-utils memory cache, at least for the duration of
unicode-fonts-setup, thus drastically reduces the initial startup time,
or the startup time when the pcache store is reset for some reason.
2025-12-01 00:44:00 -05:00
Max-Heinrich Laves
139ab93fef
fix(cc): gate major-mode-remap-defaults hacks behind +tree-sitter
Prevents the use of *-ts-mode's when +tree-sitter isn't enabled.
2025-12-01 00:43:36 -05:00
fanshi1028
70a018958a
fix(default): +default/diagnostics: show project-wide w/ eglot+vertico 2025-12-01 00:41:09 -05:00
Samuel Tschiedel
4b7431cba3 fix(org): check :async on already loaded languages
Running a regular/`:sync` source block would prevent successive
invocations of blocks of that same language with `:async` from loading
`ob-async`.
2025-12-01 00:38:18 -05:00
Samuel Tschiedel
bf62193238 fix(org): don't export noweb-cache-related var
Org added a global cache for noweb expansion that includes a buffer
object. Those aren’t readable by the Lisp reader across processes, so
when async.el serializes the parent environment and hits that cons
`'(#<buffer *new*> . 739 )`, the child later tries to read it and errors
with `Invalid read syntax: "#<"'`

Fix: https://github.com/astahlman/ob-async/issues/99
2025-12-01 00:38:18 -05:00
Henrik Lissner
ead254e152
bump: :config
emacs-straight/use-package@29552cf3af -> emacs-straight/use-package@c80c883dea
noctuid/link-hint.el@826993a0ab -> noctuid/link-hint.el@8fda5dcb9c
2025-11-04 22:18:26 -05:00
Henrik Lissner
073937d355
bump: :tools
Silex/docker.el@91233a7c55 -> Silex/docker.el@375e0ed45b
andras-simonyi/citeproc-el@9f16f2eee4 -> andras-simonyi/citeproc-el@a3d62ab8e4
emacs-citar/citar@75a85d8d86 -> emacs-citar/citar@427432d490
emacs-lsp/dap-mode@c81014ccc3 -> emacs-lsp/dap-mode@6c74027e39
emacs-lsp/lsp-mode@c74a723870 -> emacs-lsp/lsp-mode@c3b5fea5d6
emacs-lsp/lsp-ui@030d369603 -> emacs-lsp/lsp-ui@8547cd6abf
emacs-straight/dape@a2d7dc9a8d -> emacs-straight/dape@b5a4daaf14
emacs-straight/eglot@d2f34e5ce4 -> emacs-straight/eglot@a35ebe774d
gagbo/consult-lsp@aef321d039 -> gagbo/consult-lsp@d11102c9db
jacktasia/dumb-jump@21545d3b86 -> jacktasia/dumb-jump@0632bdb418
jdtsmith/eglot-booster@cab7803c4f -> jdtsmith/eglot-booster@cab7803c4f
joostkremers/parsebib@7bfde4e467 -> joostkremers/parsebib@4a9df6f1b4
karthink/gptel@f66e44368f -> karthink/gptel@7c8d9c8496
magit/forge@bbecd8947a -> magit/forge@71910a26e3
magit/ghub@d76cdac69f -> magit/ghub@447cb51fa7
magit/magit@dc0094bd88 -> magit/magit@b828afbb4b
magit/transient@1d109f34b7 -> magit/transient@053d56e4de
purcell/envrc@4fc7b657ea -> purcell/envrc@de1ae6e538
2025-11-04 22:15:05 -05:00
Henrik Lissner
bbaa5f49f4
bump: :ui
Alexander-Miller/treemacs@5fa8419950 -> Alexander-Miller/treemacs@05333cc23c
doomemacs/themes@3152c60bb5 -> doomemacs/themes@376cf4bdd7
jdtsmith/indent-bars@aa07a3d812 -> jdtsmith/indent-bars@c3384ec7ff
minad/goggles@791140df23 -> minad/goggles@6f87a70013
rainstormstudio/treemacs-nerd-icons@eac9fb5d92 -> rainstormstudio/treemacs-nerd-icons@0c5ddcb978
seagle0128/doom-modeline@7182b612d9 -> seagle0128/doom-modeline@20de9feaa0
tarsius/hl-todo@862d903e72 -> tarsius/hl-todo@94893087e0
2025-11-04 22:11:27 -05:00
Henrik Lissner
6aed2e7160
revert: fix(python): eglot not recognizing (based)?pyright
95a3751 was misinformed and incorrect. This reverts the change.

Revert: 95a375182b
Revert: #8436
Close: #8563
2025-11-04 21:49:28 -05:00
Henrik Lissner
7b75983b30
fix(default): kill-region on cmd-x if region is active
For non-evil users, primarily.

Fix: #8558
2025-11-04 21:49:25 -05:00
gnuemacscoin
347dd9f57b
fix(default): don't bind flycheck when flymake is active 2025-11-04 21:47:40 -05:00
Peter Hoeg
5efa6e90d1
fix(format): set-formatter! not accepting single major mode 2025-11-04 21:46:52 -05:00
Yusef Aslam
5f0ebdf2e0
docs(minimap): update & expand 2025-11-04 21:45:57 -05:00
Frestein ☁️
2ac5787cc9
nit(ligatures): fix filename in comment header 2025-11-04 21:45:19 -05:00
timhansinger
b22a3a6d7a
fix(latex): double-backlash prefixed to @start statements
Ref: https://lists.gnu.org/archive/html/emacs-orgmode/2025-09/msg00066.html
2025-11-04 21:43:53 -05:00
Henrik Lissner
ef9e8d8925
bump: centered-window
emacsmirror/centered-window@80965f6c6a -> nullvec/centered-window-mode@701f56cd1d

First, anler/centered-window-mode went missing (fixed in 9debe1b), then
emacsmirror/centered-window was rebased onto
larstvei/centered-window-mode and squashed down to one commit. Seems
Melpa now points to nullvec's mirror, so we'll target that.

Fix: #8512
Amend: 9debe1b3fc
Co-authored-by: marienz <marienz@users.noreply.github.com>
2025-10-06 07:13:25 -04:00
Henrik Lissner
5e7e93beb9
fix(vc): browse-at-remote: adapt to vc-git--call 2025-09-29 17:13:22 -04:00
Henrik Lissner
bc9618d744
fix(cc): ffap in C modes (and ts-modes) 2025-09-29 16:53:23 -04:00
Henrik Lissner
c63b207e4f
fix(evil): add error handling for :h[elp] ex command
apropos throws up an arith-error trying to rank the results of matchless
regexp (which can result in a segfault on some systems; see #8532), and
is *incredibly* slow lookuping up short queries, so the command will now
abort if the query is just a regexp operator or less than 3 characters
long.

Fix: #8532
2025-09-26 12:20:56 -04:00
Henrik Lissner
24f9918694
refactor(whitespace): conform to naming conventions
And revise docstring slightly.
2025-09-26 00:45:03 -04:00
Henrik Lissner
1d1d17e9c9
fix(upload): +upload/register-remote: don't overwrite old values
...on consecutive uses.

Amend: b7d9c1801d
2025-09-26 00:21:56 -04:00
Henrik Lissner
ef94c82e03
fix(lua): treesit: use tree-sitter-lua@v0.3.0 on <= 29
Fix: #8531
2025-09-26 00:15:54 -04:00
Henrik Lissner
2acc9c50a0
nit(tramp): fix comment about ssh>scp (part 2)
Amend: 07d5cc8124
2025-09-26 00:15:54 -04:00
Henrik Lissner
722a8d3c7a
refactor(default): move whitespace & tramp config
- tramp-default-method is already set in :emacs tramp.
- Moves the whitespace config to the new whitespace module.

Amend: fbdde6b5f4
Amend: 71eae252ac
2025-09-25 19:05:24 -04:00
Henrik Lissner
1a116f51a9
fix(upload): ensure ssh-deploy is loaded
The ssh-deploy-root-remote check isn't enough (they may be set file/dir
locally before the package is loaded).
2025-09-25 16:00:18 -04:00
Henrik Lissner
b7d9c1801d
feat(upload): add commands for manual/temporary mappings
Close: #8529
Co-authored-by: stfl <stfl@users.noreply.github.com>
2025-09-25 15:55:29 -04:00
Henrik Lissner
db33b94cf1
feat(upload): activate ssh-deploy-line-mode
When the variables are set.
2025-09-25 15:54:58 -04:00
Henrik Lissner
7c425b8072
docs(upload): revise & clarify
Flesh out usage section and flesh out comments in config.el.
2025-09-25 15:53:45 -04:00
Henrik Lissner
07d5cc8124
nit(tramp): fix comment about ssh>scp 2025-09-25 03:30:12 -04:00
Henrik Lissner
d6e1f25e77
tweak(lsp): eglot-code-action-indications: remove margin
Ref: doomemacs/community#37
2025-09-24 21:11:12 -04:00
Henrik Lissner
5b9978c636
fix(gdscript): add interpreter-mode-alist entry
Upstream only adds this for gdscript-ts-mode?
2025-09-24 21:04:26 -04:00
Henrik Lissner
97854432ce
feat(gdscript): add treesit support 2025-09-24 21:04:26 -04:00
Caramel Hooves
f782b0d021 fix(vertico): search for ripgrep on remote machine
When default-directory is is located on a remote host, we should search for "rg"
on the remote host. (executable-find) without the optional 't' will
search only on the local host.

Fix: #8525
2025-09-24 18:57:07 -04:00
Henrik Lissner
1b6b8c5fde
fix(editorconfig): only set tab-width in old org-mode
Upstream now more aggressively ensures tab-width is 8, so this hook only
exists for users on older versions.

Ref: emacs-straight/org-mode@0dc647ff54
2025-09-24 14:26:14 -04:00
Henrik Lissner
395a058d7d
feat(terraform): eglot: use tofu-ls if present
This should be upstreamed.

Ref: doomemacs/community#17
2025-09-24 14:04:53 -04:00
Henrik Lissner
fbdde6b5f4
module!: add :editor whitespace
BREAKING CHANGE: Moves ws-butler, dtrt-indent, and whitespace defaults
out of Doom's core and into a new module. ws-butler is gated behind
+trim and dtrt-indent behind +guess. Users who depend on/like these
packages will need to enable the new module and their respective
flags (which is the default going forward).

This change is motivated by an ongoing effort to slim down Doom's
core (by (re)moving non-essentials from it).

This also addresses an issue where dtrt-indent would vastly increase
load times for some major-modes (e.g. elixir-mode & elm-mode, see #7537)
by restricting it to non-project files and non-read-only buffers AND
excludign those two major modes from indent guessing.

Fix: #8516
Fix: #7537
2025-09-24 02:23:30 -04:00
Henrik Lissner
22f86d25e9
fix(elixir): void-variable lsp-elixir-server-command
Amend: 4f62b503b9
2025-09-24 00:08:34 -04:00
Henrik Lissner
e297796387
fix(lsp): rebuild lsp-mode if lsp-use-plists is changed
...since the last time 'doom sync' was executed.
2025-09-22 23:30:03 -04:00
Henrik Lissner
4f62b503b9
fix(elixir): use elixir-ls if in $PATH
And if the user hasn't themselves changed `lsp-elixir-server-command`.
2025-09-22 23:29:57 -04:00
XIE Huiwu
230f8999ab fix(php): tree-sitter indent rule should use cdar instead of cadr 2025-09-22 11:11:02 -04:00
Henrik Lissner
2b17ddc2cf
docs(tramp): mention gdb-mi incompatibility
Ref: #8510
2025-09-21 22:47:39 -04:00
Troy Brown
31c43cdceb fix(ada): use gpr-specific modes and indent properly
GNAT Project modes (`gpr-mode` and `gpr-ts-mode`) exist to handle .gpr files.
These modes are now used instead of the Ada major mode.

Lines may need to be re-indented when RET is pressed.  This is to handle cases
of incomplete syntax and ambiguity in what may be entered when an empty line is
initially indented.  Re-indenting after text has been entered corrects
incorrectly guessed initial indentation.  To accommodate this scenario, RET is
remapped to `reindent-then-newline-and-indent`.

Also updates documentation to reflect these changes.
2025-09-21 19:45:01 -04:00
Henrik Lissner
c27621a777
fix(evil): evil-respect-visual-line-mode: up/down/end/home keys
Fix: #7249
Ref: emacs-evil/evil#1971
2025-09-20 16:05:12 -04:00
Henrik Lissner
bdacdfa67c
fix(format): register more ts-modes
While not strictly necessary (because apheleia uses
`provided-mode-derived-p` for its major mode tests), many *-ts-modes
didn't declare themselves children of their base modes until 30.1+.
2025-09-20 14:52:01 -04:00
Henrik Lissner
c48aa1851c
fix(org): load +roam.el for +roam2
Was meant to be part of d92883b, for backwards compatibility with folks
still using the +roam2 flag.

Amend: d92883bff8
2025-09-20 14:39:02 -04:00
Henrik Lissner
fffefc3118
fix(format): consolidate save-without-formatting keybind
It's too much hassle to claim either 'SPC b s' or 'SPC f s' for the
saving-without-formatting command (and to justify why one over the
other), so porque no los dos? Plus, I now leave 'C-x C-s' (save-buffer)
alone; principle of least surprise and what not.

Fix: #8460
Ref: https://xkcd.com/1172
2025-09-20 14:22:15 -04:00
Henrik Lissner
eacd1a030e
fix(biblio): helm + org-cite-insert interop
Fix: #8462
2025-09-20 13:56:40 -04:00
Henrik Lissner
b43d748d67
fix(default): corfu-indexed-mode & RET interop
This whole RET/TAB/DEL system needs rethinking, but it'll have to wait.

Fix: #8120
2025-09-20 13:34:48 -04:00
Henrik Lissner
2a65250743
refactor(org): +roam: remove org-roam-v2-ack
Was removed upstream.

Ref: org-roam/org-roam@2c5f429b24
2025-09-20 13:04:52 -04:00
Henrik Lissner
055788047c
fix(sml): mirror sml-mode config to sml-ts-mode 2025-09-20 12:37:24 -04:00