Commit graph

19311 commits

Author SHA1 Message Date
9e65bee47e dev: merge branch 'master' 2024-03-09 09:26:07 -05:00
Dev380
d657be1744
feat(vertico): completion highlights a la ivy
* feat(vertico): completion highlights a la ivy

Adds completion highlighting that works similarly to ivy/counsel's
one (which is enabled by default). It'll highlight enabled major/minor
modes and directories in a different face. On by default.

Ref: https://github.com/minad/vertico/wiki#candidate-display-transformations-custom-candidate-highlighting

* fix(vertico): major mode not being highlighted

The major mode was not being highlighted correctly;
it should work now that the buffer is set correctly in
`+vertico-highlight-enabled-mode`.

* fix(vertico): make font lock prioritize match over type

The mode and directory highlights were [overriding the match
font-lock](https://github.com/doomemacs/doomemacs/pull/7706#issuecomment-1977722188).
This should resolve that by prioritizing the match font lock using
`'append` on `add-face-text-property` instead of `propertize`.
2024-03-08 20:21:36 -05:00
f56395956a dev: merge branch 'pr7002' into emenel 2024-03-08 09:06:40 -05:00
Luigi Sartor Piucco
3a001534c1
docs(corfu): add @LemonBreezes as co-maintainer
Co-authored-by: StrawberryTea <look@strawberrytea.xyz>
2024-03-07 21:21:09 -03:00
Luigi Sartor Piucco
69c82bc0f0
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we have many features as documentation,
and the user can compose to their liking. The global CAPF list was
pruned, suggesting to use individual keys for those functions if
required.
2024-03-07 21:20:13 -03:00
9b9b54b82a dev: updating from latest 2024-03-05 08:01:17 -05:00
Henrik Lissner
bea81278fd
bump: :checkers syntax
flycheck/flycheck@e56e30d8c6 -> flycheck/flycheck@02148c6ce7

Close: #7680
Co-authored-by: vitallium <vitallium@users.noreply.github.com>
2024-03-05 01:21:09 -05:00
Yejun Su
47dc59f3b2 fix(nix): make doctor check against nix-nixfmt-bin 2024-03-05 01:16:26 -05:00
StrawberryTea
645c856de0 fix(popup): allow killing popup buffers
Currently, `SPC b k` does not allow us to kill popup buffers. If we are
say using a comint/eshell/eat buffer and we borked the state while
testing hooks or we sent EOF to the underlying process, our intention
with `SPC b k` is to kill the underlying buffer.
2024-03-05 01:14:38 -05:00
45mm
78b85b8a72 fix(vertico): mapping for embark open in workspace
We should always bind to both "TAB" and "<tab>" - if they have been
mapped to different commands anywhere, Emacs will no longer treat them
as equivalent.
2024-03-05 01:13:39 -05:00
Krzysztof Baranowski
5d77d317a3
fix(clojure): obsolete ref to cider-repl-print-length
cider-repl-print-length has been obsolete for a long time.
2024-03-05 01:12:34 -05:00
StrawberryTea
c03113906a
fix(dired): hide flycheck temp files 2024-03-05 01:11:19 -05:00
Liam Hupfer
2b2901593e refactor(biblio): tidy use-package usage
:after can be misleading, so avoid it. :no-require is for working around
byte compilation issues; deferral is sufficient here.

Ref: https://github.com/jwiegley/use-package/issues/829
2024-03-05 01:09:37 -05:00
Liam Hupfer
0fc32ed881 perf(biblio): do not load oc-natbib by default
natbib isn’t part of the default `org-cite-export-processors', so leave
it to users to load if they enable it.
2024-03-05 01:09:37 -05:00
Liam Hupfer
9f198978f8 fix(biblio): avoid 'oc-csl dependency cycle
Relevant portion of the dependency graph:

'oc-csl → 'citeproc → 'citeproc-itemgetters → 'org → 'org-keys → 'oc

The :after linked 'oc to 'oc-csl so 'org-keys could load 'org.
`+org-init-keybinds-h' could then execute before the body of 'org-keys,
so Org default bindings could clobber Doom bindings.

If the top-level 'org started the load sequence, `org-load-hook'
functions would execute last and key bindings would be correct, but
Doom’s deferred incremental loading of Org could lead to this scenario:

 1. deferred incremental loader: (require 'org-src)
 2. org-src.el: (require 'org-keys)
 3. org-keys.el: (require 'oc)
 4. oc.el: (provide 'oc): (require 'oc-csl) [via the :after this patch
    removes]
 5. oc-csl.el: (require 'citeproc)
 6. citeproc.el: (require 'citeproc-itemgetters)
 7. citeproc-itemgetters.el: (require 'org)
 8. org.el: (require 'org-keys)
 9. 'org-keys from step 8 finishes loading. Keys are bound.
10. 'org finishes loading. `org-load-hook' functions are run. Doom’s
    keys are bound.
11. 'oc-csl finishes loading
12. 'org-keys from step 3 finishes loading. Keys are bound again,
    overwriting any keys Doom bound in step 10.
13. 'org-src finishes loading

At some point, the deferred incremental loader will (require 'org), but
it is a feature as of step 10, so it does not load and its hooks do not
run again.
2024-03-05 01:09:37 -05:00
Henrik Lissner
2324ff4bb7
bump: :lang rust
rust-lang/rust-mode@f74dd1cd87 -> rust-lang/rust-mode@d8a09f218e

There was a mishap with the last bump (2e12383), and rust-mode was
bumped to the wrong commit.

Amend: 2e123839d1
2024-03-04 22:56:58 -05:00
Henrik Lissner
44bc88ec39
bump: code-review
doomelpa/code-review@2670a4beb6 -> doomelpa/code-review@e4c34fa284

Ref: doomelpa/code-review@e4c34fa284
2024-03-04 22:28:47 -05:00
Henrik Lissner
3dbdcb7947
fix: define doom-font-error
Was meant to be in 98d753e.

Amend: 98d753e103
2024-03-04 22:20:17 -05:00
Henrik Lissner
b94d14811d
bump: :tools lsp
emacs-lsp/lsp-mode@fb88cc6b8b -> emacs-lsp/lsp-mode@a5f5ca9a8a
emacs-straight/eglot@cd4e45b700 -> emacs-straight/eglot@24f2bf7b28
flycheck/flycheck-eglot@9ff8d0068b -> flycheck/flycheck-eglot@114e1315aa
2024-03-04 22:12:09 -05:00
Henrik Lissner
ff127805d3
bump: :tools magit
alphapapa/magit-todos@debb77b358 -> alphapapa/magit-todos@1e9acc0ba6
magit/forge@3fc6c362b0 -> magit/forge@03b48be2a1
magit/magit@b68e0a3c33 -> magit/magit@65ecb9c5fc
2024-03-04 22:11:54 -05:00
Henrik Lissner
2e123839d1
bump: :lang rust
rust-lang/rust-mode@f74dd1cd87 -> rust-lang/rust-mode@d8a09f218e

- Resolves the lingering autoload issue caused by
  rust-lang/rust-mode@35dc136, and first introduced in
  rust-lang/rust-mode@08cea61.

Ref: rust-lang/rust-mode@35dc13632b
Ref: rust-lang/rust-mode@08cea61390
Ref: rust-lang/rust-mode#524
Fix: #7698
2024-03-04 22:09:28 -05:00
Henrik Lissner
2757a97a30
fix(org): don't change tab-width in org-mode
Recently, org-mode made a non-standard tab-width an error state.
Unfortunately, it's way too easy for users to accidentally change
it (e.g. with editorconfig, indiscriminate setter hooks, or other
packages), and since there is zero reason to ever want a non-standard
tab-width in org-mode, I not only exclude it from dtrt-indent as a
global default (i.e. not only as part of :lang org), but I add a late
org-mode-hook hook to reset tab-width, just in case.
2024-03-04 22:07:51 -05:00
Luigi Sartor Piucco
fb12635864
docs(corfu): add @LemonBreezes as co-maintainer
Co-authored-by: StrawberryTea <look@strawberrytea.xyz>
2024-03-04 14:17:56 -03:00
a85f4d9f6c dev: updating from latest 2024-03-04 12:16:35 -05:00
Luigi Sartor Piucco
8015d3172d
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we many features as documentation, and
the user can compose to their liking. The global CAPF list was pruned,
suggesting to use individual keys for those functions if required.
2024-03-04 14:08:32 -03:00
afe9fa896f dev: merge branch 'pr7002' into emenel 2024-03-04 09:48:38 -05:00
Henrik Lissner
183ab38926
bump: spell-fu
https://codeberg.org/ideasman42/emacs-spell-fu@e4031935803c -> emacsmirror/spell-fu@e403193580

codeberg has uptime issues. Where possible, we should prefer Github
sources.

Ref: #7013
2024-03-04 03:29:42 -05:00
Henrik Lissner
179e300bfd
bump: visual-fill-column
https://codeberg.org/joostkremers/visual-fill-column@db7c7c236555 -> emacsmirror/visual-fill-column@5e74afe39d

codeberg has uptime issues. Where possible, we should prefer Github
sources.

Fix: #7013
2024-03-04 03:26:07 -05:00
Luigi Sartor Piucco
93faae87eb
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we many features as documentation, and
the user can compose to their liking. The global CAPF list was pruned,
suggesting to use individual keys for those functions if required.
2024-03-03 16:46:37 -03:00
4102c1f5b6 dev: updating from latest 2024-03-02 12:53:27 -05:00
Luigi Sartor Piucco
03f065df9f
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we provide a flag per feature, and the
user can compose to their liking. Some variable options were turned into
flags and the global CAPF list was pruned, suggesting to use individual
keys for those functions if required.
2024-03-02 13:19:17 -03:00
eaa9d0e188 dev: updating from latest 2024-03-01 15:01:17 -05:00
StrawberryTea
2bb5f29a01
feat(corfu): make minibuffer completion optional 2024-03-01 12:33:13 -03:00
StrawberryTea
13eba74fe9
feat(config): modify smart-ret in +tng minibuffer
If we are using +tng, we can make RET always exit the minibuffer. This
has the downside of not being able to insert snippets, but no one writes
snippets for the minibuffer anyway.
2024-03-01 12:33:13 -03:00
StrawberryTea
c6eb87c950
fix(corfu): eval lambdas 2024-03-01 12:33:13 -03:00
StrawberryTea
435c9c9fde
fix(corfu): improve detection of comments
Due to https://github.com/minad/cape/pull/109, we cannot rely on only
faces to detect comments.
2024-03-01 12:33:13 -03:00
StrawberryTea
ccf12db615
fix(corfu): use :filter instead of :enable 2024-03-01 12:33:12 -03:00
StrawberryTea
5b37e90cc8
fix(corfu): complete after colon in lispy 2024-03-01 12:33:12 -03:00
StrawberryTea
9fd2ef892e
fix(corfu): move orderless conf out of corfu block 2024-03-01 12:33:12 -03:00
StrawberryTea
57716ef472
feat(config): add smart-ret for corfu
This commit makes RET in Corfu quit auto-completion and passthrough to
the underlying keymap if no completion is selected.
2024-03-01 12:33:12 -03:00
StrawberryTea
d28f217b93
doc(corfu): document +corfu-want-C-x-bindings 2024-03-01 12:33:12 -03:00
StrawberryTea
eb8d4d646e
fix(corfu): bind tng tab commands to insert state
These commands were being shadowed by the other Corfu commands
previously.
2024-03-01 12:33:11 -03:00
StrawberryTea
1257527537
feat(config): make C-x corfu bindings optional
For someone like me that uses the vanilla emacs commands bound to C-x
C-p, C-x C-n, etc, I prefer to set the completion keybindings manually.
2024-03-01 12:33:11 -03:00
StrawberryTea
7a68375ffb
fix(corfu): bind cape-dabbrev eagerly
Set up cape-dabbrev in completion-at-point-functions before dabbrev is
loaded.
2024-03-01 12:33:11 -03:00
StrawberryTea
e0006ac497
feat(corfu): update minibuffer hints manually
In the scenario where we exit the minibuffer using C-RET or S-RET, we
need this advice to ensure that visual hints are updated before exiting.
2024-03-01 12:33:11 -03:00
StrawberryTea
5ea9c00f30
refactor(corfu): unwrap add-hook from after! block
add-hook handles void variables so there is no need to wrap it in an
after! block. This also makes it easier for the user to remove the hook.
2024-03-01 12:33:11 -03:00
StrawberryTea
7daf8e4e15
fix(corfu): load minibuffer-setup-hook earlier
This way Corfu can be lazily-loaded by the minibuffer-setup-hook.
2024-03-01 12:33:11 -03:00
Luigi Sartor Piucco
70b2e345cc
bump: :completion corfu
minad/corfu@24dccafeea -> minad/corfu@b48d3017a4
minad/cape@18a30f48bb -> minad/cape@bfde79ed44
elken/yasnippet-capf@a0a6b1c2bb -> elken/yasnippet-capf@db12b55cd0
2024-03-01 12:33:10 -03:00
Luigi Sartor Piucco
70c327a4f1
feat(corfu): general move-to-minibuffer impl
We previously implemented only consult/vertico as a target for export,
now we have all of them. It was necessary to use case-by-case
conditions, unfortunately, because other UIs have subtle quirks that
prevent a single generalized approach to work.

Ivy is almost compliant, but it needs beg and end to not be markers.

Helm doesn't replace `completion-in-region-function`, it expects to go
around the default `completion--in-region`, so a small addition was made
to its module, because we weren't doing that. This was likely an
oversight due to the non-standard usage. This was fixed here because we
need it working for this feature.

Ido doesn't implement `completion-in-region` and its `completing-read`
is retricted to a list of strings as table, so it's treated the same as
absence of a framework, because it lacks the needed features.
2024-03-01 12:33:10 -03:00
Luigi Sartor Piucco
a5db530622
feat(corfu): impl smart confirm in minibuffer
An issue when using corfu in the minibuffer was the need for pressing
RET twice, since the first only inserts the completion. This commit
aliviates that by providing C-RET to ignore completion and conclude the
minibuffer imediately and S-RET to insert completion then conclude.
2024-03-01 12:33:10 -03:00