Commit graph

1344 commits

Author SHA1 Message Date
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Bruce D'Arcus
b06fd63dcb bump: :tools biblio
andras-simonyi/citeproc-el@9f783967c1 -> andras-simonyi/citeproc-el@406bd9964f
emacs-citar/citar@b24b5b94b7 -> emacs-citar/citar@146f2cb5a3
tmalsburg/helm-bibtex@aa775340ba -> tmalsburg/helm-bibtex@ce8c17690d

Also add citar-embark, which now contains the embark functionality in a
separate minor mode package, and explicitly add parsebib, so we can pin
the precise version.
2022-08-08 23:41:06 +02:00
Jeetaditya Chatterjee
1b56675819 docs(tree-sitter): update highlights configuration 2022-08-08 18:37:20 +02:00
Jeetaditya Chatterjee
8e68cd5ffd feat(tree-sitter): conditionally enable ts-hl-mode
Based on the new variable `+tree-sitter-hl-enabled-modes`

This allows for people to use tree sitters tools without having
to use it for highlighting.
Useful because some modes (such as web-mode and its derivatives) do a
better job than the tree sitter alternative in this respect.
2022-08-08 18:37:20 +02:00
Peter Hoeg
4f23a02877 feat(terraform): support terragrunt 2022-08-08 18:35:46 +02:00
Henrik Lissner
790c2a6d84
fix(eval): eros overlay going off-screen
Evaluating code (and :tools (eval +overlay) enabled) will do one of two
things with the return value:

If long, it will be displayed in a popup window on the bottom of the
frame. If short (<3-4 lines), it will be displayed in an overlay at the
end of the line.

If you happened to have scrolled horizontally (such that the BOL isn't
visible), the overlay would be displayed offscreen and unreadable. Any
attempt to scroll it into view will cause it to disappear (as per its
transient nature). This fix pads each newline in said overlay such that
the overlay is pushed into view.
2022-08-07 19:43:27 +02:00
Henrik Lissner
057e6c531c
refactor: replace doom-enlist with ensure-list
doom-enlist is now a deprecated alias for ensure-list, which is built
into Emacs 28.1+ and is its drop-in replacement. We've already
backported it for 27.x users in doom-lib (in 4bf4978).

Ref: 4bf49785fd
2022-08-07 19:43:13 +02:00
Henrik Lissner
1abcf913aa
revert: fix(docs): set mode in file-local vars
emacs-straight/org-mode@e22b4eb7aa introduced a breaking change that
made it impossible to rely on .dir-locals.el to change org-mode buffers
in $EMACSDIR to doom-docs-org-mode (without infinite recursion), so we
used file-local variables in 7e400ab.

emacs-straight/org-mode@215de6176b reverted that change, so we can use
.dir-locals.el again, and this is my preference, since it requires less
boilerplate across our hundreds of org files.

Ref: emacs-straight/org-mode@215de6176b
Ref: emacs-straight/org-mode@e22b4eb7aa
Revert: 7e400abdc0
2022-08-07 19:08:07 +02:00
Henrik Lissner
53fb367aa7
docs(lsp): fix typo in quote & use correct icon
Amend: c34168fb2a
Co-authored-by: lelit <lelit@users.noreply.github.com>
2022-08-07 19:07:57 +02:00
Henrik Lissner
304774cf39
docs(biblio,tree-sitter): update READMEs to new format
Also preforms minor spelling, grammar, and formatting corrections.
2022-08-04 01:16:13 +02:00
Henrik Lissner
1f8bf7accb
merge: rewrite-docs
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
2022-08-03 03:27:50 +02:00
Henrik Lissner
7e400abdc0
fix(docs): set mode in file-local vars
Due to emacs-straight/org-mode@e22b4eb, a replacement major mode (for
org-mode) can no longer be specified from .dir-locals.el, as it spirals
into infinite recursion. Therefore, a mode: line is needed in all Doom
docs.

Ref: emacs-straight/org-mode@e22b4eb7aa
2022-08-03 02:46:33 +02:00
Henrik Lissner
1255315bfc
refactor(docs): replace nav menus with virtual one
Now that the header is dynamically generated (when doom-docs-mode is
active), a literal header is unnecessary.
2022-08-02 19:37:07 +02:00
Henrik Lissner
c34168fb2a
docs(lsp): flesh out lsp-mode vs eglot comparison 2022-08-02 19:35:54 +02:00
Henrik Lissner
e77a45bc22
docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
Henrik Lissner
dd34802523
revert: compat
emacs-straight/compat@2a9cf8b7bd -> emacs-straight/compat@cc1924fd8b

