Commit Graph

19921 Commits

Author SHA1 Message Date
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
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
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
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
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
fb2f79033c fix(corfu): disable corfu-auto in evil replace mode
Ref: 63e9b11280
2024-09-01 14:49:04 -04:00
63e9b11280 feat(corfu): introduce +corfu-inhibit-auto-functions 2024-09-01 14:48:36 -04:00
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
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
d6db88162e refactor(lib): doom-load 2024-09-01 14:45:52 -04:00
8475d29f3c refactor: remove redundant set-default-toplevel-value call 2024-09-01 14:45:52 -04:00
515f61295b nit(cli): revise comments wrt site-run-file loading 2024-09-01 14:45:52 -04:00
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
086aed32b2 release(modules): 24.10.0-dev
Ref: 2b39e41368
2024-08-31 22:08:56 -04:00
d8157d8cc6 tweak(org): move RET keybinds from normal to motion state 2024-08-31 22:08:56 -04:00
b2ce4f0afc refactor(org): +org-exclude-agenda-buffers-from-workspace-h 2024-08-31 22:08:55 -04:00
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
069ea9e02f fix(cli): straight: highlight 'Reset "*" to "*"' option 2024-08-31 21:50:08 -04:00
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
10484dea87 merge: #7750
Close: #7750
2024-08-31 21:31:11 -04:00
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
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
8c6ee0ed4b fix: associate .doom(project|module|profile) w/ lisp-data-mode
Same as .dir-locals.el
2024-08-31 15:09:57 -04:00
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
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