Commit graph

19473 commits

Author SHA1 Message Date
StrawberryTea
4f07e83b6e fix(vertico): missing command error in consult
Although it is rare for a user to not enable the :config default module,
enabling/disabling modules one-by-one is common practice for debugging
Doom Emacs. This PR fixes an error that occurs when you have :completion
vertico enabled without enabling :config default.
2024-04-06 00:14:47 -04:00
StrawberryTea
f79bb46c9b fix(corfu): prevent void-variable error
Although this error will not be triggered by most people, since
auth-source is loaded by a lot of packages, it can still happen if you
are debugging your configuration (e.g. enabling/disabling modules
one-by-one).
2024-04-06 00:14:09 -04:00
Henrik Lissner
57f43e0953
fix(vc): *vc-{diff,change-log}* popup rules
The former rules weren't proccing on these buffers. Also
changes *vc-diff* popups to resize based on contents.
2024-04-05 19:05:54 -04:00
Henrik Lissner
ac33107228
bump: :lang factor
factor/factor@23fcfc7075 -> factor/factor@12fc9d5071
2024-04-05 19:05:29 -04:00
Henrik Lissner
681dd7bb55
fix(factor): handle fuel popups
Fix: #7788
Co-authored-by: steve-ayerhart <steve-ayerhart@users.noreply.github.com>
2024-04-05 19:04:45 -04:00
Henrik Lissner
1f921ca7a7
fix(factor): package association for lookup handlers & keybinds
This ensures all these fuel keybinds on factor-mode-map (and the
fuel-based lookup handlers) are associated with the fuel-mode
package (in case the user disables the fuel package).

Fix: #7788
Co-authored-by: steve-ayerhart <steve-ayerhart@users.noreply.github.com>
2024-04-05 19:03:18 -04:00
Henrik Lissner
854f4103ff
fix(factor): repl handler
Otherwise `+eval/open-repl-*` commands will emit "REPL handler X failed
to return a buffer" errors.

Fix: #7788
Co-authored-by: steve-ayerhart <steve-ayerhart@users.noreply.github.com>
2024-04-05 19:01:59 -04:00
Henrik Lissner
0cf7824256
refactor(eval): avoid seq-uniq & cl-{first,second}
- While seq.el is likely present, Doom does not guarantee it in
  interactive sesions like it guarantees cl-lib's presence.
- There is no reason to ever use cl-first/cl-second.
2024-04-05 18:54:35 -04:00
Henrik Lissner
f18603e66a
feat(lib): sudo-{find,this}-file: invoke save-place
After switching to the sudo-ed tramp buffer, this restores the point and
scroll position of the window to match the source buffer.

I exploit save-place here instead of simply saving/restoring (point)
and (window-start), because I believe it's better UX that save-place
treat the two buffers as effectively the same now and in the future, and
record the last cursor position equally between them, even if the
implementation is messier. This *could* be generalized into an advice
for save-place-find-file-hook and save-place-to-alist, but that's an
experiment for another day.

This is an experimental implementation and may change later.

Close: #7181
Co-authored-by: YourFin <YourFin@users.noreply.github.com>
2024-04-05 18:38:14 -04:00
Henrik Lissner
cf6d44d82d
fix(rust): lsp-mode: produce better hover info
The caching of rust-analyzer (RA) is too aggressive and leads to bad
results.

RA does not give a protocol-compliant way to extract 1 line information
from the hover response, so `lsp-mode` displays the first line of the
result, which currently is the byte alignment of the data

Fix: #6951
Close: #7754
Co-authored-by: gagbo <gagbo@users.noreply.github.com>
Co-authored-by: scturtle <scturtle@users.noreply.github.com>
2024-04-05 16:03:47 -04:00
Henrik Lissner
a6a011fc9c
fix(mu4e): void-function mu4e-clear-caches error
mu4e-clear-caches was removed in djcb/mu@f73aad2b41, so users on
1.12.2 or so will see void-function errors until djcb/mu@770a2396de is
propagated to distro package managers, which likely won't happen
soon (esp for LTS distros).

