Commit graph

12042 commits

Author SHA1 Message Date
StrawberryTea
1a3c973f33 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:29:45 -03:00
StrawberryTea
2223add382 fix(corfu): eval lambdas 2024-03-01 12:29:45 -03:00
StrawberryTea
a85b61dc0c 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:29:45 -03:00
StrawberryTea
5627e7b50b fix(corfu): use :filter instead of :enable 2024-03-01 12:29:45 -03:00
StrawberryTea
fb985684e3 fix(corfu): complete after colon in lispy 2024-03-01 12:29:45 -03:00
StrawberryTea
dd65e57a3a fix(corfu): move orderless conf out of corfu block 2024-03-01 12:29:45 -03:00
StrawberryTea
bb7a8e3866 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:29:45 -03:00
StrawberryTea
345f7f575b doc(corfu): document +corfu-want-C-x-bindings 2024-02-20 07:50:24 -03:00
StrawberryTea
3cc4605943 fix(corfu): bind tng tab commands to insert state
These commands were being shadowed by the other Corfu commands
previously.
2024-02-19 16:29:22 -03:00
StrawberryTea
39b0de8736 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-02-19 16:29:22 -03:00
StrawberryTea
3b275b271a fix(corfu): bind cape-dabbrev eagerly
Set up cape-dabbrev in completion-at-point-functions before dabbrev is
loaded.
2024-02-19 16:29:22 -03:00
StrawberryTea
b2c1b574e2 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-02-19 16:29:22 -03:00
StrawberryTea
775749c4cf 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-02-19 16:29:22 -03:00
StrawberryTea
86e5994003 fix(corfu): load minibuffer-setup-hook earlier
This way Corfu can be lazily-loaded by the minibuffer-setup-hook.
2024-02-19 16:29:22 -03:00
Luigi Sartor Piucco
2776fa2c4b
bump: :completion corfu
minad/corfu@24dccafeea -> minad/corfu@b48d3017a4
minad/cape@18a30f48bb -> minad/cape@bfde79ed44
elken/yasnippet-capf@a0a6b1c2bb -> elken/yasnippet-capf@db12b55cd0
2024-02-18 17:52:39 -03:00
Luigi Sartor Piucco
159f61a3a1
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-02-18 17:52:39 -03:00
Luigi Sartor Piucco
a4c9c4cc44
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-02-18 17:51:46 -03:00
Luigi Sartor Piucco
73090187d7
fix(corfu): move binds to :config default
Bindings were moved to the `:config default` module and some keys were
adjusted to match Company/other modules. The changes were documented in
the README.
2024-02-18 17:50:21 -03:00
Luigi Sartor Piucco
386a073b59
feat(corfu,vertico): use equal orderless config
This removes the old `&` separator for Vertico (does anyone use that
instead of just space?) in favor of escapable space and unifies
orderless config with Corfu. Also implements smart separator
insert/escape/reset on `C-SPC`

