Commit Graph

4641 Commits

Author SHA1 Message Date
Henrik Lissner
c1ac8bc37a refactor(ocaml): remove tree-sitter support
No *-ts-mode exists for tuareg-mode. There *is* a ocaml-ts-mode, but
it's too rudimentary. The ocaml module will fall back to font-lock rules
so this is not a breaking changing.
2025-08-27 17:29:28 +02:00
Henrik Lissner
47fe11cd76 feat(haskell): add treesit support 2025-08-27 17:29:14 +02:00
Henrik Lissner
086a0d30d0 feat(rust): add treesit support 2025-08-27 16:57:39 +02:00
Henrik Lissner
3b58741522 refactor(tree-sitter): centralize grammar config & hacks
Easier to track and maintain.
2025-08-27 16:57:28 +02:00
Henrik Lissner
13ffb0fed3 refactor(org): remove +org-fix-newline-and-indent-in-src-blocks-a
Our rebinding of RET to +org/return in insert mode, already
accompolishes was this advice sets out to do.
2025-08-23 12:33:24 +02:00
Henrik Lissner
41876aa036 refactor(org): remove +org-fix-window-excursions-a
Changes upstream (to honour display-buffer-alist) seem to have addressed
what this advice was deployed for.

Ref: #6061
2025-08-23 12:31:11 +02:00
Henrik Lissner
5217ba75a2 refactor(org): remove +org--respect-org-auto-align-tags-a
`org-auto-align-tags` checks were added upstream in all editing
commands, so this advice is no longer needed.

Ref: emacs-straight/org-mode@aa71facf6d
2025-08-23 11:59:01 +02:00
Henrik Lissner
2129fffc79 bump: :lang beancount emacs-lisp markdown
Wilfred/elisp-def@1ad4baccbf -> Wilfred/elisp-def@2451ed6594
ardumont/markdown-toc@1b0c5ae7f3 -> ardumont/markdown-toc@e3429d3014
beancount/beancount-mode@ddd4b87257 -> beancount/beancount-mode@eb8b9b72a7
jorgenschaefer/emacs-buttercup@c467c659b2 -> jorgenschaefer/emacs-buttercup@cc5a2ab7c7
jrblevin/markdown-mode@90ad4af79a -> jrblevin/markdown-mode@d51c469133
seagle0128/grip-mode@96a927dce6 -> seagle0128/grip-mode@11fecd5b38
2025-08-21 16:47:37 +02:00
Daniel G Travieso
3ab397b520 bump: ob-restclient
alf/ob-restclient.el@8183f8af08 -> alf/ob-restclient.el@94dd9cd98f

newer `restclient` version (in use) sets to buffer to `view-mode`
ob-restclient works around this by exiting it manually

Fix: #8461
2025-08-21 14:50:27 +02:00
Alex Birdsall
4afe5ca09a fix(org,cli): tangle: load ob-* libs for noweb-usable blocks
For performance reasons, Doom CLI runs in a minimal environment wherein
no `ob-<language>` libraries are initially loaded; but tangling a
document with noweb-enabled blocks can trigger an org-babel evaluation
of any noweb-addressable block; and any such evaluation will fail
tangling with an error unless the correct `ob-<language>` library has
been loaded.

So. This changes the tangle CLI function to note any noweb-addressable
labels (i.e. any `#+NAME:` or `:noweb-ref` associated with a block) when
iterating through the source document's blocks; for each block where one
is found, it conditionally attempts to `require` the corresponding
`ob-<src-lang>` library.
2025-08-10 15:49:18 +02:00
Henrik Lissner
dd33275dc2 bump: :lang rest
emacsorphanage/restclient@e2a2b13482 -> emacsorphanage/restclient@bba663590f
ljos/jq-mode@eeb86b4d5a -> ljos/jq-mode@3275c3f53f

Fix: doomemacs/discussions#14
2025-08-10 15:34:44 +02:00
Tim Ruffing
9219fa7c08 fix(latex): disable smartparens pairs conflicting with AucTeX
This disables smartparens pairs for quotation marks, which are broken.
Before this commit, typing a LaTeX comment
    % "Foo"
inserted
    % ''Foo`|`''
where | indicates the position of the cursor (wtf!).

Let's better AucTeX's support for quotation marks for now and accept
that the user won't get automatic insertions of closing quotation marks.

