Commit graph

19440 commits

Author SHA1 Message Date
Henrik Lissner
1c6288e2b7
perf(dired): suppress mode hooks when previewing files
Ref: #6760
2024-08-19 16:21:45 -04:00
Henrik Lissner
22f37e84dc
bump: :emacs
emacs-straight/undo-tree@5e9f4c9234 -> emacs-straight/undo-tree@d8f72bbe7d
emacs-straight/vundo@a18d63a9a1 -> emacs-straight/vundo@5374125dc0
ideasman42/emacs-undo-fu-session@75d78310c8 -> ideasman42/emacs-undo-fu-session@beb0e285d0
ideasman42/emacs-undo-fu@ea902716f3 -> ideasman42/emacs-undo-fu@dbb3e4b699
magit/git-modes@d96fa7a3c7 -> magit/git-modes@f99010bbeb
magit/magit@e777822720 -> magit/magit@55656a31cc
2024-08-19 16:21:45 -04:00
Henrik Lissner
109aa2c159
bump: :tools
Silex/docker.el@d5255a65b7 -> Silex/docker.el@f3adbf49e1
alphapapa/magit-todos@501c8db90a -> alphapapa/magit-todos@501c8db90a
andras-simonyi/citeproc-el@cfa30b6c95 -> andras-simonyi/citeproc-el@54184baaff
doomelpa/code-review@e4c34fa284 -> doomelpa/code-review@e4c34fa284
editorconfig/editorconfig-emacs@1651294334 -> editorconfig/editorconfig-emacs@648f0cf9ae
emacs-citar/citar@07d2a63c99 -> emacs-citar/citar@07d2a63c99
emacs-lsp/dap-mode@b407773ebc -> emacs-lsp/dap-mode@496dd3a60f
emacs-lsp/lsp-mode@5298775517 -> emacs-lsp/lsp-mode@12befaabe4
emacs-lsp/lsp-ui@00f1fecdfb -> emacs-lsp/lsp-ui@072bb29152
emacs-straight/crdt@9bf99e2ce3 -> emacs-straight/crdt@7f91efcc72
emacs-straight/eglot@8008255edd -> emacs-straight/eglot@3a5240d8fd
emacs-tree-sitter/tree-sitter-langs@b2739d07fa -> emacs-tree-sitter/tree-sitter-langs@1c3d95d018
hcl-emacs/terraform-mode@a645c32a8f -> hcl-emacs/terraform-mode@abfc10f5e3
jacktasia/dumb-jump@3c2ab8dfff -> jacktasia/dumb-jump@cd65a74337
magit/forge@21d410c810 -> magit/forge@a56eb3cbb2
magit/magit@e777822720 -> magit/magit@cf94190410
nicolaisingh/saveplace-pdf-view@ee95460cd9 -> nicolaisingh/saveplace-pdf-view@70e9ec4056
purcell/envrc@2316e004c1 -> purcell/envrc@532ecdab48
tumashu/posframe@f4e9e509ba -> tumashu/posframe@493b17f74a
2024-08-19 16:21:45 -04:00
Henrik Lissner
50adaa9e48
fix(format): prettier-*: 'void-variable unless' error
Also short-circuits the condition with
apheleia-formatters-respect-indent-level, if it's been disabled.

Amend: c0a1b9efc9
Ref: #7998
2024-08-19 16:21:08 -04:00
Henrik Lissner
ddfb0cc3cc
refactor(dired): dirvish-hide-details
Prior to this, I used window-width to determine whether file details
should be hidden, but there was a jarring delay on `dirvish-setup-hook`
that made the effect look awful (especially when walking up and down
file trees).

This changes `dirvish-hide-details` to accept a list of contexts where
it should be enabled, which I think is more elegant. Of course,
`dirvish-hide-details` will fall back on old behavior if set to `t` or
`nil`.

I'll consider upstreaming it later (and perhaps doing similar for
`dirvish-hide-cursor`).

