Henrik Lissner
d9fd5cb8f3
fix(tree-sitter): treesit-enabled-modes: sort arity in <30
...
`sort`s signature changed in Emacs 30 from:
(sort SEQ PREDICATE)
To
(sort SEQ &key KEY LESSP REVERSE IN-PLACE)
Amend: 6009c2b838
2025-08-31 14:34:45 +02:00
Henrik Lissner
d77d39ab46
refactor(scala): remove redundant config
...
Amend: c5dd2847ff
2025-08-30 10:30:26 +02:00
Henrik Lissner
bcb2c56dd9
fix(haskell): haskell-ts-mode: repl & eglot integration
...
Amend: 47fe11cd76
2025-08-30 10:30:26 +02:00
Henrik Lissner
0ba85c8f77
refactor(lua): DRY tree-sitter config
2025-08-30 10:30:26 +02:00
Henrik Lissner
ab4dace692
refactor(:lang): remove redudant mode-alist lines
...
Amend: 3b58741522
2025-08-30 10:30:26 +02:00
Henrik Lissner
2870697e1a
fix(go,nix,zig): dynamic keymap interpolation errors
...
Amend: 7c6e1950e8
Amend: 5b37bfee23
Amend: 9acc5f48b6
2025-08-30 10:30:21 +02:00
Henrik Lissner
7dcedc16b5
refactor(tree-sitter): major mode remapping
...
This approach simplifies the hacks and uses fewer moving parts to be
less error prone (or prone to potentially overwriting user/module
configuration).
2025-08-30 09:41:25 +02:00
Henrik Lissner
3044812ac1
fix(clojure): remove vestiges of tree-sitter
...
Amend: 2adbdf1360
2025-08-29 18:23:18 +02:00
Henrik Lissner
31f5b60f5e
fix(php): dynamic mode map interpolation error
...
Amend: 9073b24878
Close : #8448
Co-authored-by: ribaricplusplus <ribaricplusplus@users.noreply.github.com >
2025-08-29 17:56:55 +02:00
Henrik Lissner
702d976665
docs(tree-sitter): document module hacks
2025-08-29 14:37:10 +02:00
Henrik Lissner
cd5dd5279e
fix(tree-sitter): major mode remapping on first-load
...
Also refactors +tree-sitter--major-mode-remaps-alist to be lighter.
2025-08-29 14:35:49 +02:00
Henrik Lissner
bd0bee92cc
feat!(javascript): add treesit support
...
BREAKING CHANGE: This commit removes a number of core packages and
features from this module and only replaces a handful of them, so that
we can lean more on LSP and tree-sitter. To be specific:
- We used to rely on `rjsx-mode` (derived from js2-mode) for total
JS/JSX support (though imperfect; Emacs was starved for options at the
time). This has now been replaced with `js-ts-mode` (built-in after
Emacs 29), falling back to `js-mode` (very rudimentary, but a decent
fallback).
- This also meant the removal of `js2-mode`, which `skewer-mode`,
`js2-refactor`, and `xref-js2` depended on, so those were removed
too, and have *somewhat* been replaced with LSP integration (offers
jump-to-definition/references and *some* refactoring actions, but no
replacement for skewer's functionality).
- Typescript support no longer relies on the jury-rigged, web-mode-derived
major mode (because TSX support in the upstream `typescript-mode`
isn't great). We now use `typescript-ts-mode` (built-in into Emacs
29.1+), falling back to `typescript-mode`.
- JSX/TSX support now *requires* tree-sitter (and Emacs 29.1+), where
`tsx-ts-mode` is available and outshines all the alternatives (at the
time of writing).
Due to the absolute chaos that is webdev, this module sacrifices some of
the graceful-degradation I've implemented for other modules and creates
a hard requirement on tree-sitter and Emacs 29.1+ for JSX/TSX. It still
tries to degrade gracefully for plain JS and TS, but the module's doctor
and docs will actively recommend tree-sitter.
Close : #5278
Fix : #6172
Fix : #7042
Close : #8447
Co-authored-by: ribaricplusplus <ribaricplusplus@users.noreply.github.com >
2025-08-29 14:35:49 +02:00
Henrik Lissner
d20c5f1273
docs(haskell): mention haskell-ts-mode package
...
Amend: 47fe11cd76
2025-08-28 14:32:08 +02:00
Henrik Lissner
f782b79797
feat(graphql): add treesit support
2025-08-28 14:32:08 +02:00
Henrik Lissner
64b4e565c3
refactor(tree-sitter): remove redundant grammars
...
Already registered by csharp and web module packages.
Amend: 5bf132a80f
Amend: c403bb5e2f
2025-08-28 14:32:08 +02:00
Henrik Lissner
93c085fa13
feat(qt): add treesit (and lsp) support
2025-08-28 14:32:08 +02:00
Henrik Lissner
cfadd8f6a4
feat(sml): add treesit (and lsp) support
2025-08-28 14:00:59 +02:00
Henrik Lissner
5bf132a80f
feat(web): add treesit support (for html/css)
2025-08-27 17:38:40 +02:00
Henrik Lissner
6b203d74c9
refactor(sh): remove tree-sitter support
...
bash-ts-mode is inferior to shell-script-mode's syntax highlighting and
no other *-ts-mode modes are available for other shells (though,
there *are* powershell and nushell ts-modes; I'll investigate those
later).
2025-08-27 17:32:56 +02:00
Henrik Lissner
07e7c699cf
feat(java): add treesit support
2025-08-27 17:29:58 +02:00
Henrik Lissner
6ca155ea11
refactor(ess): remove tree-sitter support
...
No *-ts-mode exists for ess-r-mode (or any other ess mode, afaik). The
ess module will fall back to font-lock rules so this is not a breaking
changing.
2025-08-27 17:29:58 +02:00
Henrik Lissner
bf85767975
refactor(graphviz): remove tree-sitter support
...
No *-ts-mode exists for graphviz-dot-mode. The graphviz module will fall
back to font-lock rules so this is not a breaking changing.
2025-08-27 17:29:58 +02:00
Henrik Lissner
3d2abf8b05
feat(erlang): add treesit support
2025-08-27 17:29:58 +02:00
Henrik Lissner
bee45157c6
refactor(elm): remove tree-sitter support
...
No *-ts-mode exists for elm-mode. The elm module will fall back to
font-lock rules so this is not a breaking changing.
2025-08-27 17:29:58 +02:00
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
6009c2b838
fix(tree-sitter): backport treesit-{enabled-modes,major-mode-remap-alist}
...
And ignore `treesit-major-mode-remap-alist`, because they could
interfere with our UX improvements.
2025-08-23 18:43:14 +02:00
Henrik Lissner
2adbdf1360
feat(clojure): add treesit support
2025-06-30 15:16:26 +02:00
Henrik Lissner
7949d1bf27
fix(tree-sitter): void-variable +tree-sitter--major-mode-remaps-alist
...
This is a temporary solution and will be polished up before the treesit
branch is merged into master.
Ref: #7623
Amend: 617d8411e6
2025-06-30 14:48:54 +02:00
Henrik Lissner
a8ccd2d47a
fix(tree-sitter): unable to find local grammars (part 2)
...
Ref: #7623
Amend: 4df993d683
2025-06-30 14:47:35 +02:00
Henrik Lissner
0d9cf54c84
refactor(tree-sitter): remove redundant dart grammar
...
Amend: a287a96aca
2025-06-28 21:17:15 +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
Henrik Lissner
4df993d683
fix(tree-sitter): unable to find local grammars
...
Ref: #7623
2025-06-28 17:37:24 +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
3b2caa7dcd
feat(docker): add treesit support
2025-05-24 17:11:40 +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
5db361b474
fix(tree-sitter): remove redundant yaml source
...
Amend: 2556cb58f2
2025-05-22 18:32:04 +02:00
Henrik Lissner
0c311a5172
feat(elixir): add treesit support
2025-05-22 18:32:03 +02:00
Henrik Lissner
a329d63f7d
fix(tree-sitter): discard COMMIT recipe argument on <=30.x
...
Otherwise `treesit--install-language-grammar-1` will throw an arity
error on Emacs <=30.x when installing grammars.
Fix : #8393
2025-05-16 08:49:20 +02:00
Henrik Lissner
776da0dcf1
fix(csharp): csharp-ts-mode: side-effects on auto-mode-alist
...
Would otherwise be imposed every time the mode is activated.
2025-05-16 08:46:21 +02:00
Henrik Lissner
b546522257
docs(tree-sitter): revise doctor output
2025-05-15 18:58:29 +02:00