Commit graph

1441 commits

Author SHA1 Message Date
Luigi Sartor Piucco
5532c68e53
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-03-12 18:18:29 -03:00
Henrik Lissner
6c1aa0fb62
bump: :tools editorconfig
editorconfig/editorconfig-emacs@4b81a59928 -> editorconfig/editorconfig-emacs@c3666c093f
2024-03-11 00:53:44 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
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
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
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
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
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
Edmund Miller
2f7d8f41e1 feat(lookup): add Kagi 2024-02-04 21:48:23 -05:00
Henrik Lissner
53998a0249
module: remove :tools gist
This module had been deprecated for some years, because it's central
package (gist.el) has been non-functional and unmaintained for years.
This will later be replaced with a more general module (powered by
webpaste.el or similar) for interacting with pastebin
services (including gist).
2024-02-04 19:11:29 -05:00
Henrik Lissner
1a05e2fa64
bump: :tools
NicolasPetton/pass@c721604b3b -> NicolasPetton/pass@ed7031c5c3
Silex/docker.el@6997c86a24 -> Silex/docker.el@d5255a65b7
alphapapa/magit-todos@cadf29d1cc -> alphapapa/magit-todos@debb77b358
andras-simonyi/citeproc-el@290320fc57 -> andras-simonyi/citeproc-el@c61c98b9d2
doomelpa/code-review@26f426e992 -> doomelpa/code-review@c34ff1ee64
editorconfig/editorconfig-emacs@2fed9599bc -> editorconfig/editorconfig-emacs@4b81a59928
emacs-citar/citar-org-roam@761eed6678 -> emacs-citar/citar-org-roam@7d67dccf80
emacs-citar/citar@2c0547db57 -> emacs-citar/citar@885b86f673
emacs-lsp/lsp-mode@02c5ba59ce -> emacs-lsp/lsp-mode@fb88cc6b8b
emacs-straight/eglot@f73594f589 -> emacs-straight/eglot@cd4e45b700
emacs-straight/rainbow-mode@24437ec2c6 -> emacs-straight/rainbow-mode@70ed10d410
emacs-tree-sitter/tree-sitter-langs@5eb24557f5 -> emacs-tree-sitter/tree-sitter-langs@20fbbb8573
emacsorphanage/quickrun@6f96318930 -> emacsorphanage/quickrun@248149b026
hcl-emacs/terraform-mode@39d2fd5bfc -> hcl-emacs/terraform-mode@e8b57df8c2
jacktasia/dumb-jump@d9503c157a -> jacktasia/dumb-jump@ede6a04187
magit/forge@ba35ffc9ba -> magit/forge@b16b6ec4f7
magit/magit@4881835572 -> magit/magit@54d37dc14c
meain/evil-textobj-tree-sitter@9a9edd42a2 -> meain/evil-textobj-tree-sitter@220ceae065
purcell/envrc@33d01388ce -> purcell/envrc@1385e72a73
rejeep/prodigy.el@a3be00d3b9 -> rejeep/prodigy.el@cc68fa9d60
tmalsburg/helm-bibtex@ef07adfeda -> tmalsburg/helm-bibtex@bf184cc311
xuchunyang/osx-dictionary.el@0715e5a3ac -> xuchunyang/osx-dictionary.el@1f5a74f3e5
yoshiki/yaml-mode@3fcb36d603 -> yoshiki/yaml-mode@5b58248ab2
zx2c4/password-store@28cec11f1d -> zx2c4/password-store@b5e965a838
2024-02-04 19:07:25 -05:00
Henrik Lissner
b070a801ed
bump: :tools collab
https://code.librehq.com/qhong/crdt.el@3ba890658d65 -> emacs-straight/crdt@4a18cd8539

