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
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
BREAKING CHANGE: This removes the pcre2el package, which Doom was using
solely for one function to escape PCREs. In the interest of thinning out
Doom's core, I've hoisted a simpler version of the function into Doom's
stdlib so I can remove the dependency.
This module has been deprecated for some time, because the module is
much too trivial to warrant being its own module. At most, it may find a
new home in doomemacs/modules-contrib, but for now, it doesn't belong in
the official module library.
This module has been deprecated for some time; it's too niche, too
trivial, and is mostly centered around a single hydra (official support
for which I'll be phasing out of Doom).
This change (made in ae9e1fea) was a tad too hasty, since
general.el (under the hood) implicitly deferred the keybinding until
eglot-mode-map, which define-key does not do.
Fix: #7911
Amend: ae9e1feaa6
BREAKING CHANGE: This removes git-gutter as an implementation for the
`:ui vc-gutter` module, leaving only the diff-hl implementation. There
are no longer any +git-gutter or +diff-hl flags for this module. Users
don't have to do anything to keep the vc gutter, unless they prefer
git-gutter for any reason (in which case they'll need to install and set
it up themselves).
This has been planned for some time, because of a roadmap goal for Doom
to lean into native/built-in functionality where it's equal or better
than the third party alternatives. diff-hl relies on the built-in vc.el
library instead of talking to git directly (thus expanding support to
whatever VCS's vc.el supports, and not git alone), which also means it
can take advantage of its caching and other user configuration for
vc.el. Overall, it is faster and lighter.
What I've also been waiting for was a stage-hunk command, similar to
git-gutter:stage-hunk, which arrived in dgutov/diff-hl@a0560551cd and
dgutov/diff-hl@133538973b, and have evolved since.
Ref: dgutov/diff-hl@a0560551cd
Ref: dgutov/diff-hl@133538973b
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=58747789
Given a relative file path that:
- Doesn't exist, relative to the open file/buffer (default-directory),
- Doesn't exist, relative to the project root,
- Doesn't satisfy any of the other rules in ffap-alist,
- Contains more than one segment (forward slashes),
The +lookup/file command will walk the file tree from default-directory
to the project root to search for the path, so given:
project
└── src
├── a
│ └── a.h
└── b
└── b.h
This command, run on 'b/b.h' in a/a.h, will open b/b.h (but 'b.h' alone
won't work, which is intended, to reduce false positives).
Close: #7890
Co-authored-by: liuzhishan <liuzhishan@users.noreply.github.com>
This addresses the warning emitted when evaluating elisp in org-mode:
Warning (org-element): ‘org-element-at-point’ cannot be used in
non-Org buffer #<buffer debug.org> (emacs-lisp-mode)
Close: #7753Fix: #7752
Co-authored-by: pysnow530 <pysnow530@users.noreply.github.com>
- 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.
This commit's primary goal is allowing use of
[Corfu](https://github.com/minad/corfu) as an alternative to
[Company](https://github.com/company-mode/company-mode). It introduces a
module under `:completion` for this purpose, plus some conditionals on
other relevant modules to toggle functionality like lsp back-ends and
[Cape](https://github.com/minad/cape) capfs for certain modes.
Other optional or miscellaneous features include:
- Corfu is enabled in the minibuffer if `completion-at-point` is bound;
- Support for displaying the completion's documentation on a secondary
popup;
- Support for terminal display if :os tty;
- Support for icons if +icons;
editorconfig-call-editorconfig-exec was renamed+redesigned upstream. The
advice can no longer be trivially repurposed, so I'm removing it.
Ref: editorconfig/editorconfig-emacs@f8f1a899df
- Add another measure for preventing changes to tab-width in org-mode.
The hook introduced in 2757a97 runs too early and could be overwritten
by editorconfig.
- Fix the hook in 2757a97 to run much later, ensuring (as a last resort)
no other packages can overwrite tab-width either.
Amend: 2757a97a30
Ref: #7670
This makes load-order more predictable for users wanting to modify the
side-effects of citar-org-roam-mode or citar-embark-mode. I.e.
(after! citar-org-roam ...)
(after! citar-embark ...)
Instead of:
(after! (citar org-roam) ...)
(after! (citar embark) ...)
Ref: #7712
Co-authored-by: hpfr <hpfr@users.noreply.github.com>