Commit graph

12499 commits

Author SHA1 Message Date
Henrik Lissner
67e5dda526
fix(format): void-function +javascript-npm-conf error
Amend: c0a1b9efc9
Close: #8005
2024-08-20 16:27:34 -04:00
Henrik Lissner
bf330b405d
refactor(ligatures): use (featurep 'harfbuzz)
Doom adds this feature in lisp/doom.el.
2024-08-20 00:09:55 -04:00
Henrik Lissner
0ce403d069
refactor(ligatures): set-font-ligatures!: unsetting multiple modes
This changes set-font-ligature such that unsetting multiple modes will
properly manipulate multi-mode entries in ligature-composition-table.
2024-08-20 00:03:50 -04:00
Henrik Lissner
ef142fc913
refactor(ligatures): defer ligature.el & combine variables
This combines `+ligatures-prog-mode-list` and `+ligatures-all-mode-list`
into `+ligatures-alist` (and deprecates the former).
2024-08-20 00:03:50 -04:00
Henrik Lissner
dff6c36ab5
docs(ligatures): use set-font-ligatures! 2024-08-20 00:03:49 -04:00
Henrik Lissner
6e8f581897
feat(default): add SPC t d toggle for diff-hl-mode 2024-08-19 16:29:00 -04:00
Henrik Lissner
0893edefae
refactor!(magit): remove magit-todos
BREAKING CHANGE: Removes magit-todos from the magit module. I've always
thought my choice to include it as a 'reasonable default' in this module
was a bit dubious. Given how trivial the config is, I leave it to users
to install if they want it, instead.
2024-08-19 16:21:45 -04:00
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
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
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
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
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
e66a863e07
fix(magit): don't recursively open process buffers 2024-08-15 14:02:03 -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
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
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
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
8be1ef498b
fix(lsp): void-variable args error
Fix: #7974
Fix: #7970
Amend: 85b7b6151b
2024-07-30 04:46:50 -04:00
Henrik Lissner
0bac5fe132
fix(format): register shfmt for sh-mode
Apheleia already has a (and better) definition for shfmt.

Fix: #5268
2024-07-30 02:54:25 -04:00
Henrik Lissner
85b7b6151b
fix(lsp): force lsp-zig-download-url-format to change
Can't change the variable after lsp-zig loads because its used when it's
loaded. Can't set it before lsp-zig loads because it's a
constant (resetting its value). Thank god it uses a (non-inlined)
function to build that URL, so we have an easy target to advise.

Fix: #7970
Amend: 93dfb0acfb
Amend: bc5a8ec3fa
Amend: 7bb5df4cd4
2024-07-30 00:51:08 -04:00
Henrik Lissner
93dfb0acfb
fix(lsp): set lsp-zig-download-url-format earlier
If delayed until lsp-zig is loaded, then the `lsp-dependency` call in
lsp-zig will evaluate with the old (and incorrect) value of
`lsp-zig-download-url-format`.

Fix: #7970
Amend: bc5a8ec3fa
Amend: 7bb5df4cd4
2024-07-30 00:43:39 -04:00
schoettker
014112c16c
docs(org): remove org-yt custom link type
The org-yt package has been removed in 321f2d2, therefore the custom
link type `yt:...` is no longer supported.

Amend: 321f2d2249
2024-07-29 20:59:48 -04:00
Henrik Lissner
9cdcfdac36
feat(workspaces): add +workspace/delete
For deleting saved workspaces (saved with `+workspace/save` or
`+workspace-save`).

Also binds `SPC TAB D` (for evil users) and `C-c w K` (for non-evil
users) to it.

Fix: #4399
Close: #7869
Co-authored-by: sriramsk1999 <sriramsk1999@users.noreply.github.com>
2024-07-29 20:57:56 -04:00
Henrik Lissner
04efd82590
feat(evil): optionally wrap move-window commands
Introduces an `+evil-want-move-window-to-wrap-around` option. If
non-nil, `+evil/window-move-*` commands will wrap around the frame. If
these commands are passed the prefix arg, behave as if
`+evil-want-move-window-to-wrap-around` were inverted (just once).

Close: #7218
Co-authored-by: agzam <agzam@users.noreply.github.com>
2024-07-29 18:51:50 -04:00
Henrik Lissner
2cb8328f68
bump: evil-org
doomelpa/evil-org-mode@a9706da260 -> doomelpa/evil-org-mode@06518c65ff

Fix: #7960
2024-07-29 18:07:44 -04:00