Moved to github mirror since old source was unreliable.
2024-02-04 19:02:33 -05:00
Henrik Lissner
659f7bfc71
refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
Henrik Lissner
3852791066
bump: :tools debugger lsp
emacs-lsp/dap-mode@755845ae05 -> emacs-lsp/dap-mode@2f0c5b2857
emacs-lsp/lsp-mode@d441f3d268 -> emacs-lsp/lsp-mode@02c5ba59ce
emacs-lsp/lsp-ui@0dd39900c8 -> emacs-lsp/lsp-ui@bc58c66645
emacs-straight/eglot@2b145778ba -> emacs-straight/eglot@f73594f589
mohkale/consult-eglot@db9d41c981 -> mohkale/consult-eglot@049c6319b8
2024-01-28 00:49:05 -05:00
Itai Y. Efrat
60e22fd2eb refactor(vertico): use consult-fd
Close: #7458
Co-authored-by: LemonBreezes <look@strawberrytea.xyz>
2024-01-27 23:34:56 +02:00
Oscar Marshall
d87c181aea
fix(upload): ssh-deploy-on-explicit-save = 1
#7513 changed the expected value of `ssh-deploy-on-explicit-save` to be
#an integer, but the default value was still `t`. This commit changes it
#to be `1`.

Amend: #7513
2024-01-27 03:17:57 -05:00
Colin Woodbury
e5cbe36fd7
bump: :tools tree-sitter
emacs-tree-sitter/tree-sitter-langs@3a3ad0527d -> emacs-tree-sitter/tree-sitter-langs@5eb24557f5

Fixes broken syntax highlighting in Clojure buffers.
2023-11-29 11:30:04 -05:00
Alfonso Fernando Álvarez
6a12331f87 docs(terraform): mention +lsp flag 2023-11-24 18:39:01 -05:00
Henrik Lissner
e133da7435
docs(upload): append slash to ssh-deploy-root-local
Suffix ssh-deploy-root-local's path with a trailing slash (to be
consistent with upstream documentation and the example value for
ssh-deploy-root-remote right below it).

Co-authored-by: visika <visika@users.noreply.github.com>
Ref: #7513
2023-11-24 10:54:36 -05:00
Henrik Lissner
5100ab121d
fix(upload): ssh-deploy-on-explicit-save: incorrect type
According to upstream package emacs-ssh-deploy, the value 0 should
disable the auto-save behavior. As the ssh-deploy-on-explicit-save is
considered true if its value is 0, it triggers the after-save-hook
anyway. This commit fixes the hook so it conforms to upstream
definition:

  ssh-deploy-on-explicit-save Enabled automatic uploads on save (integer)

Co-authored-by: visika <visika@users.noreply.github.com>
Close: #7513
Fix: #7512
2023-11-24 10:51:19 -05:00
Zdeněk 'Vlk' Mžourek
6bea1f6a35 perf(lsp): turn off eglot events buffer
The `eglot-events-buffer-size` setting disables the `eglot-events-buffer`
when 0, enabling more consistent performance on long running emacs
instance.
Default is 2000000 lines. After each new event the events buffer
is pretty printed as a whole, which causes steady performance decrease
over time.
Quite a bit of CPU is spent on pretty priting and Emacs GC is put under
high pressure.
2023-11-24 10:42:42 -05:00
Henrik Lissner
fba1d4005e
bump: :tools tree-sitter
emacs-tree-sitter/tree-sitter-langs@2f0f97abbd -> emacs-tree-sitter/tree-sitter-langs@3a3ad0527d
meain/evil-textobj-tree-sitter@19979843f5 -> meain/evil-textobj-tree-sitter@9a9edd42a2

Close: #7560
Co-authored-by: l2dy <l2dy@users.noreply.github.com>
2023-11-24 10:01:45 -05:00
Henrik Lissner
cb3d01920c
bump: :tools debugger lsp
emacs-lsp/dap-mode@096070aacf -> emacs-lsp/dap-mode@755845ae05
emacs-lsp/lsp-mode@266945b3e4 -> emacs-lsp/lsp-mode@d441f3d268
emacs-straight/eglot@8ccec6532e -> emacs-straight/eglot@2b145778ba
realgud/realgud@220ce2c348 -> realgud/realgud@365063ea8c

Fix: #7540
2023-11-23 22:05:33 -05:00
Henrik Lissner
88bb045388
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
Ellis Kenyo
e47accb773 fix(modeline): update icons for +light 2023-09-15 01:51:09 +02:00
Henrik Lissner
cd2477e79c
refactor(collab): s/featurep!/modulep!
featurep! was renamed modulep! in ad6a3d0.