compat is a dependency of magit and doom-modeline (among other
packages), but a recent bug on compat@2a9cf8b caused #6583, so I am
pinning it to a stable commit. It's not common that Doom pins 2nd/3rd
order dependencies, but I will consider doing that more going forward.

Pinning them across multiple modules isn't elegant, but a better
solution is in the works as part of #4273.

Fix: #6583
Ref: #4273
2022-07-31 16:56:14 +02:00
Henrik Lissner
824402aaee
bump: :tools pdf
vedang/pdf-tools@f9ccdf99e5 -> vedang/pdf-tools@bb0b71f5ba
2022-07-24 13:16:02 +02:00
Henrik Lissner
efb46c77be
refactor(pdf): better epdfinfo check on pdf-view-mode
Also adds a comment to explain why I don't directly call
pdf-tools-install, instead of pdf-tools-install-noverify.

Ref: #6589
2022-07-24 13:16:02 +02:00
Colin Woodbury
a5cc803ad4 docs(tree-sitter): improve README formatting 2022-07-24 13:09:18 +02:00
Jeetaditya Chatterjee
53452f43b7 bump: :tools tree-sitter
emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e9 -> emacs-tree-sitter/elisp-tree-sitter@c3fe96a103
meain/evil-textobj-tree-sitter@0bf5bbbfec -> meain/evil-textobj-tree-sitter@9dce8dab68

This *should* fix issues with pulling down parsers for M1 macs
2022-07-23 16:26:06 +02:00
Jeetaditya Chatterjee
da628a7870 docs(tree-sitter): remove mention of keys mode
This is no longer in the module

also change highlighting link
2022-07-23 16:26:06 +02:00
edgar-vincent
d15022d4fe
fix(pass): enable evil-collection bindings
- Pass was launched in emacs-state because evil-collection didn't
  support pass when the module was written, but it does now.
- It also removes stale code relative to the PASSWORD_STORE_DIR
  environment variable, since the password store path is not hardcoded in
  pass.el anymore.
2022-07-23 15:59:43 +02:00
Henrik Lissner
acae9f9acb
bump: :tools lsp
emacs-lsp/lsp-mode@6b6afc00de -> emacs-lsp/lsp-mode@3fa645c039
joaotavora/eglot@e835996e16 -> joaotavora/eglot@bd970be047