Ref: #6760
2024-08-19 02:15:05 -04:00
Henrik Lissner
d4ad14b75d
fix(dired): fallback to default if dirvish-use-mode-line == nil
Currently, setting `dirvish-use-mode-line` to nil blanks out the
mode-line, and setting it to `t` makes Dirvish use its own mode-line. To
get the default mode-line, `dirvish-mode-line-format` needs to be set to
nil, but even then Dirvish will prepend a bar to the default-mode-line
so it can control its height, which I think is a confusing chain of
causes and effects.

This changes the behavior such that `dirvish-use-mode-line` controls
whether `dirvish-mode-line-format` will be used or not. I'll upstream
this to hlissner/dirvish later.

Fix: #8000
2024-08-18 16:31:21 -04:00
Henrik Lissner
967586fcae
fix(dired): dirvish-{mode,header}-line-height = doom-modeline-height
Ref: #8000
2024-08-18 16:20:20 -04:00
Henrik Lissner
9913acbdc4
fix: opening tramp paths from command line args
Eventually, Emacs will process any files passed to it via the command
line, and will do so *really* early in the startup process. These might
contain special file paths like TRAMP paths (e.g.
/sudo://etc/ssh/ssh_config), so restore `file-name-handler-alist' just
for this small portion of startup.
2024-08-18 16:12:42 -04:00
Henrik Lissner
c0a1b9efc9
fix(format): prettier: don't override prettier indent config
Apheleia's default config for prettier adds --use-tabs/--tab-width to
force prettier to match Emacs' indent settings, which is fine until a
prettier config file tries to overwrite it and is ignored. As a
compromise (and stopgap solution), I omit these flags if any prettier
settings are set in the current project.

Fix: #7998
2024-08-18 03:59:18 -04:00
Henrik Lissner
e82dab3257
refactor!(dired): use dirvish, drop +ranger
BREAKING CHANGE: This drops the Dired module's +ranger flag and replaces
much of this module's innards with (my maintained fork of) Dirvish,
which provides a spiritually similar (if not superior) experience to
Ranger. Plus, Dirvish makes most of our dired plugins unnecessary.

Also, I am now registering myself as this module's maintainer now that I
dogfood and maintain Dirvish.

Close: #6760
Co-authored-by: alexluigit <alexluigit@users.noreply.github.com>
Co-authored-by: hpfr <hpfr@users.noreply.github.com>
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
Co-authored-by: pharcosyle <pharcosyle@users.noreply.github.com>
2024-08-18 03:57:12 -04:00
Henrik Lissner
a8ed6c9f7d
fix(vc-gutter): inhibit diff-hl-dired-mode in dirvish
Ref: #6760
2024-08-17 14:24:51 -04:00
Henrik Lissner
1977b3dfba
refactor(lib): generalize ripgrep executables
Amend: 4fcf332749
2024-08-17 03:56:59 -04:00
Henrik Lissner
f6040832e5
nit(format): move formatter configs to bottom
There will likely be more of these later, so I move them to the bottom
of the :config block.
2024-08-16 14:58:33 -04:00
Henrik Lissner
7499995643
fix: better-jumper evil integration (part 2)
Fix typo.

Amend: 916180a6bf
Fix: #7997
2024-08-16 13:27:40 -04:00
Henrik Lissner
1912571c9c
docs: minor revisions of docstrings across core+cli 2024-08-15 23:24:56 -04:00
Henrik Lissner
e8a444749a
refactor: use eval-when! less
These uses of this macro are a micro optimization that yield no benefit.
The only place it's useful is in autoloads (which are guaranteed to be
byte-compiled during `doom sync`).
2024-08-15 23:23:12 -04:00
Henrik Lissner
0f4328058c
fix: restrict find-function-search-for-symbol advice to Emacs 29
The issue this advice fixes are fixed at some point in 30.x.
2024-08-15 23:19:49 -04:00
Henrik Lissner
5e2e886b35
nit: comment revision & reformatting 2024-08-15 23:18:47 -04:00
Henrik Lissner
e7a5164893
refactor(syntax): remove popen package! statement
popen is a dependency of flymake-popen, and is on nongnu-elpa, which
wasn't supported by straight until recently, so the package! statement
is no longer needed.

