Commit graph

19166 commits

Author SHA1 Message Date
Henrik Lissner
665d808d09
bump: :ui
Alexander-Miller/treemacs@df26b6ab9a -> Alexander-Miller/treemacs@8c6df39f01
dgutov/diff-hl@b8b2727a72 -> dgutov/diff-hl@9662083943
doomemacs/themes@ff26f26ea3 -> doomemacs/themes@37d2182f50
jrblevin/deft@28be94d89b -> jrblevin/deft@bb1a16b87c
seagle0128/doom-modeline@bf880ae56f -> seagle0128/doom-modeline@e09b8e989f
2024-03-21 12:02:02 -04:00
ab7216f40a dev: merging from master 2024-03-21 11:48:50 -04:00
StrawberryTea
a83091469b
docs(corfu): debugging cape-dabbrev 2024-03-21 11:29:50 -04:00
Sean Farley
2bdeabb0cf refactor(corfu): consolidate +orderless logic without vertico
This tidy ups the corfu module to use the logic when a user enables
corfu +orderless without enabling vertico. Since that's probably a niche
situation, we only specify commit to pin to orderless in the vertico
module so that contributors aren't tripped up with trying to remember to
update orderless in two different code locations. Of course, if this
turns out to be a more popular use-case we can re-evaluate this logic.
2024-03-21 11:29:32 -04:00
Sean Farley
d3a00ba6af nit(vertico): fix spelling in some docstrings 2024-03-21 11:29:19 -04:00
Sean Farley
222dc47060 feat(vertico): add orderless annotation filtering
Ref: oantolin/orderless#162
2024-03-21 11:29:19 -04:00
Henrik Lissner
cd16150b80
bump: :lang julia
JuliaEditorSupport/julia-emacs@7a8c868e0d -> JuliaEditorSupport/julia-emacs@2dfc869ff6
gcv/julia-snail@d36653bb93 -> gcv/julia-snail@a25ce84748
non-Jedi/eglot-jl@7dc604fe42 -> non-Jedi/eglot-jl@1d9cab6823
2024-03-21 11:27:47 -04:00
Henrik Lissner
367b671134
refactor(lsp): suffix advice & remove redundancy
- Advice functions ought to have a -a suffix.
- `eglot-send-changes-idle-time` is already 0.5 upstream, by default.
2024-03-21 11:27:18 -04:00
StrawberryTea
8c82a90003 feat(corfu): update smart tab completion
This commit updates the smart tab functionality so that:
1. The only functionality checked is for the modules that are enabled.
2. The priority of the TAB behavior is tunable by the user.

This also updates the TAB behavior for the Corfu module to be
`indent-for-tab-command` instead of `completion-at-point` so that users
can use the TAB key to indent their code and navigating Org tables.

We also address #7372 by checking overriding-terminal-local-map, as that
is used by Embark.
2024-03-21 09:33:30 -05:00
831e2c7402 dev: merge branch 'master' into emenel 2024-03-20 13:23:14 -04:00
Henrik Lissner
d22fa5a670
fix(vertico): consult-dir: don't guess user from containers
The tramp string used to connect to the container uses the first
`container-runtime ps` argument as a username, but the first argument
returned is the container ID, not a username.

Close: #7674
Co-authored-by: bergmannf <bergmannf@users.noreply.github.com>
Co-authored-by: elken <elken@users.noreply.github.com>
2024-03-20 03:09:05 -04:00
Henrik Lissner
73f19acb66
fix(julia): revise julia-snail settings
- julia-snail-multimedia-enable is buffer-local, so setq-default is
  needed.
- julia-snail-popup-display-eval-results is already :command upstream.
- julia-snail will automatically calculate a (reasonable) value for
  julia-snail-popup-display-face in the absence of an explicit setting.
- julia-snail-popup-display-face was filled with references to
  doom-themes symbols that aren't global. It's any wonder they worked
  before this. Besidse, it's best we not couple this module with one
  specific theme (or theme pack in this case).