Co-authored-by: Liam Hupfer <liam@hpfr.net>
2024-02-17 19:51:54 -03:00
StrawberryTea
73d954c3b0
feat(corfu): more CAPFs and ergonomy changes
Add various CAPFs from cape:
- `cape-dabbrev`;
- `cape-emoji`;
- `cape-dict`;
Fixed some CAPFs via cape:
- Make non-exclusive, purified and silent `pcomplete-completions-at-point`;
- Make non-exclusive and non-interruptable `lsp-completion-at-point`;
- Make non-exclusive `eglot-completion-at-point`;
- Make non-exclusive `comint-completion-at-point`;
Fix and improve keybindings:
- Smart `DEL`/`backspace` for `+tng`;
- Smart `RET`;
Add depth to CAPFs, allowing ordering to be adjustable.
Enable in minibuffer.
2024-02-17 19:48:05 -03:00
Luigi Sartor Piucco
1734697b62
feat(corfu): add snippets
Yasnippet is now properly integrated! A previosly-unset default has now
been given to `corfu-on-exact-match`. With snippets, it causes immediate
expansion upon single match by default, so we set it to nil and
recommend against changing it in the README.
2024-02-17 19:48:04 -03:00
Luigi Sartor Piucco
1aceb74d98
module: add :completion corfu
This commit's primary goal is allowing use of
[minad/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
[minad/cape](https://github.com/minad/cape) capfs for certain modes.

Other optional or miscellaneous features include:

- Support for displaying the completion's documentation on a secondary
  popup;
- Support for terminal display if :os tty;
- Support for icons if +icons;
- Support for tab-and-go completion if +tng;
2024-02-17 19:48:04 -03:00
Henrik Lissner
f0ad161643
fix(org): list checkbox toggle on RET
A subtle change in the way org-toggle-checkbox handles its prefix
argument changed how RET (+org/dwim-at-point) handled list
checkboxes (incorrectlying swapping [ ] with [-], but not back, unless
the cursor was directly on top of the checkbox).
2024-02-17 07:13:39 -05:00
Henrik Lissner
cce9438d9f
fix(default): +evil module flag typo 2024-02-17 07:13:39 -05:00
Henrik Lissner
5c7149da67
docs(format): +format-in-org-src-blocks-fn: add docstring 2024-02-17 07:13:39 -05:00
Henrik Lissner
1e8fd09120
fix(format): +format-in-org-src-blocks-fn
Didn't return non-nil, so whether or not it worked, Apheleia would
attempt to (ineffectually) format the org buffer afterwards.

Also remove unneeded beg/end checks (the functions always receive a
value).
2024-02-17 07:13:39 -05:00
Henrik Lissner
3acb75cb16
bump: :lang dart
emacs-lsp/lsp-dart@e7ee6afc2e -> emacs-lsp/lsp-dart@f51c80f545

Includes a fix for the lsp-dart daemon failing to
start (emacs-lsp/lsp-dart#209).

Ref: emacs-lsp/lsp-dart#209
Close: #7677
Co-authored-by: abdulhaq-e <abdulhaq-e@users.noreply.github.com>
2024-02-15 15:51:35 -05:00
Henrik Lissner
9ba6d7191c
refactor(format): improve lsp/eglot formatter dispatchers 2024-02-14 18:12:22 -05:00
Henrik Lissner
e9ea3cc591
feat(format): add eglot support
Fix: #7673
2024-02-14 18:12:22 -05:00
Henrik Lissner
20de3d0f29
refactor(format): introduce +format-functions 2024-02-14 18:12:22 -05:00
Kirill A. Korinsky
8651651125 tweak(wanderlust): don't show DomainKey-Signature 2024-02-14 03:15:54 -05:00
Kirill A. Korinsky
7710518869 bump: :email wanderlust
wanderlust/wanderlust@9fd2c65e8d -> wanderlust/wanderlust@c15e8ece4f
2024-02-14 03:15:54 -05:00
Henrik Lissner
fe776f8d84
fix(vertico): use remote fd in tramp buffers 2024-02-14 02:42:30 -05:00
Henrik Lissner
52355c6131
fix(org): initialize eldoc in org-mode buffers
A recent change upstream (see emacsmirror/org-contrib@6e208c87bf)
removed the autoload for adding org-eldoc-load to org-mode-hook, so we
have to add the hook ourselves (the function is still autoloaded,
fortunately).

Also moves org-eldoc config into its own use-package! block.

Fix: #7633
Ref: emacsmirror/org-contrib@6e208c87bf
2024-02-14 02:42:30 -05:00
Tim Ruffing
d6db0312fd tweak(org): honor default command when archiving
Change the binding for archiving to `org-archive-subtree-default`, which
is the recommend "catch-all" command in the org manual. The user can
specify the actual command in `org-archive-default-command`. The default
for this variable is `org-archive-subtree`, which we previously used for
the binding, so this commit changes behavior only for users who have set
`org-archive-default-command` explicitly.
2024-02-10 16:57:45 -05:00
Colin Woodbury
b655f6aa1f docs(fortran): show how to customize fprettier 2024-02-08 23:14:37 -05:00
Benjamin Schwehn
4db347769e
fix(file-templates): unknown directive error from __license-lgpl3
The misspelling produces a 'Ignoring unknown directive "contribuer"'
error, which was introduced in joaotavora/yasnippet@25f5d88.

Ref: joaotavora/yasnippet@25f5d8808a
2024-02-08 23:11:48 -05:00
Henrik Lissner
5ef7075f96
nit(popup): mention post-command-select-window for 30.x+
Ref: emacs-mirror/emacs@6f75d0f36d
2024-02-08 00:58:20 -05:00
Henrik Lissner
a2484538b4
bump: :tools magit :emacs vc
magit/forge@ba35ffc9ba -> magit/forge@3fc6c362b0
magit/git-modes@4a61a9b86d -> magit/git-modes@3cc94974c0
magit/magit@54d37dc14c -> magit/magit@b68e0a3c33

Ref: magit/forge@3fc6c362b0
2024-02-07 00:33:50 -05:00
Henrik Lissner
a5ff292cbd
fix(emacs-lisp): 'defining as dynamic an already lexical var' error
Fix: #7653
Amend: 3bea4f66a8
2024-02-07 00:30:51 -05:00
Colin Woodbury
3dbbd8b68d feat(common-lisp): introduce sly-overlay 2024-02-06 16:09:16 -05:00
Henrik Lissner
49070dea83
merge: pull request #7619 from catap/wl
Taking care of wanderlust integration
2024-02-05 20:10:11 -05:00
Filipe Regadas
bd6a382b18
fix(dired): void-variable dired-omit-files error
Caused by a recent bump to :emacs dired (see e242ac9).

Fix: #6562
Amend: e242ac9548
2024-02-05 19:29:24 -05:00
Henrik Lissner
d124c7d19c
bump: code-review
doomelpa/code-review@26f426e992 -> doomelpa/code-review@2670a4beb6

Improves closql compatibility.

Ref: doomelpa/code-review#2
2024-02-05 19:15:29 -05:00
Henrik Lissner
7afc21a652
fix(magit): remove lazy emacsqlite build hack
This was resolved upstream some time ago and is now a source of
errors (void-variable emacsql-sqlite-executable errors) if forge were
ever bumped (which it was, yesterday, in 1a05e2f).

Ref: magit/forge@398ca3a17a
Amend: 1a05e2fa64
2024-02-05 19:13:46 -05:00
Henrik Lissner
36385091e8
bump: :os tty
7696122/evil-terminal-cursor-changer@12ea9c0438 -> 7696122/evil-terminal-cursor-changer@2358f3e27d
emacs-straight/xclip@a1ac607f75 -> emacs-straight/xclip@2dfa5fa175

- evil-terminal-cursor-changer added kitty support
2024-02-05 17:21:21 -05:00
Henrik Lissner
83f5c4f818
bump: :input
cute-jumper/fcitx.el@12dc2638dd -> cute-jumper/fcitx.el@b399482ed8
emacs-jp/migemo@f756cba3d5 -> emacs-jp/migemo@7d78901773
laishulu/evil-pinyin@3e9e501ded -> laishulu/evil-pinyin@0fae5ad876
merrickluo/liberime@8291e22cd0 -> merrickluo/liberime@cc9eb9812f
skk-dev/ddskk@c24a624884 -> skk-dev/ddskk@8c47f46e38
tumashu/posframe@0d23bc5f7c -> tumashu/posframe@017deece88
tumashu/pyim@de7eff2a58 -> tumashu/pyim@64067b20ce
2024-02-05 17:21:21 -05:00
Henrik Lissner
e242ac9548
bump: :emacs
alexluigit/dirvish@4fe9c00894 -> alexluigit/dirvish@119f9f59a6
emacs-straight/dired-git-info@9461476a28 -> emacs-straight/dired-git-info@6b6f2a5d71
emacs-straight/vundo@24271862a2 -> emacs-straight/vundo@10d011fb05
emacsmirror/git-timemachine@d8ffd0d7cc -> emacsmirror/git-timemachine@ac933e5cd2
ideasman42/emacs-undo-fu-session@a6c4f73bc2 -> ideasman42/emacs-undo-fu-session@2b355c9d39
ideasman42/emacs-undo-fu@0e74116fd5 -> ideasman42/emacs-undo-fu@04961ba775
magit/git-modes@f0a0154bf4 -> magit/git-modes@4a61a9b86d
magit/magit@4881835572 -> magit/magit@54d37dc14c
purcell/diredfl@f9140b2c42 -> purcell/diredfl@f6d599c308
purcell/ibuffer-vc@1388d2ea18 -> purcell/ibuffer-vc@66d0226733
rainstormstudio/nerd-icons-dired@4a068884bf -> rainstormstudio/nerd-icons-dired@c1c7348863
rmuslimov/browse-at-remote@c020975a89 -> rmuslimov/browse-at-remote@76aa27dfd4
stsquad/dired-rsync@7940d9154d -> stsquad/dired-rsync@5bcb851f3b
2024-02-05 17:21:21 -05:00
Henrik Lissner
792c41f638
bump: :email mu4e notmuch
https://git.notmuchmail.org/git/notmuch@b6f144abe1f5 -> https://git.notmuchmail.org/git/notmuch@2f0320c5f24a
jao/consult-notmuch@d0d4129d45 -> jao/consult-notmuch@d8022e2ddc
jeremy-compostella/org-msg@055de4abf6 -> jeremy-compostella/org-msg@0b65f0f77a
org-mime/org-mime@d368bd4119 -> org-mime/org-mime@9d4584651d
tarsius/ol-notmuch@781c3518a5 -> tarsius/ol-notmuch@881991d94a
2024-02-05 17:21:21 -05:00
Henrik Lissner
4cb06578fc
bump: :completion
DarwinAwardWinner/ido-completing-read-plus@49e7967ea8 -> DarwinAwardWinner/ido-completing-read-plus@5995b4605b
company-mode/company-mode@ed46a616ab -> company-mode/company-mode@02903bd708
emacs-helm/helm@96aad023cb -> emacs-helm/helm@f34ea6b702
lewang/flx@7b44a5abb2 -> lewang/flx@4b1346eb9a
mhayashi1120/Emacs-wgrep@3132abd375 -> mhayashi1120/Emacs-wgrep@208b9d01cf
minad/consult@e4d3712356 -> minad/consult@9463146ba7
minad/vertico@cf8b2abf52 -> minad/vertico@4a7da56b02
oantolin/embark@33c392cf3c -> oantolin/embark@60139db879
radian-software/prescient.el@707c25c947 -> radian-software/prescient.el@4b875be52e
tumashu/vertico-posframe@bc0e67cbbb -> tumashu/vertico-posframe@2e0e09e5bb
2024-02-05 17:21:21 -05:00