- There are multiple issues in the lsp-mode
  repo (emacs-lsp/lsp-mode#2722), lsp-julia repo (gdkrmr/lsp-julia#23
  and gdkrmr/lsp-julia#35), and the LanguageServer.jl
  repo (julia-vscode/LanguageServer.jl#844) about crashes of the Julia
  LSP with lsp-mode due to errors caused by the folding capabilities
  announced by the client. One can work around these issues by enabling
  folding (see gdkrmr/lsp-julia#23) but that is only a hack and does not
  fix the underlying issue. The problem is caused by a violation of the
  LSP specs in lsp-mode which was fixed in emacs-lsp/lsp-mode#3593. The
  PR updates lsp-mode to the latest commit on the master branch which
  contains this fix (and some other unrelated fixes, CI passes
  successfully again), and hence the workaround for lsp-julia can be
  removed.

Ref: emacs-lsp/lsp-mode#3593
Ref: emacs-lsp/lsp-mode#2722
Ref: gdkrmr/lsp-julia#35
Ref: gdkrmr/lsp-julia#23
Ref: julia-vscode/LanguageServer.jl#844
Close: #6516
Co-authored-by: devmotion <devmotion@users.noreply.github.com>
2022-07-05 01:35:06 +02:00
Henrik Lissner
14b2395424
refactor: remove unused core variables
doom-debug-p and doom-interactive-p have always been intentionally
redundant, because changing the variables they replaced had other
side-effects, which made writing tests for them difficult. Since our
new (yet unpublished) tests lean heavily toward integration testing more
than unit testing, this becomes an implementation detail.

And doom-init-p's only use was refactor out at some point in the past,
so it's no longer used.

Also done to reduce Doom's footprint, in general.
2022-06-29 18:14:20 +02:00
Henrik Lissner
c06040338a
fix(lsp,tree-sitter): void-function lsp!/tree-sitter! errors
These are autodefs, meaning they should be defined whether or not the
containing module is enabled, but they should no-op when it's disabled,
by defining a no-op macro with the same name. However, lsp! and
tree-sitter! are meant to be used as hooks, and you can't use macros as
hooks, so you get void-function errors when they are used as such.

This ensures they are properly defined as no-op functions in those
cases. I.e.

  ;;;###autodef FORM

FORM is used instead of a no-op macro if the parent module is disabled.
2022-06-22 20:35:52 +02:00
Ellis Kenyő
6ceb1e0bbe fix(magit): only revert if buffer file exists 2022-06-18 17:19:23 +02:00
Henrik Lissner
76431f699e
fix(tree-sitter): ensure load order
use-package's :after keyword introduces some load order behavior that
complicates the user's ability to target it with either after! or
with-eval-after-load. Best to avoid it.

Ref: jwiegley/use-package#829
2022-06-18 15:01:13 +02:00
Henrik Lissner
173396a963
merge: pull request #5401 from jeetelongname/tree-sitter 2022-06-17 22:55:42 +02:00
Henrik Lissner
608acd9a3a
bump: :tools
SavchenkoValeriy/emacs-powerthesaurus@810a25056c -> SavchenkoValeriy/emacs-powerthesaurus@88bc5229cb
Silex/docker.el@fbd896e313 -> Silex/docker.el@44f0bbec9b
editorconfig/editorconfig-emacs@1d4acc3ec7 -> editorconfig/editorconfig-emacs@1f6f16c24f
emacs-citar/citar@ee98b94f7f -> emacs-citar/citar@dd028c6a4d
emacs-straight/rainbow-mode@949166cc01 -> emacs-straight/rainbow-mode@55a8c15782
emacsorphanage/quickrun@c680f5137c -> emacsorphanage/quickrun@314beae43c
jacktasia/dumb-jump@dbb915441a -> jacktasia/dumb-jump@1dd583011f
magit/forge@66b3993c98 -> magit/forge@36208c43bf
magit/magit@a4a78d341a -> magit/magit@c1fb53d3de
millejoh/emacs-ipython-notebook@e04e1e19c6 -> millejoh/emacs-ipython-notebook@7b9b14435c
purcell/envrc@57d78f0138 -> purcell/envrc@7f36664fc6
rafalcieslak/emacs-company-terraform@2d11a21fee -> rafalcieslak/emacs-company-terraform@8d5a16d1bb
rejeep/prodigy.el@168f5ace16 -> rejeep/prodigy.el@a3be00d3b9
tkf/emacs-request@c769cf33f2 -> tkf/emacs-request@38ed1d2e64
tmalsburg/helm-bibtex@db73156576 -> tmalsburg/helm-bibtex@ce8c17690d
2022-06-17 21:53:56 +02:00
Henrik Lissner
0a3c123d72
fix(magit): {1-4} overriding evil keybinds
evil-collection-magit-section introduces some redundant keybinds on
number keys 1-4, so our hack to correct these keys needed an adjustment.

And by unbinding these keys at the source (magit-section-mode-map), we
don't have to do the same for each inheriting keymap (like
code-review-mode-map and magit-mode-map).

Ref: emacs-evil/evil-collection@e26c869735
Amend: 31519d393a
2022-06-17 21:52:18 +02:00
Jeetaditya Chatterjee
7105292eed
docs(tree-sitter): add mention on how to enable
On a language level
2022-06-17 20:05:16 +01:00
Henrik Lissner
f76caeece3
bump: :tools debugger lsp
emacs-lsp/dap-mode@67fd9e5d4e -> emacs-lsp/dap-mode@50c2a99059
emacs-lsp/lsp-mode@9faa492692 -> emacs-lsp/lsp-mode@6b6afc00de
joaotavora/eglot@2b87b06d9e -> joaotavora/eglot@e835996e16

Close: #6461
Co-authored-by: MOHENOO <MOHENOO@users.noreply.github.com>
2022-06-17 18:54:27 +02:00
Henrik Lissner
1b8f46c7c5
bump: :tools debugger lsp
emacs-lsp/dap-mode@f918c0580b -> emacs-lsp/dap-mode@67fd9e5d4e
emacs-lsp/lsp-mode@1e7128c43f -> emacs-lsp/lsp-mode@9faa492692
emacs-lsp/lsp-ui@96b1ecbfbf -> emacs-lsp/lsp-ui@370022b678
gagbo/consult-lsp@a8eb3a062f -> gagbo/consult-lsp@19606a03cf
joaotavora/eglot@fd9a5646d1 -> joaotavora/eglot@2b87b06d9e
mohkale/consult-eglot@f93c571dc3 -> mohkale/consult-eglot@0da8801dd8

- Debuggers (see #6381):
  - Add support for new cpptools (upgraded from 0.29.0 to 1.9.8).
  - Add support for new codelldb (from 1.6.0 to 1.7.0).
  - Fix download issue of gdb-lldb (aka webfreak.debug).
- LSP support:
  - Fix inlay hints for rust-analyzer (see emacs-lsp/lsp-mode#3467)

Close: #6395
Close: #6381
Fix: #6394
Fix: #6403
Ref: emacs-lsp/lsp-mode#3467
2022-05-27 03:13:00 +02:00
Ellis Kenyo
e4184c6bc3 bump: :tools magit
magit/forge@eed613db88 -> magit/forge@66b3993c98
magit/magit@b4be194de1 -> magit/magit@a4a78d341a
wandersoncferreira/code-review@85ab2080e4 -> wandersoncferreira/code-review@d38fbe5930
2022-05-27 02:57:59 +02:00
Jeetaditya Chatterjee
349247fb3e
docs(tree-sitter): update goto bind table 2022-05-27 00:05:19 +01:00
Jeetaditya Chatterjee
e1056f0053
tweak(tree-sitter): rebind conditional nav key
Move the conditional bindings from `i` to `v` this is
to reflect the text object, the thinking being if users have to learn
one anti mnemonic then it should reflect all cases to make it easier to
swallow.
2022-05-27 00:04:56 +01:00
Pi-Cla
866e1b32bf
bump: :tools pdf
vedang/pdf-tools@326552eef7 -> vedang/pdf-tools@f9ccdf99e5

This bump also removes C++ entirely from pdf-tools, as it is not needed anymore for
correct compilation of `epdfinfo`. The following changes are made:

- Remove private headers from all the server code. This involves:
  - Replace private header functionality with the correct public
    functions provided by poppler.
  - Remove unneeded headers around date checks
  - Delete dead-code (headers, m4 macros)
- Remove C++, g++ and similar aliases from all the code. Also:
  - Remove related information from the README
  - Remove related information from CI and Dockerfiles

Ref: vedang/pdf-tools#96
Ref: vedang/pdf-tools@4460a4fd31
Fix: vedang/pdf-tools#102
Fix: politza/pdf-tools#706
Fix: vedang/pdf-tools#90
Fix: vedang/pdf-tools#86
2022-05-26 23:47:00 +02:00
Ellis Kenyő
7b66fbbed7
docs(lsp): add warning for missing npm 2022-05-26 23:38:50 +02:00
Itai Y. Efrat
68191e7419 fix(lookup): check ivy|helm-mode before using their backends 2022-05-26 23:37:44 +02:00
Jeetaditya Chatterjee
de052a7a92
docs(tree-sitter): add goto binding table 2022-05-24 15:38:31 +01:00
Jeetaditya Chatterjee
33de147b8f
bump: :tools tree-sitter
emacs-tree-sitter/tree-sitter-langs@0dd5e56e2f -> emacs-tree-sitter/tree-sitter-langs@deb2d8674b
meain/evil-textobj-tree-sitter@bfdef5a292 -> meain/evil-textobj-tree-sitter@0bf5bbbfec
2022-05-23 20:01:59 +01:00
Jeetaditya Chatterjee
84d47016d0
fix(tree-sitter): no longer eager load tree sitter 2022-05-22 21:26:10 +01:00
Jeetaditya Chatterjee
984564ea6c
bump: :tools tree-sitter
emacs-tree-sitter/elisp-tree-sitter@5e1091658d -> emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e9
meain/evil-textobj-tree-sitter@e5fda8eca9 -> meain/evil-textobj-tree-sitter@bfdef5a292
2022-05-22 21:26:09 +01:00
Jeetaditya Chatterjee
65207ab3dc
docs(tree-sitter): add rebinding keys section 2022-05-22 21:26:09 +01:00
Jeetaditya Chatterjee
def8c05371
bump: :tools tree-sitter
emacs-tree-sitter/tree-sitter-langs@f4effc81fc -> emacs-tree-sitter/tree-sitter-langs@0dd5e56e2f
meain/evil-textobj-tree-sitter@f3b3e9554e -> meain/evil-textobj-tree-sitter@e5fda8eca9
2022-05-22 21:26:09 +01:00
Jeetaditya Chatterjee
45ed981b41
refactor(tree-sitter): put keys on ts-mode-map
- move map definition and binding into
  evil-textobj-tree-sitter :config body

- replace +tree-sitter-keys-mode  with
  tree-sitter-mode as bind site

- remove +tree-sitter-keys-mode from tree-sitter! autodef
2022-05-22 21:26:09 +01:00
Jeetaditya Chatterjee
74fc2a87c9
tweak(tree-sitter): gate textobj maps 2022-05-22 21:26:08 +01:00
Jeetaditya Chatterjee
561eb533a8
nit(tree-sitter): remove defer, its redundant 2022-05-22 21:26:08 +01:00
Jeetaditya Chatterjee
56d0f02f31
feat(tree-sitter): add tree-sitter! autodef 2022-05-22 21:26:07 +01:00
Jeetaditya Chatterjee
c6a006dd68
docs(tree-sitter): replace {add,remove}-hook!
these are redundant in these contexts
2022-05-22 21:26:07 +01:00