Close: #7625
Co-authored-by: ngharrison <ngharrison@users.noreply.github.com>
2024-03-20 00:16:29 -04:00
Henrik Lissner
0ea84d1c3b
feat(vertico): add consult-yasnippet
Close: #7471
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
2024-03-20 00:16:29 -04:00
Ian McCowan
c564c17a6b fix(fold): reorder fold type checks
(+fold--ts-fold-p) just checks that the mode is active so it will block
any checks following it. Move it to the end so other fold types have a
chance, and consistently order fold type checks.
2024-03-19 23:57:15 -04:00
Henrik Lissner
7547cdac6d
refactor(corfu): remove redundant setting
Upstream, corfu-preview-current is already 'insert by default.
2024-03-19 21:49:23 -04:00
Henrik Lissner
c9c221ca59
fix(corfu): wrong-type-argument characterp error
Corfu doesn't support a nil corfu-separator in general, but
+corfu-smart-sep-toggle-escape, specifically, will throw a characterp
type error if the user hasn't enabled +orderless.
2024-03-19 21:46:31 -04:00
Henrik Lissner
b52d2b2dd0
fix(corfu): ispell: only complain once per session 2024-03-19 21:43:15 -04:00
Henrik Lissner
875cd1aef9
fix(corfu): gate corfu-terminal config
If :completion corfu users don't have :os tty enabled, loading
corfu-terminal will throw an error in TTY Emacs.
2024-03-19 21:42:37 -04:00
Henrik Lissner
f71689304e
tweak: enable startup optimizations in debug mode
Before this, startup optimizations were disabled in debug mode, but more
often than not, this just made it difficult to reproduce some errors at
startup.
2024-03-19 21:42:09 -04:00
Henrik Lissner
9447e82074
bump: :completion vertico
minad/consult-flycheck@d83f87581a -> minad/consult-flycheck@754f5497d8
minad/consult@9463146ba7 -> minad/consult@b48ff6bf05
minad/marginalia@ea356ebb1d -> minad/marginalia@f6fe86b989
minad/vertico@4a7da56b02 -> minad/vertico@68cbd47589
oantolin/embark@60139db879 -> oantolin/embark@c93abadc82
oantolin/orderless@b24748093b -> oantolin/orderless@dc7a781acf
2024-03-19 21:10:45 -04:00
Henrik Lissner
52d5cc9245
merge: pull request #7002 from LuigiPiucco/master
module: Add corfu
2024-03-19 21:09:03 -04:00
Sean Farley
550d6ecd19 bump: :tools magit
magit/forge@03b48be2a1 -> magit/forge@03b48be2a1
magit/magit@65ecb9c5fc -> magit/magit@65ecb9c5fc

This fixes a bug in forge (which has been fixed upstream) that
erroneously set `minibuffer-allow-text-properties' globally and caused
seemingly random errors involving completion from the minibuffer.

Ref: magit/forge#639
Ref: minad/jinx#140
2024-03-19 20:48:59 -04:00
Henrik Lissner
d553ebc930
fix: invoke debugger for early-init.el-level errors 2024-03-19 20:47:21 -04:00
Henrik Lissner
6b55c6adc6
refactor: inline doom--make-font-specs
This function isn't (and won't be) used anywhere else. No reason for it
to be its own function.
2024-03-19 20:47:21 -04:00
Henrik Lissner
1d99d1f191
refactor: consolidate startup--load-user-init-file advice
Splitting up all this advice was unnecessary noise.
2024-03-19 20:47:21 -04:00
Henrik Lissner
1d9b102181
fix: shut up site-lisp
One various OSes, Emacs ships with site-lisp files that load
OS/architecture-specific config (like native-comp config), or load-lines
for Emacs packages installed via your OS package manager (like mu4e).
Output from these are rarely suppressed, for some reason, which causes
noise in *Messages* at startup, which triggers a redraw, which can be
very expensive during startup, depending on your window system.
2024-03-19 20:47:21 -04:00
Henrik Lissner
5e7c769315
fix: ensure inhibit-* is reset on startup error 2024-03-19 20:47:20 -04:00
Henrik Lissner
b6e7bbbe07
fix(eval): overlay position
Fix: #7732
Close: #7734
Co-authored-by: pysnow530 <pysnow530@users.noreply.github.com>
2024-03-19 20:47:20 -04:00
Henrik Lissner
e8897421b1
fix(java): add lsp-treemacs
lsp-java depends on lsp-treemacs without declaring it a dependency, so
lsp-users using :lang (java +lsp) users without :ui (treemacs +lsp) will
experience file-missing errors when lsp-java is loaded.
2024-03-19 20:47:20 -04:00
Luigi Sartor Piucco
f9c0243211
docs(corfu): add @LemonBreezes as co-maintainer
Co-authored-by: StrawberryTea <look@strawberrytea.xyz>
2024-03-19 20:41:50 -03:00
StrawberryTea
bfb9aabe27
feat(corfu): update minibuffer hints manually
We need this advice to ensure that visual hints are updated before
exiting.
2024-03-19 20:41:50 -03:00
StrawberryTea
4192c81113
feat(corfu): make minibuffer completion optional 2024-03-19 20:41:50 -03:00
Luigi Sartor Piucco
763464afdb
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`. It's supposed to add the
advice by itself, but it's very unreliable, so we do the wrapping
manually.