This also removes a wrong comment mentioning the non-existing variable
`+latex-enable-plain-double-quotes'.
2025-08-09 22:58:37 +02:00
Tim Ruffing
ac530efe87 refactor(latex): reformat code for readability 2025-08-09 22:58:37 +02:00
Henrik Lissner
b6cbfea53d refactor(org): remove +org--follow-search-string-a
This was upstreamed.

Ref: https://cgit.git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=95554543b
2025-07-13 22:28:34 +02:00
Henrik Lissner
29ec1f40f3 feat(org): jupyter-repl: move cursor to prompt on self-insert-command
Ala 3384414, but for jupyter-repl, which isn't a comint-derived.

Ref: 3384414e957f
2025-07-13 22:28:34 +02:00
Henrik Lissner
6bd38e2c4d tweak(python): don't use basedpyright by default
Because of the python dev's propensity to use env managers, setting the
pyright executable globally doesn't make much sense, and could in fact
end up intrusively overriding a user's local settings.

A better approach may be to introduce an envvar here that can be set
from external .envrc or venv config files, or making
`lsp-pyright-langserver-command` a safe file-local variable (so it can
be set from .dir-locals.el or in the file-local variables of a python
file), but if I decide to do one or the other, I'd like to be consistent
about it across all python executables/external dependencies (and
possibly even to all :lang modules that depend on env managers), so I'll
defer implementing that until I have the time to give it more thought
and plan it better.

Amend: 1fa1eba5ac
2025-07-01 14:22:10 +02:00
Henrik Lissner
2adbdf1360 feat(clojure): add treesit support 2025-06-30 15:16:26 +02:00
pancho horrillo
fdc0fa3bec docs(markdown): doctor: allow for alternate grips
Note that we are pinned to the latest release of `seagle0128/grip-mode`,
which supports¹ alternate grip-like programs, namely `mdopen` and
`go-grip`. Although a specific one can be configured, `grip-mode` will
try and load any of the three (the two mentioned plus `grip`).

I’ve added them in the same order that `grip-mode` searches for them².

¹: https://github.com/seagle0128/grip-mode?tab=readme-ov-file#alternative-markdown-preview-without-accessing-github-api
²: 96a927dce6/grip-mode.el (L177-L179)
2025-06-29 23:59:50 +02:00
Henrik Lissner
87b616e5d8 refactor!: remove rainbow-delimiters
BREAKING CHANGE: parentheses will no longer be colored by depth. No
substitute is provided because it's trivial for users to install
themselves.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610828
2025-06-29 18:53:40 +02:00
Henrik Lissner
5cb34fa151 refactor!: remove highlight-numbers
BREAKING CHANGE: Numerics will no longer be syntax highlighted in major
modes that don't already have their own (or provided by tree-sitter). No
substitute will be provided because it's trivial for the user to install
themselves.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610783
2025-06-29 18:53:40 +02:00
Henrik Lissner
59c6b8e614 refactor!(ruby): remove rubocop
BREAKING CHANGE: This removes rubocop from the ruby module in lieu of
LSP clients.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=69411575
2025-06-29 17:36:18 +02:00
Henrik Lissner
a287a96aca feat(dart): add treesit support
This does not port over the keybinds to dart-ts-mode. Those will be done
separately.
2025-06-28 21:13:57 +02:00
Henrik Lissner
7c6e1950e8 feat(go): add treesit support 2025-06-28 20:10:08 +02:00
Henrik Lissner
3155fefd47 feat(swift): add treesit support 2025-06-28 19:42:15 +02:00
Henrik Lissner
617d8411e6 fix(tree-sitter): ignore major-mode-remap-defaults for ts modes
...registered with `set-tree-sitter!`. Then we don't have to chase after
packages inconsistently modifying `major-mode-remap-defaults`.
2025-06-28 19:32:27 +02:00
Henrik Lissner
22e03d7e90 fix(elixir): duplicate auto-mode-alist entries
Due to copypasta typo.

Amend: 0c311a5172
2025-06-28 17:40:18 +02:00
Tim Ruffing
57fcd95e7d tweak(latex): don't insert braces after sub/superscript
This avoids inserting braces when you type "a_", so you end up typing
"a_i" instead of "a_{i}".

The official LaTeX manual says that braces are correct, but it doesn't
matter for many cases, e.g., when the sub/superscript is just a single
token like "i". It's simply a matter of taste in these cases.
 - Frank Mittelbach, a LaTeX maintainer, says that he types "a_i":
   https://tex.stackexchange.com/questions/82329/how-bad-for-tex-is-omitting-braces-even-if-the-result-is-the-same#comment176261_82331
 - David Carlisle, another LaTeX maintainer, says that a_i "arguably
   improves the look of the source code":
   https://tex.stackexchange.com/a/82337
 - Joseph Wright, yet another LaTeX maintainer, says that he "would
   always use braces here, so favour a_{i}":
   https://tex.stackexchange.com/a/1929

And I think if it is a matter of taste, then the sane default is to
avoid any magic that gets in the way of users. Anyone who prefers braces
can still enable this argument, but people who do not like them won't
get upset every time they type "_" or "^".
2025-06-26 02:37:18 +02:00
Henrik Lissner
f64e199517 bump: :lang org
bastibe/org-journal@e581bf5530 -> bastibe/org-journal@c72d7c75f8
emacs-straight/org-mode@79781bac69 -> emacs-straight/org-mode@4e6d38d1a6
magit/orgit-forge@764820769e -> magit/orgit-forge@050590fbc7
magit/orgit@efd98e5caa -> magit/orgit@224350397d
minad/org-modern@6158d3d007 -> minad/org-modern@1723689710
oer/org-re-reveal@89ed240450 -> oer/org-re-reveal@da7e1feba9
org-roam/org-roam@046822b512 -> org-roam/org-roam@c172951345
2025-06-25 17:36:59 +02:00
Henrik Lissner
a4d00445d2 tweak(markdown): markdown-mouse-follow-link = nil 2025-06-25 17:36:59 +02:00
Theia Ware
e6c7553053 feat(emacs-lisp): reduce flycheck in org-edit-special buffers
Minimize the flycheck rules when using org-mode's edit functionality for
source code blocks (e.g. `#+begin_src emacs-lisp / #+end_src`) that pops
up a new buffer with the minor mode `'org-src-mode`.
2025-06-14 12:01:29 +02:00
Henrik Lissner
7280e44dc5 fix(beancount): link completion
Due to not escaping the literal ^ in the regexp.

