doomemacs/modules/tools
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
..
ansible bump: :tools 2025-03-25 15:20:58 -04:00
biblio bump: :tools 2025-05-15 11:39:50 +02:00
collab bump: :tools 2025-01-09 00:29:41 -05:00
debugger bump: :tools 2025-05-15 11:39:50 +02:00
direnv refactor(lib): doom-debug-mode: make verbosity selective 2025-04-11 12:17:44 -04:00
docker refactor(tree-sitter): centralize grammar config & hacks 2025-08-27 16:57:28 +02:00
editorconfig bump: * 2025-05-02 14:58:40 -04:00
ein bump: :tools 2025-03-25 15:20:58 -04:00
eval bump: :tools 2025-05-15 11:39:50 +02:00
llm bump: :tools 2025-05-15 11:39:50 +02:00
lookup fix(lookup): dash docset lookup 2025-05-06 00:23:14 -04:00
lsp bump: :tools 2025-05-15 11:39:50 +02:00
magit bump: :tools 2025-05-15 11:39:50 +02:00
make feat: add .doommodule files 2024-09-14 20:47:39 -04:00
pass bump: :tools 2024-10-31 21:54:20 -04:00
pdf bump: :tools 2025-02-21 15:17:42 -05:00
terraform nit(terraform): reformat 2025-05-11 04:20:06 -04:00
tmux feat: add .doommodule files 2024-09-14 20:47:39 -04:00
tree-sitter feat!(javascript): add treesit support 2025-08-29 14:35:49 +02:00
upload fix(upload): install ssh-deploy from emacsmirror 2025-05-09 21:31:11 -04:00
.doommodule feat: add .doommodule files 2024-09-14 20:47:39 -04:00
README.org revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00

:tools

Description

Modules that integrate external tools into Emacs.

Frequently asked questions

This category has no FAQs yet. Ask one?