doomemacs/modules/lang/web
Henrik Lissner 6acf163cf7
refactor!: replace smartparens with electric
BREAKING CHANGE: This moves smartparens out of core and formally
deprecates it. The package has been a performance liability and is only
being used for pair management, so the rest of its functionality was
overkill for what we needed it for.

Instead, I'm waiting for electric.el's support for N-character pairs in
Emacs 31. In the meantime, I delegate to yasnippet (later, tempel)
snippets to handle more complex pairs like /* ... */ or <?php ... ?>.

- To restore auto-pairing functionality (which is all Doom was using
  smartparens for, really), enable :emacs (electric +pair). This is not
  a perfect replacement for all of smartparens' capabilities. More
  complex pairing is being relegated to snippets (for example, /* ... */
  and <?php ... ?> comment blocks will soon have snippets for them).

- To restore the old smartparens functionality, enable :config (default
  +smartparens). Keep in mind that this is temporary! In v3, smartparens
  will be removed entirely OR moved to its own module; this hasn't been
  decided yet.

Fix: #5759
Fix: #5894
Fix: #6223
Fix: #8093
Fix: #8620
2026-02-21 17:00:48 -05:00
..
autoload refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
test Update all unit tests 2019-09-03 00:59:46 -04:00
+css.el fix(web): tree-sitter: html & css grammars' recipes 2025-09-05 17:15:21 -04:00
+html.el refactor!: replace smartparens with electric 2026-02-21 17:00:48 -05:00
.doommodule feat: add .doommodule files 2024-09-14 20:47:39 -04:00
config.el fix(:lang): project minor mode detection in ts-modes 2025-08-31 16:33:32 +02:00
doctor.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
packages.el bump: :lang 2026-01-18 03:13:00 -05:00
README.org docs(web): correct type, mention JS comment hack, remove superfluous notice 2024-03-11 03:59:37 -04:00

:lang web

Description   unfold

This module adds support for various web languages, including HTML5, CSS, SASS/SCSS, Pug/Jade/Slim, and HAML, as well as various web frameworks, like ReactJS, Wordpress, Jekyll, Phaser, AngularJS, Django, and more.

Maintainers

Module flags

+lsp
Enable LSP support for web-mode and css-mode. Requires doom-module::tools lsp and a langserver.
+tree-sitter
Leverages tree-sitter for better syntax highlighting and structural text editing. Requires doom-module::tools tree-sitter.

TODO Hacks

󱌣 This module's hacks haven't been documented yet. Document them?

  • Fixes // line commenting in JSX and Javascript files (if you aren't using :lang javascript for some reason)

TODO Changelog

This module does not have a changelog yet.

TODO Installation

Enable this module in your doom! block.

Formatter

Formatting is handled using the doom-module::editor format module via prettier.

TODO Usage

󱌣 This module has no usage documentation yet. Write some?

TODO Configuration

󱌣 This module has no configuration documentation yet. Write some?

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?