Close: #7420
Ref: ad6a3d0f33
Co-authored-by: lagman <lagman@users.noreply.github.com>
2023-09-14 03:42:23 +02:00
Henrik Lissner
a234d8e9c0
merge: pull request #6369 from elken/feature/editor-format-refactor 2023-09-14 01:19:01 +02:00
Ellis Kenyő
9787022b83
refactor!: replace all-the-icons with nerd-icons
BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any
all-the-icons-* function calls or variable references in your private
config will break and should be replaced with their nerd-icons-*
equivalent. That said, Doom will continue to install all-the-icons for
a while, so feel free to load it if you don't want to fully commit to
the change yet.

This change is happening because nerd-icon has wider support for GUI and
TUI Emacs; has a larger, more consistent selection of symbols; plus unicode
coverage.

Fix: #7368
Close: #6675
Close: #7364
2023-09-14 01:03:55 +02:00
Ellis Kenyő
679d0d0093
docs(docker): add formatter docs 2023-09-13 20:21:06 +01:00
Ellis Kenyő
7e15504163
feat(format): add :tools docker formatter 2023-09-13 20:21:01 +01:00
Henrik Lissner
261f94c768
bump: :tools
NicolasPetton/pass@5651da5313 -> NicolasPetton/pass@c721604b3b
Olivia5k/makefile-executor.el@170d14d834 -> Olivia5k/makefile-executor.el@d1d98eaf52
Silex/docker.el@cc0046e6a5 -> Silex/docker.el@6997c86a24
cjohansson/emacs-ssh-deploy@94b56c0428 -> cjohansson/emacs-ssh-deploy@95fb076c9b
editorconfig/editorconfig-emacs@6f6b5c1a95 -> editorconfig/editorconfig-emacs@2fed9599bc
emacs-lsp/dap-mode@de41d62fc4 -> emacs-lsp/dap-mode@096070aacf
emacs-lsp/lsp-mode@0dfe214573 -> emacs-lsp/lsp-mode@266945b3e4
emacs-pe/docker-tramp.el@930d7b46c1 -> emacs-pe/docker-tramp.el@19d0771db4
emacs-straight/eglot@a399fc0d03 -> emacs-straight/eglot@8ccec6532e
emacs-straight/rainbow-mode@8e96388fb4 -> emacs-straight/rainbow-mode@24437ec2c6
emacs-tree-sitter/tree-sitter-langs@944a734b7c -> emacs-tree-sitter/tree-sitter-langs@2f0f97abbd
emacsfodder/kurecolor@ac67ceba85 -> emacsfodder/kurecolor@fbf98e1e38
emacsorphanage/quickrun@7a89313c07 -> emacsorphanage/quickrun@6f96318930
meain/evil-textobj-tree-sitter@e8bb9d63de -> meain/evil-textobj-tree-sitter@19979843f5
millejoh/emacs-ipython-notebook@b2410dc96f -> millejoh/emacs-ipython-notebook@998ba22660
nicolaisingh/saveplace-pdf-view@54ed966b84 -> nicolaisingh/saveplace-pdf-view@abfb5e1f46
purcell/envrc@1954e8c0b5 -> purcell/envrc@33d01388ce
vedang/pdf-tools@bc2ba117e8 -> vedang/pdf-tools@c69e7656a4
xiongtx/eros@dd89102792 -> xiongtx/eros@a9a92bdc6b
zx2c4/password-store@26d2dae04b -> zx2c4/password-store@28cec11f1d

I've intentionally omitted magit from this list while I resolve
incompatibilities between code-review and later versions of
closql (emacsql).

I've also omitted treemacs b/c of #7410.
2023-09-12 21:30:56 +02:00
Henrik Lissner
f427c8a30e
tweak: scroll-conservatively = 10
Forces the window to recenter if the cursor moves >=10 lines off-screen.
This makes some of our manual recentering elsewhere unnecessary.
2023-09-11 23:53:36 +02:00
Yejun Su
5639ebf942 fix(lsp): check npm when eglot is enabled 2023-08-18 19:21:22 +02:00
Henrik Lissner
7c63b353d2
bump: :tools magit
alphapapa/magit-todos@c6f3fd03aa -> alphapapa/magit-todos@cadf29d1cc
magit/magit@97a95f7007 -> magit/magit@4881835572