Fix: #8414
Amend: d3e8ca8d9d
2025-06-10 21:28:52 +02:00
fdeitylink
24aec7cd2b fix(coq): void-function company-coq 2025-06-01 00:44:13 +02:00
Henrik Lissner
96ac6b0037 fix(beancount): completion edge cases
Like when `+beancount/clone-transaction` is invoked from an org-capture
template.
2025-05-30 20:54:27 +02:00
Henrik Lissner
4d685029f9 perf(beancount): speed up flymake checker advice 2025-05-29 20:36:07 +02:00
Henrik Lissner
8667b181fc feat(beancount): add account completion on budget directives 2025-05-27 20:41:57 +02:00
Henrik Lissner
0199727de5 fix(beancount): relax prefix on virtual lines
Before, virtual includes were only followed if preceded by three
semicolons. Only one should do.
2025-05-24 20:09:19 +02:00
Henrik Lissner
8406c1ff22 feat(beancount): highlight custom directives
Doesn't seem to be done by beancount-mode, so...
2025-05-24 17:32:27 +02:00
Henrik Lissner
5026de65bb refactor(beancount): don't complete commodities from prices
Auto-generates price files are a common feature among beancount users;
scanning them is a lot of unnecessary work when just reading commodity
directives (and operating_currency options) should be more than enough.

Amend: 5df769e994
2025-05-24 17:31:41 +02:00
Henrik Lissner
5b37bfee23 feat(nix): add treesit support 2025-05-24 17:27:30 +02:00
Henrik Lissner
9acc5f48b6 feat(zig): add treesit support 2025-05-24 17:27:11 +02:00
Henrik Lissner
cfea950e60 fix(beancount): hangs when completion cache is empty 2025-05-22 21:17:12 +02:00
Henrik Lissner
5df769e994 feat(beancount): add commodity/currency completion
Was supposed to be part of d3e8ca8. Now completes commodities/currencies
from declared commidities, operating_currency options, or price
directives. Currently only works in postings, but can be later extended
to complete in price directives and operating_currency options.

Amend: d3e8ca8d9d
2025-05-22 21:15:57 +02:00
Henrik Lissner
7af7280f9e feat(json): add treesit support 2025-05-22 19:53:10 +02:00
Henrik Lissner
f5a1af4bf6 feat(kotlin): add treesit support 2025-05-22 19:50:29 +02:00
Henrik Lissner
c5dd2847ff feat(scala): add treesit support 2025-05-22 19:50:29 +02:00
Henrik Lissner
0c311a5172 feat(elixir): add treesit support 2025-05-22 18:32:03 +02:00
Henrik Lissner
7f8b24d1b8 fix(beancount): enhance +beancount/clone-{,this-}transaction
- `+beancount/clone-transaction` now completes for all transactions
  across this and any included files (depending on the value of
  `+beancount-files`).
- Handles an edge case where `+beancount/clone-this-transaction` would
  try and fail to clone a transaction at point where there wasn't any.
2025-05-22 16:39:20 +02:00
Henrik Lissner
d3e8ca8d9d feat(beancount): enhance completion across the board
Enhances completion for beancount-mode in the following ways:

1. Adds completion for:
   - Event directives and values,
   - The payee field in transactions,
   - Currencies and commodities,
2. Fixes completion for #tag and ^links not working at the end of a
   transaction's heading.
3. Completion now scans not only the current file, but any included
   files (recursively) for candidates if `+beancount-files' is set to
   `auto`. It can otherwise be set to a list of static files or set to
   `nil` (reverts to only scanning the current buffer). This applies not
   only to completion-at-point functions, but also interactive commands
   like `beancount-insert-account'.

This is all very rudimentary and needs polish!
2025-05-22 16:33:23 +02:00
Henrik Lissner
a02871ba83 feat(beancount): support lines only read by linter
Adds support for meta lines that only the flymake linter will see.
These are lines prefixed by any number of semicolons followed by a hash
then space. E.g.

;# include "../config.beancount"
;# 2025-01-01 pad Assets:Bank Equity:Opening-Balances

This is useful for silencing the linter in multi-file beancount projects
rather than suffer the usual deluge of multiple-include errors and
redundancies.
2025-05-22 16:33:23 +02:00
Henrik Lissner
8627117d63 feat(beancount): activate on *.bean files too 2025-05-22 16:33:23 +02:00