Fix: #7703
Ref: djcb/mu@f73aad2b41
Ref: djcb/mu@770a2396de
Co-authored-by: dltacube <dltacube@users.noreply.github.com>
2024-04-05 14:30:59 -04:00
Henrik Lissner
82e0641bf7
refactor: remove redundant auto-mode-alist entries
Also removes the *.{hex,nes} entry because it's far too niche to be a
global default.
2024-04-05 12:06:18 -04:00
Henrik Lissner
fb96c8df5a
refactor(corfu): use hook symbols in add-hook! calls
A common challenge for beginners is distinguishing packages, modes, and
hooks, and since Doom's source code is meant to second as another layer
of documentation, I prefer to be explicit with hook symbols in
`add-hook!` calls (at least, for internal/module use).
2024-04-05 12:06:02 -04:00
Henrik Lissner
59f3568217
docs(julia): reformat & fix package/flag links 2024-04-05 12:05:56 -04:00
Henrik Lissner
881defae2d
fix(julia): duplicate popup rules
Having the same rule in two separate package configs means users must be
aware of both to modify either, which is avoidable complexity. i.e.

  (after! (:or julia-repl julia-snail)
    (set-popup-rule! "^\\*julia" ...))
2024-04-05 11:51:21 -04:00
Henrik Lissner
d205643cab
bump: :tools pdf
vedang/pdf-tools@93e7492451 -> vedang/pdf-tools@a1048bceb2