Ref: 71469d8056
2024-08-15 23:07:54 -04:00
Henrik Lissner
3a2c234b1c
fix(cli): don't AOT native-comp if disabled 2024-08-15 15:46:47 -04:00
Henrik Lissner
dc035a652f
fix: reset inhibit-* vars a mote more aggressively
There are still a few edge cases where inhibit-redisplay is never
reset (usually involving errors at startup), leaving Emacs as a blank
screen until the user performs an action that forces it to redraw (e.g.
pressing M-x). This tries to address more of those.
2024-08-15 15:45:53 -04:00
Henrik Lissner
e66a863e07
fix(magit): don't recursively open process buffers 2024-08-15 14:02:03 -04:00
Henrik Lissner
916180a6bf
fix: better-jumper evil integration
Fix: #7997
Amend: ebf0e1ac30f9
Ref: gilbertw1/better-jumper#26
Ref: emacs-evil/evil@9cdd55bff8
2024-08-15 13:11:13 -04:00
Henrik Lissner
173842ccea
fix(lsp): eglot-ensure advice nooping in some major modes
Due to the nested structure of eglot-server-programs, our advice would
not correctly detect entries for some modes (like javascript modes),
effectively disabling Eglot in those modes.

I've replaced the advice with a solution baked into lsp!, so folks still
have the option of using eglot-ensure directly if they want it activated
unconditionally.

Amend: #7219
2024-08-14 18:01:59 -04:00
Henrik Lissner
88666b1913
bump: :lang cc
Andersbakken/rtags@bd1c818a99 -> Andersbakken/rtags@f472b5d0a0
chachi/cuda-mode@7f593518fd -> chachi/cuda-mode@7dd07a20c3
emacs-lsp/emacs-ccls@8648238a92 -> emacs-lsp/emacs-ccls@41399b0eba
salmanebah/opencl-mode@10ae7742d5 -> salmanebah/opencl-mode@204d5d9e0f

