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.
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.
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
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
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
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).
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@b2e68f97cbFix: #7986
Amend: 7f3412e317
`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
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
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
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: #4399Close: #7869
Co-authored-by: sriramsk1999 <sriramsk1999@users.noreply.github.com>
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>
Corfu effectively replaces Company. It's lighter, faster (in most
cases), and relies on more functionality native to Emacs (CAPF). The
company module is one of the more higher-maintenance (and buggy) modules
in our library, so rather than maintain two spiritually identical
modules, I'd rather focus on the better one.
I won't make any moves to actually remove the Company module until well
after the v3 release, when `doom sync` and `doom upgrade` have rollback
functionality, and those commands are better equipped to warn uses about
module deprecations (and we have our new Github Discussions board set
up, so we have a centralized place to announce them).
Ivy is practically Vertico's spiritual successor, and its module is one
of the more higher-maintenance modules in our library. Rather than
maintain two spiritually identicaly modules, I'd rather focus on the
better one.
I won't make any moves to actually remove the Ivy module until well
after the v3 release, when `doom sync` and `doom upgrade` have rollback
functionality, and those commands are better equipped to warn uses about
module deprecations (and we have our new Github Discussions board set
up, so we have a centralized place to announce them).
By putting it in zig-mode's :config block, the new URL won't be
available until the zig-mode package is loaded, which means users who
try to install zls with M-x lsp-install-server *before* zig-mode is
loaded will get the old, broken URL instead of the new.
Fix: #7970
Amend: 7bb5df4cd4
This advice was suppressing ws-butler's modification hooks, which had a
nasty side-effect of modifying org buffers without letting its
org-element cache know that it's stale, which resulted in errors like
this, followed by a backtrace:
Warning (org-element): org-element--cache: Unregistered buffer modifications detected (175 != 176). Resetting.
If this warning appears regularly, please report the warning text to Org mode mailing list (M-x org-submit-bug-report).
The advice isn't needed anymore, anyhow.
Our former approach would enable diff-hl unconditionally. This way, the
`diff-hl-global-modes` variable is respected.
Ref: https://discourse.doomemacs.org/t/4710/2
I was working on a +lookup/assignments around the time I introduced
+lookup/implementations, but I dropped it and forgot to remove this
keybind, which snuck in on f1d89bf.
Amend: f1d89bf9c2
- enable-lui-track-bar was deprecated for enable-lui-track.
- Neither function has buffer-local side-effects, so they shouldn't be
used with hooks.
Close: #7959
Co-authored-by: Thaodan <Thaodan@users.noreply.github.com>
- Remove redundant autoloads (already autoloaded by packages).
- Move lui configuration to lui use-package! block.
- Ensure consistent use of whitespace.
Prior to this, the user would need to know the precise load order of
circe and circe-color-nicks/circe-new-day-notifier to overwrite Doom's
defaults in an `after!` or `with-eval-after-load` block.
Also, `enable-circe-color-nicks` does not have buffer-local
side-effects, so shouldn't be hooked to `circe-channel-mode-hook`.
Close: #7959
Co-authored-by: Thaodan <Thaodan@users.noreply.github.com>
These variables don't add any value to the original variables whose
defaults they change, so they've been deprecated. Users should modify
the original variables themselves.