- Fixes `pdf-tools-install` for users on MacOS
  Sonoma (vedang/pdf-tools#269).

Ref: vedang/pdf-tools#269
2024-04-05 11:34:34 -04:00
Henrik Lissner
8d370d5608
refactor: doom--last-frame: remove unused symbol
Its last reference was removed in e889b2c. Not sure why this stuck
around for so long.

Ref: 0bb4d4dfcb
2024-04-04 23:46:07 -04:00
Henrik Lissner
0b93ecf42c
fix(lib): sudo-{find,this}-file: disable auto-save
auto-save can trigger processes that hang silently in the background,
making those buffers inoperable (hanging Emacs) for the rest of the
session, even if they are killed (tramp caches them), so I suppress them
solely for these temporary tramp buffers created by doom/sudo-find-file
and doom/sudo-this-file.
2024-04-04 23:46:04 -04:00
Henrik Lissner
4ca87463de
fix(web): make *.((s[ac]|le)ss|styl) siblings of *.css
I backported `find-sibling-file` in 198fe82 and included with it some
rudimentary `find-sibling-rules` rules for CSS and its various
preprocessor languages. The CSS rule made *.((s[ac]|le)ss|styl) files
the siblings of *.css files, but not vice versa, so users couldn't jump
back to the source file with `find-sibling-file`; a second rule is
necessary.

These may be combinable, considering `find-sibling-file` deletes the
current buffer's filename from the list of candidates...

Ref: 198fe82b6d
2024-04-04 18:00:06 -04:00
Henrik Lissner
19e27764ea
fix(cc): make *.c(c|pp) siblings of *.h(h|pp) files
I backported `find-sibling-file` in 198fe82 and included with it some
rudimentary `find-sibling-rules` rules for C++ and others. The C++ rule
made *.h(h|pp) files the siblings of *.c(c|pp) files, but not vice
versa, so users couldn't jump back to the source file with
`find-sibling-file`; a second rule is necessary.

These may be combinable, considering `find-sibling-file` deletes the
current buffer's filename from the list of candidates...

Fix: #7795
Ref: 198fe82b6d
2024-04-04 17:59:33 -04:00
Henrik Lissner
38a3adcf0e
fix(lib): find-subling-file-search: wrong-number-of-args error
I backported `find-sibling-file` from Emacs 29+ in 198fe82, but it
passes a third argument (REGEXP) to `file-expand-wildcards` which wasn't
introduced until 29, so users on 28 or earlier would see a
wrong-number-of-arguments error (see #7795).

Rather than backport the entire `file-expand-wildcards`
function (risking other edge cases), I've advised its usage in
`find-sibling-file-search` to behave as it would in 29+ with a non-nil
REGEXP argument.

Amend: 198fe82b6d
Fix: #7795
2024-04-04 13:00:12 -04:00
Henrik Lissner
d166d754d6
release(modules): 24.04.0-dev
Ref: 2b39e41368
2024-04-04 00:23:20 -04:00
Henrik Lissner
869ad10f34
refactor: startup optimizations
I revisit all our startup optimizations to see how they fair in Emacs
29.x and 30.x. Most of them still hold up. I've revised and updated most
of the accompanying comments to better explain them, given what I know
now compared to when I first wrote them.
2024-04-04 00:17:02 -04:00
Henrik Lissner
2debe85a8a
fix(cli): doom upgrade: void-variable num
Fix: #7791
2024-04-03 19:21:14 -04:00
Henrik Lissner
fdb9e6b499
fix(org): org-download: remove unneeded advice
They've since been upstreamed in one form or another over time.

Fix: #7790
Ref: abo-abo/org-download@69c57bd519
Ref: abo-abo/org-download@8bc54b6c1a
2024-04-03 17:55:37 -04:00
Henrik Lissner
2a2565f059
bump: :term eshell
LemonBreezes/emacs-fish-completion@d34d0b96fd -> LemonBreezes/emacs-fish-completion@006c613ff7
akreisher/eshell-syntax-highlighting@4ac27eec65 -> akreisher/eshell-syntax-highlighting@1d25386bf7
peterwvj/eshell-up@ff84e6069b -> peterwvj/eshell-up@1999afaa50

Fix: #7789
2024-04-03 17:48:38 -04:00
Henrik Lissner
747a57fe54
bump: :tools
andras-simonyi/citeproc-el@c61c98b9d2 -> andras-simonyi/citeproc-el@44f90cb296
editorconfig/editorconfig-emacs@c3666c093f -> editorconfig/editorconfig-emacs@d73b6392de
emacs-citar/citar-org-roam@7d67dccf80 -> emacs-citar/citar-org-roam@82d47b5df1
emacs-tree-sitter/tree-sitter-langs@c56cb51104 -> emacs-tree-sitter/tree-sitter-langs@b7895ca759
emacsorphanage/quickrun@248149b026 -> emacsorphanage/quickrun@373634cf51
hcl-emacs/terraform-mode@e8b57df8c2 -> hcl-emacs/terraform-mode@a645c32a8f
k1LoW/emacs-ansible@d89ac0ee57 -> k1LoW/emacs-ansible@1d7de8d3dd
krzysztof-magosa/company-ansible@79dd421b16 -> krzysztof-magosa/company-ansible@338922601c
nicolaisingh/saveplace-pdf-view@abfb5e1f46 -> nicolaisingh/saveplace-pdf-view@ee95460cd9
purcell/envrc@1385e72a73 -> purcell/envrc@8eb7401700
spotify/dockerfile-mode@52c6c00da1 -> spotify/dockerfile-mode@39a012a27f
tmalsburg/helm-bibtex@bf184cc311 -> tmalsburg/helm-bibtex@8b71b4f5ce
vedang/pdf-tools@c69e7656a4 -> vedang/pdf-tools@93e7492451
xuchunyang/osx-dictionary.el@1f5a74f3e5 -> xuchunyang/osx-dictionary.el@6abfd6908b
yoshiki/yaml-mode@5b58248ab2 -> yoshiki/yaml-mode@7b5ce294fb
2024-04-03 17:24:17 -04:00
Henrik Lissner
52599ab536
bump: :completion
abo-abo/swiper@8c30f4cab5 -> abo-abo/swiper@1f88e54990
company-mode/company-mode@02903bd708 -> company-mode/company-mode@b0a522ac5b
emacs-helm/helm-descbinds@b725159823 -> emacs-helm/helm-descbinds@ca03f02da4
emacs-helm/helm@f34ea6b702 -> emacs-helm/helm@28f62344fe
minad/cape@a397a0c92d -> minad/cape@e01e443023
minad/consult@b48ff6bf05 -> minad/consult@c87b0bf06d
minad/corfu@c1e7b6190b -> minad/corfu@35cd5a0f3c
minad/marginalia@f6fe86b989 -> minad/marginalia@3275d1f85c
minad/vertico@68cbd47589 -> minad/vertico@68e51fda55
oantolin/embark@c93abadc82 -> oantolin/embark@d3c9d1b4c8
oantolin/orderless@dc7a781acf -> oantolin/orderless@ac4aeb66f3
radian-software/prescient.el@4b875be52e -> radian-software/prescient.el@c39bf07c56
sebastiencs/company-box@b6f53e26ad -> sebastiencs/company-box@c4f2e243fb
2024-04-03 17:21:16 -04:00
Henrik Lissner
beb6e87636
bump: :tools magit :emacs vc
emacsmirror/git-timemachine@ac933e5cd2 -> emacsmirror/git-timemachine@5ed73c3831
magit/forge@2a3b41eb62 -> magit/forge@ad94b5665d
magit/magit@0e8f25a8d8 -> magit/magit@b5637d665c
2024-04-03 15:55:40 -04:00
Henrik Lissner
e5fb4f3dd9
bump: :lang scala
emacs-lsp/lsp-metals@da7e54ed65 -> emacs-lsp/lsp-metals@e55d544996
hvesalai/emacs-sbt-mode@9fe1e8807c -> hvesalai/emacs-sbt-mode@bcf8d60400
2024-04-03 15:54:51 -04:00
Henrik Lissner
3192816c22
bump: :tools debugger lsp
emacs-lsp/dap-mode@2f0c5b2857 -> emacs-lsp/dap-mode@c95537c58e
emacs-lsp/lsp-mode@a5f5ca9a8a -> emacs-lsp/lsp-mode@8861252880
emacs-lsp/lsp-ui@bc58c66645 -> emacs-lsp/lsp-ui@942eeecc3d
emacs-straight/eglot@24f2bf7b28 -> emacs-straight/eglot@678610fdc5
mohkale/consult-eglot@049c6319b8 -> mohkale/consult-eglot@64262e7245

Ref: emacs-lsp/lsp-mode#4169
Ref: emacs-lsp/lsp-mode#4414
2024-04-03 15:53:53 -04:00
Henrik Lissner
34a9c3d0b3
bump: :editor snippets
doomemacs/snippets@f022984ee1 -> doomemacs/snippets@07b3bdaf60
joaotavora/yasnippet@297546f085 -> joaotavora/yasnippet@33587a8551
2024-04-02 20:10:16 -04:00
Henrik Lissner
13b60b9702
bump: :editor evil
emacs-evil/evil-collection@8c84f9bc89 -> emacs-evil/evil-collection@e0982fcbb6
emacs-evil/evil-surround@c7116cdc77 -> emacs-evil/evil-surround@da05c60b06
emacs-evil/evil@5995f6f21f -> emacs-evil/evil@88d073c9d0
redguardtoo/evil-nerd-commenter@3b197a2b55 -> redguardtoo/evil-nerd-commenter@ae52c5070a
wcsmith/evil-args@2671071a4a -> wcsmith/evil-args@a8151556f6
2024-04-02 20:08:07 -04:00
Henrik Lissner
c6fc0e5bc0
fix(cli): don't delete repos beyond $DOOMLOCALDIR
Doom makes multiple attempts to re-clone repos if they failed the first
time, however, if a user provides a :local-repo and that location isn't
a git repo, Doom assumes this it is the result of a failed clone, and so
deletes it to "try" again (which will fail). This can result in lost
work.

This prevents this from happening to packages/repos outside of
$DOOMLOCALDIR (all packages under $DOOMLOCALDIR must be git repos).

Fix: #7785
Amend: 3643c4dadd
Amend: 1fa8d3a4b9
2024-04-01 19:43:39 -04:00
Henrik Lissner
392fe88ed0
fix(lib): sudo-{this,save}-file: file path for indirect clones
If the buffer is an indirect clone, it may not have a buffer-file-name.

Also changes the command to throw an error if the current file has no
file path *and* is not a dired buffer.
2024-04-01 14:03:35 -04:00
Henrik Lissner
ea4792ccd2
docs: bump 29.2 -> 29.3 2024-04-01 13:47:12 -04:00
Henrik Lissner
22fa4ccac7
tweak(vertico): consult-dir: use projectile 2024-04-01 13:44:25 -04:00
Henrik Lissner
1598444bd9
docs(corfu): disabling auto-completion
Close: #7749
Co-authored-by: 45mg <45mg@users.noreply.github.com>
2024-04-01 13:34:37 -04:00
Sean Farley
1176aaae0b feat(mu4e): use built-in notifications instead of mu4e-alert
Now that mu4e has its own notification feature since 1.10 (and as of
this commit version 1.12 is already out), we can just use that. Much
less code to maintain.

Closes: https://github.com/doomemacs/doomemacs/issues/6896
2024-04-01 13:31:49 -04:00
Sean Farley
dd95f8fb3d feat(common-lisp): add more sly packages
Might as well?
2024-04-01 13:31:13 -04:00
45mm
142f28eb9a fix(fold): properly support outline-minor-mode
- Make `+fold/close-all` work for outline-minor-mode.

- Distinguish between `zo` and `zO` for outline-minor-mode alone, by
  binding `zO` to a new function `+fold/open-rec`. `zO` will now trigger
  `outline-show-subtree` in outline-minor-mode, while `zo` will only
  trigger `outline-show-branches`, keeping the subheadings folded. This
  matches the behavior in org-mode.

- Fix a bug in `+fold/open-all`, introduced in
  7b9d00d661, that makes it only operate
  on vimish-fold folds.

Note that outline-minor-mode is still not enabled by default anywhere.
These changes are only to prevent incorrect behavior for users who
decide to turn it on themselves.
2024-04-01 13:30:43 -04:00
carehabit
230c82fc95
docs: remove unintended repetition
Signed-off-by: carehabit <shenyuting@outlook.com>
2024-04-01 13:30:10 -04:00
yuhan0
5589722c8e fix(popup): fix typo in local variable name 2024-04-01 13:28:49 -04:00
Henrik Lissner
a84462133d
fix(neotree): don't use all-the-icons
Fixes 'Package `all-the-icons' isn't installed' error when opening
neotree.

Ref: #7664
2024-04-01 13:16:36 -04:00
45mg
97690184af docs(corfu): both option for RET behavior 2024-04-01 14:49:06 +00:00
StrawberryTea
cfdae2365c feat(corfu): update smart tab completion
This commit updates the smart tab functionality so that:
1. The only functionality checked is for the modules that are enabled.
2. The priority of the TAB behavior is tunable by the user.

This also updates the TAB behavior for the Corfu module to be
`indent-for-tab-command` instead of `completion-at-point` so that users
can use the TAB key to indent their code and navigating Org tables.

We also address #7372 by checking overriding-terminal-local-map, as that
is used by Embark.
2024-04-01 07:55:13 -05:00
Henrik Lissner
3643c4dadd
fix(cli): void-function directory-empty-p error
directory-empty-p was introduced in 28.1, but Doom still supports 27.1,
so 27.x users would see this error when running any bin/doom command
that clones packages.

Fix: #7779
Amend: 1fa8d3a4b9
2024-03-30 11:50:57 -04:00
Henrik Lissner
5f5a163c49
bump: :lang org
bastibe/org-journal@605a7eb984 -> bastibe/org-journal@17b34ce8df
emacs-jupyter/jupyter@da306a6dbd -> emacs-jupyter/jupyter@2059d79b2f
emacs-straight/org-mode@7a6bb0904d -> emacs-straight/org-mode@e9c288dfac
emacsmirror/org-contrib@8fbaceb247 -> emacsmirror/org-contrib@d4056ce5d5
hakimel/reveal.js@16f6633014 -> hakimel/reveal.js@6410c756ea
hniksic/emacs-htmlize@dd27bc3f26 -> hniksic/emacs-htmlize@09d43dfa44
https://repo.or.cz/org-contacts.git@7f03eafaad2e -> https://repo.or.cz/org-contacts.git@6660db078f76
jkitchin/ox-clip@ff117cf3c6 -> jkitchin/ox-clip@a549cc8e17
kaushalmodi/ox-hugo@cb1b6cfd7b -> kaushalmodi/ox-hugo@c4156d9d38
magit/orgit@84bcb5c318 -> magit/orgit@a57beefa24
oer/org-re-reveal@7c39d15b84 -> oer/org-re-reveal@1944ac53d4
org-noter/org-noter@8be3763847 -> org-noter/org-noter@9e4f57957b

Fix: #7776
2024-03-29 23:41:13 -04:00
Henrik Lissner
b01e496405
fix(cli): doom sync: rebuild-all loop
Addresses an edge case where 'doom sync' could fall into an inescapable
'rebuild all packages' loop.

Fix: #7775
2024-03-29 23:41:12 -04:00
Henrik Lissner
65240e9b92
fix(cli): suppress 'checked out X' when X = nil 2024-03-29 12:32:12 -04:00