Commit Graph

18868 Commits

Author SHA1 Message Date
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
559171575e refactor(lib): doom-region-end: extract marker 2024-03-11 03:59:37 -04:00
61327bf777 refactor(lib): use doom-region-{beginning,end} 2024-03-11 03:59:37 -04:00
4be265ead7 fix: doom-incremental-first-idle-timer: type error when nil (part 2)
Amend: 2bce9dbc1a
Ref: #7710
2024-03-11 03:59:37 -04:00
e27d9b35d3 fix(popup): fix finding of major side window
Fix: #7647
Amend: #7598
2024-03-11 02:55:38 -04:00
c6063de439 nit: revise and reformat comments 2024-03-11 00:53:44 -04:00
7f484f7010 refactor: remove explain-pause-mode
Tools like these will be moved to a benchmark module later (or perhaps
to `:lang emacs-lisp`). For the time being, it only takes up extra space
that few users use.
2024-03-11 00:53:44 -04:00
6c1aa0fb62 bump: :tools editorconfig
editorconfig/editorconfig-emacs@4b81a59928 -> editorconfig/editorconfig-emacs@c3666c093f
2024-03-11 00:53:44 -04:00
dec058fabb fix(treemacs): treemacs-nerd-icons load order w/ +lsp
lsp-treemacs changes the default Treemacs theme, so treemacs-nerd-icons
needs to be loaded after it, if it's installed/enabled.

Fix: #7519
Fix: doomemacs/themes#801
Ref: emacs-lsp/lsp-treemacs#89
2024-03-11 00:53:44 -04:00
41e81f67a7 refactor(editorconfig): remove unused advice
editorconfig-call-editorconfig-exec was renamed+redesigned upstream. The
advice can no longer be trivially repurposed, so I'm removing it.

Ref: editorconfig/editorconfig-emacs@f8f1a899df
2024-03-11 00:53:44 -04:00
43870bf831 fix(editorconfig): prevent changes to tab-width in org-mode
- Add another measure for preventing changes to tab-width in org-mode.
  The hook introduced in 2757a97 runs too early and could be overwritten
  by editorconfig.
- Fix the hook in 2757a97 to run much later, ensuring (as a last resort)
  no other packages can overwrite tab-width either.

Amend: 2757a97a30
Ref: #7670
2024-03-11 00:53:44 -04:00
198fe82b6d feat(lib): backport find-sibling-file
I will slowly phase out projectile in favor of project.el, starting with
projectile-find-other-file, which -- as of Emacs 29 -- has a native
alternative: `find-sibling-file`.

Ref: doomemacs/community#1
2024-03-11 00:53:44 -04:00
3b405c8d81 fix(lib): only use alpha-background on pgtk builds
Fix: #7721
2024-03-11 00:53:44 -04:00
3820ead9e3 tweak(markdown): disable wiki links & math highlights by default
These two features are relatively expensive and shouldn't be enabled as
a global default.
2024-03-11 00:53:44 -04:00
f1c1efe420 refactor(biblio): move 3rd party modes to use-package blocks
This makes load-order more predictable for users wanting to modify the
side-effects of citar-org-roam-mode or citar-embark-mode. I.e.

  (after! citar-org-roam ...)
  (after! citar-embark ...)

Instead of:

  (after! (citar org-roam) ...)
  (after! (citar embark) ...)

Ref: #7712
Co-authored-by: hpfr <hpfr@users.noreply.github.com>
2024-03-11 00:53:43 -04:00
2bce9dbc1a fix: doom-incremental-first-idle-timer: type error when nil
If the user uses the doom-load-packages-incrementally function directly,
and has set doom-incremental-first-idle-timer set to nil, it will throw
a type error.

Close: #7710
2024-03-11 00:53:43 -04:00
d443488728 bump: :lang nim
nim-lang/nim-mode@1338e5b0d5 -> nim-lang/nim-mode@625cc023bd
2024-03-11 00:53:43 -04:00
79429ecc56 fix(nim): swap nimfmt with nimpretty
Nim 2.x+ comes with its own formatter (nimpretty).

Close: #7578
Co-authored-by: pietrangelo <pietrangelo@users.noreply.github.com>
2024-03-11 00:53:43 -04:00