- An update to cuda-mode now derives it from prog-mode, so that it
  behaves as a proper major mode (mentioned in #7993).

Fix: #7993
2024-08-13 23:14:52 -04:00
Henrik Lissner
84f7eb2aff
feat(cc): set eglot client for cuda-mode to clangd
Fix: #7993
2024-08-13 21:42:36 -04:00
Henrik Lissner
29fcd474e2
bump: :lang ocaml
ocaml/dune@aac3d84f1d -> ocaml/dune@96ed5fb42f
ocaml/merlin@b6ff2d4d56 -> ocaml/merlin@9fa77dbe81
2024-08-13 21:42:36 -04:00
Henrik Lissner
8519f6fed2
refactor(ocaml): entry points into ocp-indent & opam-switch-mode
Reduces edge cases, in the case the user eagerly loads any of these
packages. Also replaces all hardcoded paths to ocp-indent and opam's
executables with variables, respecting user configuration.
2024-08-13 21:42:36 -04:00
Henrik Lissner
fa153d5b91
refactor(ocaml): use apheleia instead of ocamlformat.el
The ocamlformat.el package reinvents what Apheleia is already doing, but
Apheleia's default definition for ocamlformat is a little simplistic.
This merges the efforts of both and allows us to cut down on an unneeded
dependency.
2024-08-13 16:31:12 -04:00
Henrik Lissner
95e0b43012
fix: "Malformed pattern in custom ignore file .project" error
I introduced '--ignore-file .project' to `projectile-git-fd-args` in
4fcf332  expecting fd to ignore the file if it didn't exist, but it
throws an error if it doesn't, causing it to throw these errors in any
project without a .project file.

Amend: 4fcf332749
2024-08-12 19:46:40 -04:00
Henrik Lissner
f5020a4f7f
refactor: simplify projectile config
Reverts projectile-project-root-files-bottom-up to its original value,
since the absence of those VC entries may surprise folks who aren't new
to projectile.
2024-08-09 21:21:26 -04:00
Skylar LK
6e1bfe97c0
docs(markdown): expand proselint install docs
For some reason, the proselint package is not in the official Arch
repositories (at least not anymore), but is in the AUR.

Ref: #7502
2024-08-09 21:21:26 -04:00
Skylar LK
52aadcd01f
docs(:lang): correct grammar
Ref: #7502
2024-08-09 21:21:26 -04:00
Skylar LK
ab1d396c2d
docs(org): update install docs for Ubuntu/Debian & Arch
- Added Debian & Ubuntu section.
- Arch Linux no longer has a package called "jupyter".

Ref: #7502
2024-08-09 21:21:23 -04:00
Skylar LK
d9d1737deb
docs(cc): future-proof Debian/Ubuntu install instructions
The "clangd" package links to the version of clangd associated with that
version of the distribution. In Debian 11 it's clangd-11, in 12 it's
clangd-14, Ubuntu 22.04 LTS also has clangd-14, and 23.10 seems to have
clangd-16. No need to specify the clangd package name for each release.

Ref: #7502
2024-08-09 21:21:19 -04:00
Henrik Lissner
d04e1404c2
fix: projectile: ignore more vc directories in file listings 2024-08-09 21:03:46 -04:00
Henrik Lissner
4fcf332749
refactor: generalize fd/ripgrep vars & options
I intend to eventually replace projectile with project.el, so these
doom-projectile-* variables need to be generalized, starting with the
fd/ripgrep executable paths.

ALong with that, this refactors Doom's projectile-generic-command to
lean more on built-in fd support in projectile, where possible (fewer
wheels reinvented).

Ref: doomemacs/core#1
2024-08-09 21:03:37 -04:00
Henrik Lissner
939fc0d322
feat: add project-vc config
I intend to keep `project-vc-extra-root-markers` much lighter than what
`projectile-project-root-files` ended up being, so I won't be
transferring all the root markers.

Ref: doomemacs/core#1
2024-08-09 20:50:51 -04:00
Henrik Lissner
d3124c4971
nit: add deprecation comments for projectile config
Ref: doomemacs/core#1
2024-08-09 20:42:33 -04:00
Henrik Lissner
511c8af365
bump: :editor
doomemacs/snippets@3a0b029c5d -> doomemacs/snippets@b672e69bbf
emacs-evil/evil-collection@acb056b1d0 -> emacs-evil/evil-collection@e49d8e96cc
emacs-evil/evil@0ad84c5216 -> emacs-evil/evil@30ebe6df27
emacs-straight/adaptive-wrap@a3b179ea21 -> emacs-straight/adaptive-wrap@d75665b9c8
emacs-tree-sitter/ts-fold@5b8abb69cd -> emacs-tree-sitter/ts-fold@55f80a202a
gabesoft/evil-mc@bdf893ea6f -> gabesoft/evil-mc@cff3374bfe
justinbarclay/parinfer-rust-mode@a96c768e9d -> justinbarclay/parinfer-rust-mode@0d16bd75ad
2024-08-09 17:41:49 -04:00
Henrik Lissner
c93b70237c
fix(evil): defer evil-collection-kmacro
Emacs 30+ loads kmacro.el eagerly at startup, pulling in all of
evil-collection, so I defer it until it's needed.
2024-08-09 17:41:49 -04:00
Henrik Lissner
877008a00e
fix(evil): set evil-want-keybinding sooner
Early loading of evil-collection may trigger an annoying (and
unsuppressable) warning, otherwise.
2024-08-09 17:41:48 -04:00
Henrik Lissner
334157d741
fix(popup,org): popup management for org-mode
Adapts to changes made upstream to Org's window management logic (e.g.
Org dropped `org-switch-to-buffer-other-window` for
`switch-to-buffer-other-window`, and org-journal renamed one of its
helper functions).
2024-08-09 17:41:48 -04:00
Henrik Lissner
b3bea23331
fix(workspaces): "none" workspace
Doom removes the "none" workspace from persp-mode's default list of
perspectives, because it is a special case that doesn't behave
identically to other persps in the list, making it a pain to deal with.