I am still holding back on bumping forge, code-review, and closql
because of wandersoncferreira/code-review#245. I've created a closql
fork to address this (at doomelpa/code-review), but am still testing it.

Fix: #7277
Ref: wandersoncferreira/code-review#245
2023-08-18 18:43:52 +02:00
Henrik Lissner
fc327f5be6
bump: :tools debugger lsp
emacs-lsp/dap-mode@450ef663a0 -> emacs-lsp/dap-mode@de41d62fc4
emacs-lsp/lsp-mode@db0b3789b1 -> emacs-lsp/lsp-mode@0dfe214573
emacs-lsp/lsp-ui@295d8984da -> emacs-lsp/lsp-ui@0dd39900c8
emacs-straight/eglot@94e2d74606 -> emacs-straight/eglot@a399fc0d03
2023-08-18 18:41:32 +02:00
Bruce D'Arcus
8d99942469 feat(biblio): add +icons for citar 2023-07-25 22:13:24 +02:00
Bruce D'Arcus
2a33d64973 fix(biblio): check for +roam2 for citar-org-roam
Ensure that org-roam will be available before loading citar-org-roam.
2023-07-25 22:13:24 +02:00
Bruce D'Arcus
532ad087f4 bump: :tools biblio
andras-simonyi/citeproc-el@2623043b25 -> andras-simonyi/citeproc-el@290320fc57
emacs-citar/citar-org-roam@86e9861a49 -> emacs-citar/citar-org-roam@761eed6678
emacs-citar/citar@5dac3d5bf2 -> emacs-citar/citar@2c0547db57
joostkremers/parsebib@1efca921cb -> joostkremers/parsebib@ace9df7071
tmalsburg/helm-bibtex@8ebf50d5bd -> tmalsburg/helm-bibtex@ef07adfeda
2023-07-25 22:13:24 +02:00
Jeetaditya Chatterjee
37bfe0824b
tweak(lsp): feature gate flycheck eglot
When flymake is enabled.
2023-07-25 00:19:12 +01:00
Jeetaditya Chatterjee
b957142e3e
feat(lsp): use flymake when enabled 2023-07-24 23:51:40 +01:00
Jonathan Ming
9245a347a4
module: add :tools collab
Add a collaborative editing module, powered by crdt.el.

Ref: https://code.librehq.com/qhong/crdt.el
Co-authored-by: Arte Ebrahimi <arteebrahimi@gmail.com>
2023-07-24 19:29:46 +02:00
Henrik Lissner
f0b58fc452
fix(lookup): powerthesaurus eager-loading transient, hydra, lv
SavchenkoValeriy/emacs-powerthesaurus@782df1d92f causes hydra and
transient (and their dependencies) to be eagerly loaded very, very early
during startup. This causes load errors for some, terrible startup time
for others. This swaps the module to a fork with a fix.

Amend: 8b892f5299
Ref: SavchenkoValeriy/emacs-powerthesaurus@782df1d92f
Ref: SavchenkoValeriy/emacs-powerthesaurus#40
Ref: #7204
2023-07-24 02:58:35 +02:00
Henrik Lissner
0cc2055803
bump: :tools debugger lsp
emacs-lsp/dap-mode@39bfaf1a34 -> emacs-lsp/dap-mode@450ef663a0
emacs-lsp/lsp-mode@a655f3600e -> emacs-lsp/lsp-mode@db0b3789b1
realgud/realgud@aff03aeef1 -> realgud/realgud@220ce2c348
tumashu/posframe@06b939cfb0 -> tumashu/posframe@017deece88
2023-07-22 17:57:25 +02:00
Henrik Lissner
2b79787f1e
bump: :tools tree-sitter
emacs-tree-sitter/tree-sitter-langs@d8f8ac4fae -> emacs-tree-sitter/tree-sitter-langs@944a734b7c
meain/evil-textobj-tree-sitter@02f8253034 -> meain/evil-textobj-tree-sitter@e8bb9d63de

Close: #7286
Co-authored-by: acristoffers <acristoffers@users.noreply.github.com>
2023-07-22 17:57:25 +02:00