Ido doesn't implement `completion-in-region` and its `completing-read`
is retricted to a list of strings as table, so we use default
`completion--in-region` with no bells or whistles.
2024-03-19 20:41:50 -03:00
Luigi Sartor Piucco
0588b42b46
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-03-19 20:41:50 -03:00
StrawberryTea
365a95de76
feat(corfu): more CAPFs and ergonomy changes
Add CAPFs from cape:
- `cape-dabbrev`;
- `cape-elisp-block`;
- `cape-file`;
Fix 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`;
Add depth to CAPFs, allowing ordering to be adjustable.
2024-03-19 20:41:50 -03:00
Luigi Sartor Piucco
968a897530
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-03-19 20:41:50 -03:00
Luigi Sartor Piucco
6949451b00
module: add :completion corfu
This commit's primary goal is allowing use of
[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
[Cape](https://github.com/minad/cape) capfs for certain modes.

Other optional or miscellaneous features include:

- Corfu is enabled in the minibuffer if `completion-at-point` is bound;
- Support for displaying the completion's documentation on a secondary
  popup;
- Support for terminal display if :os tty;
- Support for icons if +icons;
2024-03-19 20:41:36 -03:00
d0a66003e8 dev: updating from latest 2024-03-14 11:07:30 -04:00
Sean Farley
85ce866953 feat(macos): osx-trash is only needed by emacs < 29 2024-03-14 06:13:38 -04:00
1f966c2250 dev: updating from latest 2024-03-13 12:16:01 -04:00
Henrik Lissner
c20c2aa36e
fix: tiny fonts in (daemon) GUI frames
Due to a suppressed void-variable error, font initialization is
short-circuited across daemon frames when the fonts are reloaded or
changed (which is also triggered by changing themes), resulting in
malformed (often tiny) fonts in GUI frames.

Fix: #7730
2024-03-13 11:02:12 -04:00
87daad531e dev: merge branch 'pr7002' into emenel 2024-03-13 10:57:38 -04:00
Henrik Lissner
5280fb2855
fix(lsp): void-variable eglot-events-buffer-config
The variable was modified too early (before the package was loaded).

Amend: 5f858bb142
2024-03-13 06:51:35 -04:00
Henrik Lissner
193475cd64
fix(lsp): s/eglot-events-buffer-size/eglot-events-buffer-config/
Amend: 5f858bb142
2024-03-13 01:09:47 -04:00
Henrik Lissner
0073c3d70d
docs(twitter): add deprecation notice
twittering-mode is non-functional and no known alternative exists.

Close: #6383
2024-03-13 01:00:39 -04:00
Henrik Lissner
39db5de570
fix(org): only reveal point on save-place-after-find-file-hook
Prior to this change, whenever you enter an org-mode buffer, any
invisible regions around the cursor (which had been moved by save-place)
would be unfolded unconditionally. There may be cases where moving
the cursor immediately after visiting the file could cause errors (e.g.
when yasnippet tries to wrestle control over the cursor,
org-agenda-switch-to moves the cursor before switching to the buffer,
etc).

This change ensures the expansion *only* happens when save-place does
its thing (and successfully).
2024-03-13 01:00:38 -04:00
Henrik Lissner
fec28a19e1
fix: save-place: don't move point more than once
In some contexts, like org-agenda-switch-to visiting a TODO in an agenda
file, the visiting command will move the cursor after opening the file.
If save-place moves the cursor yet again, the cursor will end up in an
unpredictable place.
2024-03-13 01:00:38 -04:00
Henrik Lissner
5cc4056abf
fix(format): +format-with-eglot-fn: eglot detection 2024-03-13 01:00:38 -04:00
Henrik Lissner
5f858bb142
refactor(lsp): obsolete eglot-events-buffer-size
Ref: 88c46bd4db
2024-03-13 01:00:38 -04:00
Henrik Lissner
4af536cde2
fix(emacs-lisp): +emacs-lisp--module-at-point: wrong-number-of-arguments error 2024-03-13 01:00:38 -04:00