Commit Graph

19597 Commits

Author SHA1 Message Date
22fc36dba7 fix(lib): doom/add-directory-as-project
If the target directory wasn't in a project, this command would throw a
type error (see #8032).

This also adds more checks and informative error handling to the
command.

Fix: #8032
2024-08-31 00:59:45 -04:00
538ddf5e66 fix: C-i in KKP supported terminals
"C-i" and "TAB" are equivalent to Emacs. In GUI Emacs, we can bind to
[tab] instead of "TAB", permitted users to treat the two keys
differently. However, [tab] is unavailable in TTY frames, so there was
no avoiding sacrificing C-i keybinds there. With KKP support, though,
that's no longer the case.
2024-08-30 22:08:16 -04:00
0a38eeef4c fix(tty): meta keybinds in KKP supported terminals
In a KKP supported terminal, Emacs now receives a number of new input
events from the terminal, like [M-return] and [M-tab], but if they
aren't bound to, they don't fall through to bindings on "M-RET" and
"M-TAB", like [return], [tab], and others do, thus rendering those
keybinds inaccessible. Rather than play whack-a-mole with all the
keymaps out there, I just teach Emacs to let them fall through.

X->Y remappings on `local-function-key-map` do not apply if anything is
bound explicitly to X, so this change bows out if you (or packages, in
the future) do, for some reason, want to bind to them directly.
2024-08-30 21:26:11 -04:00
34cc0c9d86 tweak(dired): ESC to exit wdired-mode
Fix: #8004
2024-08-30 18:56:44 -04:00
78f8026620 fix(latex): auto-reveal folded regions at point
Fix: #8031
2024-08-30 18:45:00 -04:00
79910fba42 fix(cli): wrong-number-of-args error from mapconcat
On Emacs <=28.2, mapconcat's third argument isn't optional.

Amend: 7f175ab6d9
Ref: #8024
2024-08-30 04:57:29 -04:00
8c4d871f7c fix(evil): respect evil-disable-insert-state-bindings 2024-08-30 03:15:43 -04:00
7197ee65c7 fix: help(ful) reporting symbol's source as init.*.el
Fix: #7958
2024-08-30 02:27:03 -04:00
6671adc687 refactor!: move helpful from :core to :lang emacs-lisp
BREAKING CHANGE: This moves helpful.el out of core into :lang
emacs-lisp. Since most (all) people have this module enabled, this
shouldn't make a difference for most people, but if you're one of the
few that don't have :lang emacs-lisp enabled, Doom will revert to using
Emacs' built-in help.el and describe-* commands.

Others can also disable helpful with (package! helpful :disable t) if
they prefer Emacs' built-in help system, which wasn't possible before,
because it was a core package.

This was done as part of an ongoing effort to slim down Doom's core in
preparation for v3.
2024-08-30 02:26:41 -04:00
bf9e619533 refactor: remove redundant projectile-track-known-projects hook
With the `doom-switch-buffer-hook` hook in 83fedf1, this hook isn't
needed anymore.

Amend: 83fedf1fff
2024-08-30 01:02:33 -04:00
7f175ab6d9 fix(cli): inconsistent system hash between sessions
sxhash doesn't guarantee hashes are consistent across Emacs sessions, so
use md5 instead. Also simplifies what's getting hashed;
`system-configuration` is a sufficient substitute for both `system-type`
and what I wanted to glean from changes in
`system-configuration-features`.

Amend: 80e9263b85
Close: #8030
Ref: #8024
Co-authored-by: yaaama <yaaama@users.noreply.github.com>
2024-08-29 15:44:29 -04:00
83fedf1fff fix: recursive load errors on lib/projects.el
A change upstream was causing recursive load errors. I'm not too clear
how it happens, as I can't reproduce it, but
bbatsov/projectile@3c92d28c05 is the common thread (bumped in
c1b5f48).

Rather than revert the bump, I've just undone the hook and used a saner
hook for the same task. It is a stopgap solution until I eventually
replace projectile with project.el.

Ref: bbatsov/projectile@3c92d28c05
Amend: c1b5f48f07
2024-08-29 06:56:57 -04:00
c1b5f48f07 bump: :core
Fuco1/smartparens@ab475c7891 -> Fuco1/smartparens@c7519a1b69
bbatsov/projectile@0163b335a1 -> bbatsov/projectile@8cc2ee8937
emacs-compat/compat@09dce8a193 -> emacs-compat/compat@e9203e1649
emacs-straight/project@093f42a1b6 -> emacs-straight/project@5c77d78936
hlissner/emacs-hide-mode-line@bc5d293576 -> hlissner/emacs-hide-mode-line@ddd154f1e0
jscheid/dtrt-indent@339755e4fb -> jscheid/dtrt-indent@a8aa356684
rainstormstudio/nerd-icons.el@4322290303 -> rainstormstudio/nerd-icons.el@c3d641d8e1
2024-08-29 02:47:21 -04:00
d1c2c8c35b fix(popup): don't disable hide-mode-line if enabled globally
Ref: hlissner/emacs-hide-mode-line#11
2024-08-29 02:46:21 -04:00
1c16b84691 refactor: remove unneeded/magic in add-hook! calls 2024-08-29 01:43:40 -04:00
5311214f90 tweak(corfu): don't invert evil-complete-all-buffers
And avoid void-variable errors for non-evil users (not that they're
bound for them, but just in case).

Ref: #7748
2024-08-29 01:18:43 -04:00
d6a2e24a3e fix(dired,vc-gutter): don't inhibit diff-hl-dired-mode
Dirvish uses the fringe for its vc-state diff, which isn't available in
TTY Emacs, so we still need `diff-hl-dired-mode` there.

Revert: a8ed6c9f7d
Ref: #6760
2024-08-29 01:12:29 -04:00
786dae5a5d fix(lsp): don't warn about npm without +eglot
This is only a concern for lsp-mode, which tries to auto-install servers
if `lsp-enable-suggest-server-download` is non-nil (which it is, by
default).

Amend: #7346
2024-08-29 00:51:12 -04:00
3c4921cc57 fix(popup): only remap quit-window in popup buffers 2024-08-28 23:04:21 -04:00
08f8f57e2f feat(corfu): vim-like C-n/C-p keybinds
In vim/evil, C-n/C-p invokes dabbrev, so we're doing the same, but
powered by cape-dabbrev, falling back to corfu-next/corfu-prev is a
corfu popup is already open.

Close: #7748
Co-authored-by: 45mg <45mg@users.noreply.github.com>
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
2024-08-28 22:43:05 -04:00
4a4a9a1ada feat(corfu): add +corfu/toggle-auto-complete command 2024-08-28 22:26:47 -04:00
cea17bbea3 refactor(org): remove redundant key remapping
This is already remapped in the vertico module. Plus,
`consult-org-heading` and `consult-org-agenda` are already on
"<localleader> ." and "<localleader> /".

Amend: 5e3c794d31
Ref: #7716
2024-08-28 19:34:04 -04:00
14478064af refactor(dired,vc-gutter): setup for tty frames
A recent commit (c53f63b) allows me to simplify this a bit.

Ref: c53f63b96e
Ref: #8001
2024-08-28 17:56:55 -04:00
c53f63b96e fix: trigger doom-first-{file,buffer}-hook at startup
Should fix issues where modes/hooks weren't triggered for
files/directories opened early (e.g. from the command-line or
programmatically from the user's config).
2024-08-28 17:55:25 -04:00
35dd2bb33c bump: :lang rust
emacs-rustic/rustic@39423d1cf4 -> emacs-rustic/rustic@d765680373
rust-lang/rust-mode@d00d83d3a2 -> rust-lang/rust-mode@a529a45181

Fix: #8029
Ref: emacs-rustic/rustic#3
2024-08-28 17:55:25 -04:00
5e3c794d31 tweak(org): remap imenu to consult-imenu
Ref: #7716
Co-authored-by: aisamu <aisamu@users.noreply.github.com>
2024-08-28 14:49:14 -04:00
c352bd0dcd refactor: remove redundant doom-bin{,-dir} decls
Amend: a8ba8feecb
Amend: a5039c4333
2024-08-28 04:58:11 -04:00
c99e9b8654 fix(dired): initial pop-in for vc-state
Ref: hlissner/dirvish#1
2024-08-28 04:55:17 -04:00
a5039c4333 fix(lib): doom/{reload,upgrade}: expand path to bin/doom
A user's shell config might destructively alter the shell's $PATH (also
common on MacOS, which destructively sets $PATH with its system dotfiles
for ZSH). This prevents the sub-shell spawned from `doom/reload` and
`doom/upgrade` from inheriting emacs' `$PATH`, which Doom adds
$EMACSDIR/bin to. Without this entry, these commands would fail to find
the Doom script.

Fix: #8027
Amend: a8ba8feecb
2024-08-27 03:24:58 -04:00
1430e9c700 fix(rust): ensure order of modes in auto-mode-alist
Depending on install order, the rust-mode might get precedence, causing
rustic to not be loaded on *.rs files.
2024-08-27 03:13:57 -04:00
89f5af8104 refactor(fold): move +fold-hideshow-folded-face & unstyle +ts-fold-replacement-face
It is the theme(s) jurisdiction to impose modify external faces.
`custom-set-faces!` should be avoided from within modules, in general.
2024-08-27 03:13:57 -04:00
9a6bcc31f9 feat(fold): add +fold-ellipsis var
Bring *some* consistency to the text display when text is
ellided/folded.

Close: #7743
Co-authored-by: seanfarley <seanfarley@users.noreply.github.com>
2024-08-27 03:13:56 -04:00
6077b6f0d8 fix: correct version string in obsoletion calls 2024-08-26 18:07:47 -04:00
4f5f9d6065 refactor(evil): remove unused +evil-repeat-keys variable 2024-08-26 17:03:04 -04:00
67a516cf0d perf(org): call yas-reload-all on TAB only once
In cases where the user has an empty snippets library (or no snippets
for the mode at point), the expensive `yas-reload-all` function would be
called each time you press tab.

Fix: #8025
2024-08-26 16:22:32 -04:00
d6f5fed4a4 refactor(vertico): dabbrev-ignored-buffer-regexps: simplify 2024-08-26 02:22:53 -04:00
80e9263b85 fix(cli): doom sync: heuristic for total rebuilds
Fix: #8024
2024-08-26 02:16:03 -04:00
c862968f48 fix(clojure): leverage evil-collection-cider
We're currently discarding all evil-collection bindings on
`cider--debug-mode`. Given that `j` is bound to a particularly
disruptive and non-cancellable command, this brings some friction to
evil users.

This commit adds those bindings back under `evil +everywhere`.

The in-buffer and minibuffer displayed keybindings were adjusted to
match, but not easy-menu's.

Ref: doomemacs/doomemacs#4627
2024-08-25 17:45:55 -04:00
9fe9f89333 tweak(vterm): vterm-send-next-key mapped to C-q 2024-08-25 17:45:28 -04:00
02ab7f3a79 feat(rss): add elfeed-tube behind +youtube
Close: #7612
Co-authored-by: edmundmiller <edmundmiller@users.noreply.github.com>
2024-08-25 17:44:29 -04:00
ea97adf9c7 fix: set jump points on more kill-buffer functions
Close: #7643
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
2024-08-25 17:44:29 -04:00
fac979c6d8 fix: package!: unpinning with :pin nil 2024-08-25 17:44:29 -04:00
b9e460bc64 refactor(vertico): remove redundant quoting
Ref: #7943
2024-08-25 17:44:29 -04:00
ebf91a1363 refactor: use true eos regex in auto-mode-alist entries
"\\'" will match the true end-of-string, whereas "$" will also match
just before a newline character. Not that there's much risk that
there'll be newlines in a filepath, but I'd rather be consistent. It
also makes these entries easier for users to remove from
auto-mode-alist.
2024-08-25 17:44:29 -04:00
1fad466c12 fix(dired): "Attempt to delete minibuffer or sole ordinary window"
Makes `+dired--cleanup-dirvish-h` more robust, and only kick in for
dirvish-side or full-frame dirvish sessions.

Amend: e82dab3257
2024-08-25 17:44:29 -04:00
9c6a5e9323 fix(lib): doom/{reload,upgrade}: ensure env matches session 2024-08-25 17:44:29 -04:00
a8ba8feecb refactor(lib): doom/{reload,upgrade}: customizable commands
Ref: #8024
2024-08-25 17:44:28 -04:00
4bc4b54eb9 bump: :lang php
emacs-php/composer.el@42cf9848d4 -> emacs-php/composer.el@791a7104be
emacs-php/php-mode@4792988a12 -> emacs-php/php-mode@59814bd80c
jwiegley/emacs-async@cff2bd0be3 -> jwiegley/emacs-async@f317b0c9c3
2024-08-25 17:44:28 -04:00
62f9b2ec94 feat(parinfer): enable for dune-mode
Close: #8019
Co-authored-by: i-am-linja <i-am-linja@users.noreply.github.com>
2024-08-25 17:44:28 -04:00
9dfd7ebc78 feat(ocaml): set formatter for dune-mode
Close: #8019
Co-authored-by: i-am-linja <i-am-linja@users.noreply.github.com>
2024-08-25 17:44:28 -04:00