Commit Graph

18835 Commits

Author SHA1 Message Date
a83091469b docs(corfu): debugging cape-dabbrev 2024-03-21 11:29:50 -04:00
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
d3a00ba6af nit(vertico): fix spelling in some docstrings 2024-03-21 11:29:19 -04:00
222dc47060 feat(vertico): add orderless annotation filtering
Ref: oantolin/orderless#162
2024-03-21 11:29:19 -04:00
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
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
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
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
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
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
7547cdac6d refactor(corfu): remove redundant setting
Upstream, corfu-preview-current is already 'insert by default.
2024-03-19 21:49:23 -04:00
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
b52d2b2dd0 fix(corfu): ispell: only complain once per session 2024-03-19 21:43:15 -04:00
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
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
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
52d5cc9245 merge: pull request #7002 from LuigiPiucco/master
module: Add corfu
2024-03-19 21:09:03 -04:00
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
d553ebc930 fix: invoke debugger for early-init.el-level errors 2024-03-19 20:47:21 -04:00
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
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
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
5e7c769315 fix: ensure inhibit-* is reset on startup error 2024-03-19 20:47:20 -04:00
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
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
f9c0243211 docs(corfu): add @LemonBreezes as co-maintainer
Co-authored-by: StrawberryTea <look@strawberrytea.xyz>
2024-03-19 20:41:50 -03:00
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
4192c81113 feat(corfu): make minibuffer completion optional 2024-03-19 20:41:50 -03:00
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
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
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
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
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
85ce866953 feat(macos): osx-trash is only needed by emacs < 29 2024-03-14 06:13:38 -04:00
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
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
193475cd64 fix(lsp): s/eglot-events-buffer-size/eglot-events-buffer-config/
Amend: 5f858bb142
2024-03-13 01:09:47 -04:00
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
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
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
5cc4056abf fix(format): +format-with-eglot-fn: eglot detection 2024-03-13 01:00:38 -04:00
5f858bb142 refactor(lsp): obsolete eglot-events-buffer-size
Ref: 88c46bd4db
2024-03-13 01:00:38 -04:00
4af536cde2 fix(emacs-lisp): +emacs-lisp--module-at-point: wrong-number-of-arguments error 2024-03-13 01:00:38 -04:00
90f90fb34d fix(treemacs): simplify lsp-treemacs load-order
dec058f fixed the load order between treemacs-nerd-icons and
lsp-treemacs, but lsp-treemacs still loads so late that folks will see a
theme-less Treemacs until they visit their first lsp-mode-enabled file.
This ensures that won't happen.

Amend: dec058fabb
Amend: #7519
2024-03-13 01:00:38 -04:00
f838c1790d docs(default,mu4e,latex): fix repetition of the in docs 2024-03-12 20:16:29 -04:00
a0344ffc3a fix(mu4e): advice for new mu4e release
mu4e-quit now takes an optional argument, BURY, which is a boolean that
determines whether to bury the buffer or kill it. This commit updates
the advice to reflect this change.
2024-03-11 04:01:48 -04:00
b382255704 release(modules): 24.03.0-dev
Ref: 2b39e41368
2024-03-11 03:59:38 -04:00
68682ac012 fix(ruby): ruby REPL w/ robe
set-repl-handler! handlers have to return a buffer.

Close: #7450
Co-authored-by: Zetagon <Zetagon@users.noreply.github.com>
2024-03-11 03:59:37 -04:00
1db96a1fdb docs(web): correct type, mention JS comment hack, remove superfluous notice
close: #7388
2024-03-11 03:59:37 -04:00
a0a1babc0d fix(cli): silence output from site-lisp
Some site files will forcibly undo `inhibit-message` or set
`force-load-messages`. This ensures site lisp files don't make
unnecessary noise at startup.
2024-03-11 03:59:37 -04:00