Commit graph

19473 commits

Author SHA1 Message Date
Henrik Lissner
86ee153786
refactor(default): move +*-bindings.el loaders into config.el
No need for the extra indirection.
2024-09-01 23:25:51 -04:00
Henrik Lissner
70fd17ebfd
fix(vc): smerge localleader keybinds
The keybinding in 682f151 was being overwritten. I'll simply copy the
keymap into the module, until I can devise a more elegant solution.

Amend: 682f151176
Ref: #5954
2024-09-01 18:25:37 -04:00
Henrik Lissner
295ab7ed3a
feat(org): add "doom +org tangle" command
Introduces a formal bin/doom command for tangling files, to replace the
non-functional bin/org-capture binscript.

Close: #6599
Close: #6267
2024-09-01 17:53:44 -04:00
Henrik Lissner
0d405329fe
fix(literate): improve error handling while tangling
Now emits more informative errors in the case that the user's config.org
doesn't exist or contains no src blocks.

Fix: #6717
2024-09-01 17:29:14 -04:00
Henrik Lissner
682f151176
feat(vc): integrate smerge-mode
Activates smerge-mode if the file contains merge conflict markers. Also
turns binds the localleader to `smerge-mode-map` when it's active.

Also removes an unused leader binding (which will never be set because
:ui hydra was removed in b08c2c7).

Amend: b08c2c745f
Close: #5954
2024-09-01 17:29:14 -04:00
Henrik Lissner
308444d612
fix(literate): detect symlinked literate config files
`file-in-directory-p` already resolves symlinks, but on the off chance
that `+literate-config-file` points to a symlink living in a
non-symlinked directory, this heuristic will fail to realize the current
buffer belongs to your config.

Close: #6704
2024-09-01 17:29:14 -04:00
Henrik Lissner
76f7384621
fix(cli): "void-function: doom-modules-initialize" error
This reference to a function that doesn't exist (yet) snuck into
3bced4d.

Amend: 3bced4dbbe
2024-09-01 17:29:03 -04:00
Henrik Lissner
fb2f79033c
fix(corfu): disable corfu-auto in evil replace mode
Ref: 63e9b11280
2024-09-01 14:49:04 -04:00
Henrik Lissner
63e9b11280
feat(corfu): introduce +corfu-inhibit-auto-functions 2024-09-01 14:48:36 -04:00
Henrik Lissner
1ec4bac75e
bump: :completion
abo-abo/swiper@2a25a6fb5b -> abo-abo/swiper@8dc02d5b72
company-mode/company-mode@1a0fc12a9c -> company-mode/company-mode@e1d331a64e
elken/yasnippet-capf@744dedb783 -> elken/yasnippet-capf@4c2e33d70c
emacs-helm/helm@f8949afd9b -> emacs-helm/helm@06e0cf0148
minad/cape@f61da109a9 -> minad/cape@9110956a51
minad/consult-flycheck@754f5497d8 -> minad/consult-flycheck@3b999ae983
minad/consult@fe48522800 -> minad/consult@0c3f53916e
minad/corfu@cdc3e13ad3 -> minad/corfu@921dd7c97e
minad/marginalia@da72da4622 -> minad/marginalia@50a51c69f0
minad/vertico@ba650a7ab9 -> minad/vertico@c682ef50e6
oantolin/embark@9c166c4b96 -> oantolin/embark@19a13e344e
oantolin/orderless@53f5204ad3 -> oantolin/orderless@49d1fdfb80
radian-software/prescient.el@0765418e43 -> radian-software/prescient.el@2b8a8b4122
rainstormstudio/nerd-icons-completion@c2db8557a3 -> rainstormstudio/nerd-icons-completion@426a1d7c29