This worked fine up until a change to `persp-update-names-cache` (in
Bad-ptr/persp-mode.el@0d6cacc) made it re-insert this "none" workspace
into `persp-names-cache` whenever it is called, undoing our hack; this
commit adapts to that change.

Ref: Bad-ptr/persp-mode.el@0d6caccab3
Ref: Bad-ptr/persp-mode.el@b2e68f97cb
Fix: #7986
Amend: 7f3412e317
2024-08-09 15:42:54 -04:00
Henrik Lissner
7f3412e317
bump: :ui
Alexander-Miller/treemacs@54ef590b76 -> Alexander-Miller/treemacs@202d7f01d6
Bad-ptr/persp-mode.el@345baaa520 -> Bad-ptr/persp-mode.el@40e9993a97
dgutov/diff-hl@57d9d4e3e1 -> dgutov/diff-hl@b80ff9b4a7
ema2159/centaur-tabs@d6009c295a -> ema2159/centaur-tabs@063534bd00
emacs-lsp/lsp-treemacs@1d43e9e030 -> emacs-lsp/lsp-treemacs@fb1a07ae0a
emacs-straight/minimap@4898d27768 -> emacs-straight/minimap@5aa0df40bc
seagle0128/doom-modeline@1505c13564 -> seagle0128/doom-modeline@9920ef5116
tarsius/hl-todo@dd46d426c0 -> tarsius/hl-todo@82eba6b8f7
2024-08-08 17:26:58 -04:00
Henrik Lissner
a6df88a56a
feat(lib): doom-org-docs-mode: bind q to kill-current-buffer
For consistency with other help modes.

Fix: #7985
2024-08-08 17:26:58 -04:00
Henrik Lissner
b1b40754fe
fix(org): don't optimize already-open agenda buffers
`org-map-entries` uses `org-get-agenda-file-buffer` to visit agenda
files, and Doom optimizes the latter to open those org buffers in a
limited capacity (since buffers opened this way are rarely visible, and
full initialization of them is very expensive), deferring their
initialization until the user interactively switches to the buffer
later.

However, if an agenda buffer has already been visited, opening it with
`org-get-agenda-file-buffer` with all these disabled initializations
could have unpredictable effects on whatever the user is doing in their
`org-map-entries` call. Since these optimizations aren't needed for
agenda buffers that already exist, I'll no-op `+org--restart-mode-h` in
those cases.

Fix: #7979
2024-08-08 17:26:58 -04:00
Henrik Lissner
e3fdfee1c5
feat(cli): add --aot option
Allow ahead-of-time native-compilation during CLI operations that
install or update packages. This will not retroactively native-compile
already-installed packages, you'll need to use --rebuild to do so.

(This is a stop-gap solution until the v3.0 release)

Fix: #6811
2024-08-08 17:26:54 -04:00
Ilya Gladyshev
2c17f71965
fix(cli): don't prompt to rebuild if --rebuild is given
When running `doom sync --rebuild` after emacs upgrade the user is
prompted with "Installed packages must be rebuilt. Do so now?", even
though doom was explicitly instructed to rebuild. This PR removes this
prompt when the `--rebuild` option is provided
2024-08-06 13:02:13 -04:00
Henrik Lissner
cf7098528d
release(modules): 24.09.0-dev
Ref: 2b39e41368
2024-07-30 17:40:22 -04:00