Close: #7977
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
2024-09-01 14:47:09 -04:00
Henrik Lissner
3bced4dbbe
refactor(cli): separate cli bootstrap from lib
Eventually, I want to autoload some of this stuff, so that users in
interactive sessions can safely load it without side effects (useful
when writing their own CLIs or editing Doom's source).
2024-09-01 14:45:52 -04:00
Henrik Lissner
d6db88162e
refactor(lib): doom-load 2024-09-01 14:45:52 -04:00
Henrik Lissner
8475d29f3c
refactor: remove redundant set-default-toplevel-value call 2024-09-01 14:45:52 -04:00
Henrik Lissner
515f61295b
nit(cli): revise comments wrt site-run-file loading 2024-09-01 14:45:52 -04:00
Henrik Lissner
2bc6dd2a96
fix(cli): don't load subdirs.el again
Doom loaded subdirs.el's in `load-path`, but doesn't need to. This
normally wasn't an issue because subdirs.el files are typically
idempotent, but there is one case where it isn't: on nixpkgs, with
certain configurations on top of programs.emacs (see
NixOS/nixpkgs#267548), which will cause file-missing errors trying to
load the user's site-lisp afterwards (see #7681).

Ref: NixOS/nixpkgs#267548
Fix: #7681
Amend: 6c0b7e1530
2024-09-01 14:45:52 -04:00
Henrik Lissner
086aed32b2
release(modules): 24.10.0-dev
Ref: 2b39e41368
2024-08-31 22:08:56 -04:00
Henrik Lissner
d8157d8cc6
tweak(org): move RET keybinds from normal to motion state 2024-08-31 22:08:56 -04:00
Henrik Lissner
b2ce4f0afc
refactor(org): +org-exclude-agenda-buffers-from-workspace-h 2024-08-31 22:08:55 -04:00
Henrik Lissner
a8f116bb6b
bump: magit forge orgit orgit-forge
magit/forge@30f181f785 -> magit/forge@35cc600d62
magit/magit@2da34f1317 -> magit/magit@0aa26864e3
magit/orgit-forge@a989b2b54d -> magit/orgit-forge@2718a6aaf0
magit/orgit@29a0f37e5c -> magit/orgit@59d21fdb21

For Magit's 4.1.0 release, and to repin away from these packages'
recently removed 'melpa' branches (see #8007).

Ref: #8003
Ref: #8007
2024-08-31 21:51:59 -04:00
Henrik Lissner
069ea9e02f
fix(cli): straight: highlight 'Reset "*" to "*"' option 2024-08-31 21:50:08 -04:00
Henrik Lissner
affaa7ec9c
docs(ligature): use correct obsoleted-in version
These should reflect the version of doomemacs/modules the symbols were
deprecated in, not the version of doomemacs/core.
2024-08-31 21:32:55 -04:00
Henrik Lissner
10484dea87
merge: #7750
Close: #7750
2024-08-31 21:31:11 -04:00
Henrik Lissner
c9acdb72a4
refactor(cli): remove bin/doom.cmd
This batch script hasn't worked for some time. For v3, I'm working on a
Emacs TUI porcelain for the bin/doom script that will serve as a
replacement/alternative for folks on Windows (or who simply don't
want/need the CLI).
2024-08-31 15:18:50 -04:00
Henrik Lissner
ed02241cb8
fix(default): respect evil-disable-insert-state-bindings
Respect this setting in more places.

Ref: 8c4d871f7c
Ref: 122e3732f7
2024-08-31 15:18:44 -04:00
Henrik Lissner
8c6ee0ed4b
fix: associate .doom(project|module|profile) w/ lisp-data-mode
Same as .dir-locals.el
2024-08-31 15:09:57 -04:00
Henrik Lissner
be8a1244f2
bump: flymake-popon
https://codeberg.org/akib/emacs-flymake-popon@HEAD -> doomelpa/flymake-popon@99ea813346

- Switched to a pinned, Github mirror for flymake-popon, for stability's
  sake.
- Indirectly fixes Straight unable to fetch from a codeberg url with
  :host set to nil or 'codeberg (see #8035).

Fix: #8035
Close: #8034
2024-08-31 13:49:16 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
34cc0c9d86
tweak(dired): ESC to exit wdired-mode
Fix: #8004
2024-08-30 18:56:44 -04:00
Henrik Lissner
78f8026620
fix(latex): auto-reveal folded regions at point
Fix: #8031
2024-08-30 18:45:00 -04:00
Henrik Lissner
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
Henrik Lissner
8c4d871f7c
fix(evil): respect evil-disable-insert-state-bindings 2024-08-30 03:15:43 -04:00
Henrik Lissner
7197ee65c7
fix: help(ful) reporting symbol's source as init.*.el
Fix: #7958
2024-08-30 02:27:03 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
1c16b84691
refactor: remove unneeded/magic in add-hook! calls 2024-08-29 01:43:40 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
3c4921cc57
fix(popup): only remap quit-window in popup buffers 2024-08-28 23:04:21 -04:00
Henrik Lissner
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
Henrik Lissner
4a4a9a1ada
feat(corfu): add +corfu/toggle-auto-complete command 2024-08-28 22:26:47 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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