mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
200ok-ch/counsel-jq@104c77b -> 200ok-ch/counsel-jq@f5bfed8 Andersbakken/rtags@e6c7005 -> Andersbakken/rtags@63a7d9b FStarLang/fstar-mode.el@5670fc0 -> FStarLang/fstar-mode.el@3afbf04 Kungsgeten/org-brain@6e3d861) -> Kungsgeten/org-brain@1ae4fd4) NixOS/nix-mode@bb0b49e -> NixOS/nix-mode@e32c6bf OVYA/php-cs-fixer@95eace9 -> OVYA/php-cs-fixer@c5b5d8a ProofGeneral/PG@0fdb1ae -> ProofGeneral/PG@702f5b9 Sarcasm/irony-mode@1e1aaba -> Sarcasm/irony-mode@76fd37f abicky/nodejs-repl.el@f5ce3d5 -> abicky/nodejs-repl.el@3b84105 agda/agda@08191e6 -> agda/agda@5070bd8 amake/flutter.el@78b3c57 -> amake/flutter.el@696228a ananthakumaran/tide@ac5f070 -> ananthakumaran/tide@a43a37b arnested/php-extras@81ebd7c -> arnested/php-extras@d410c5a borkdude/flycheck-clj-kondo@152df7f -> borkdude/flycheck-clj-kondo@a558bda brotzeit/rustic@7c9d55b -> brotzeit/rustic@91ad5db chachi/cuda-mode@9ae9eac -> chachi/cuda-mode@7f59351 clojure-emacs/cider@f1c2a79 -> clojure-emacs/cider@ef47c1d clojure-emacs/clojure-mode@75c2889 -> clojure-emacs/clojure-mode@53ef8ac cpitclaudel/company-coq@b096cb5 -> cpitclaudel/company-coq@4da7b41 cython/cython@ba6cbed -> cython/cython@21b4e53 dgutov/robe@082da38 -> dgutov/robe@f04dcc7 dominikh/go-mode.el@d17d210 -> dominikh/go-mode.el@fdf46fe dominikh/go-mode.el@d17d210 -> dominikh/go-mode.el@fdf46fe elixir-editors/emacs-elixir@01b3324 -> elixir-editors/emacs-elixir@b78e7f7 emacs-ess/ESS@a694b26 -> emacs-ess/ESS@d013616 emacs-lsp/lsp-dart@c1ff5ce -> emacs-lsp/lsp-dart@b81b1ec emacs-lsp/lsp-java@3f1ed17 -> emacs-lsp/lsp-java@f43b00a emacs-lsp/lsp-metals@e42c0b2) -> emacs-lsp/lsp-metals@31dafff) emacs-lsp/lsp-pyright@ccd0007 -> emacs-lsp/lsp-pyright@d9e7d3c emacs-lsp/lsp-python-ms@a0c56f4 -> emacs-lsp/lsp-python-ms@c4ebc7a emacs-php/php-mode@f4c7c69 -> emacs-php/php-mode@7e5722c emacs-straight/adaptive-wrap@319db64 -> emacs-straight/adaptive-wrap@8f60ee7 emacs-straight/csv-mode@6353374 -> emacs-straight/csv-mode@eb3ec00 emacs-straight/org-mode@a88806b -> emacs-straight/org-mode@7c8dce7 emacs-straight/rainbow-mode@fdff98b -> emacs-straight/rainbow-mode@949166c emacs-straight/sml-mode@60b01d7 -> emacs-straight/sml-mode@0338e97 emacs-typescript/typescript.el@e6f68ab -> emacs-typescript/typescript.el@54f14c4 erlang/otp@8efb945 -> erlang/otp@8fc0641 factor/factor@c6e15bd -> factor/factor@94a922a felipeochoa/rjsx-mode@0061587 -> felipeochoa/rjsx-mode@b697fe4 fsharp/emacs-fsharp-mode@68dfc22 -> fsharp/emacs-fsharp-mode@13fbf4c fxbois/web-mode@b4b0a85 -> fxbois/web-mode@890e837 galaunay/poetry.el@eb238d9 -> galaunay/poetry.el@d5163fe godotengine/emacs-gdscript-mode@55a6637 -> godotengine/emacs-gdscript-mode@75fe658 greghendershott/racket-mode@0ca8b26 -> greghendershott/racket-mode@3563081 haskell/haskell-mode@e726776 -> haskell/haskell-mode@0d39c84 hlissner/evil-org-mode@658dadf) -> hlissner/evil-org-mode@a9706da) hvesalai/emacs-sbt-mode@4358ed8 -> hvesalai/emacs-sbt-mode@7b121fc hvesalai/emacs-scala-mode@1d08e88 -> hvesalai/emacs-scala-mode@9d3b56e hylang/hy-mode@7256844 -> hylang/hy-mode@5253533 joaotavora/sly@fce4f9b -> joaotavora/sly@68561f1 jorgenschaefer/emacs-buttercup@cccdedf -> jorgenschaefer/emacs-buttercup@2f24a44 jorgenschaefer/pyvenv@861998b -> jorgenschaefer/pyvenv@0bf4b87 josteink/csharp-mode@f46d656 -> josteink/csharp-mode@4916829 jrblevin/markdown-mode@152eae2 -> jrblevin/markdown-mode@dcad557 kaushalmodi/ox-hugo@1909c6e) -> kaushalmodi/ox-hugo@f24c9bd) nim-lang/nim-mode@16a245e -> nim-lang/nim-mode@d832d6b ocaml-ppx/ocamlformat@1dec6c3 -> ocaml-ppx/ocamlformat@860266b ocaml/dune@f967df6 -> ocaml/dune@4d097cd ocaml/merlin@06833e9 -> ocaml/merlin@28193d5 oer/org-re-reveal@2035217 -> oer/org-re-reveal@0062756 org-roam/org-roam@d913447) -> org-roam/org-roam@be95b42) rexim/org-cliplink@82402ca -> rexim/org-cliplink@13e0940 salmanebah/opencl-mode@55cb49c -> salmanebah/opencl-mode@15091ef senny/rvm.el@6897576) -> senny/rvm.el@b2498a4) skuro/plantuml-mode@5889166 -> skuro/plantuml-mode@ea45a13 swift-emacs/swift-mode@e65a80a -> swift-emacs/swift-mode@0bc8d8d technomancy/fennel-mode@7a8824a -> technomancy/fennel-mode@fa56106 wbolster/emacs-python-pytest@a2f88b1 -> wbolster/emacs-python-pytest@4a1c4c8 xuchunyang/elisp-demos@3cca496 -> xuchunyang/elisp-demos@ed9578d yoshiki/yaml-mode@68fecb5 -> yoshiki/yaml-mode@fc5e1c5 Fixes #4237
lang/javascript
Table of Contents TOC
Description
This module adds JavaScript and TypeScript support.
- Code completion (tide)
- REPL support (nodejs-repl)
- Refactoring commands (js2-refactor)
- Syntax checking (flycheck)
- Browser code injection with skewer-mode
- Coffeescript & JSX support
- Jump-to-definitions and references support (xref)
Module Flags
+lsp
Enables LangServer support for this module. You must have:tools lsp
enabled for this to work, as well as the langserver (e.g. typescript-language-server) installed on your system.
Prerequisites
Many of this modules' plugins require node
and either npm
or yarn
installed.
MacOS
brew install node
Arch Linux
sudo pacman --needed --noconfirm -S nodejs npm
openSUSE
sudo zypper install nodejs npm
Troubleshooting
tide-sort-completions-by-kind
isn't respected
The :completion company
module uses company-prescient
to sort completion by
frecency, which overrules specialized sorting provided by some company backends
(like company-tide
).
Appendix
Commands
JS2-mode
command | key / ex command | description |
---|---|---|
+javascript/open-repl |
:repl |
Open the NodeJS REPL (or send the current selection to it) |
+javascript/skewer-this-buffer |
SPC m S |
Attaches a browser to the current buffer |
Tide
command | key / ex command | description |
---|---|---|
tide-restart-server |
SPC m R |
Restart tide server |
tide-reformat |
SPC m f |
Reformat region |
tide-rename-symbol |
SPC m r s |
Rename symbol at point |
tide-organize-imports |
SPC m r o i |
Organize imports |
Refactoring (js2-refactor-mode)
command | key / ex command | description |
---|---|---|
js2r-expand-node-at-point |
SPC m r e e |
Expand bracketed list according to node type at point |
js2r-contract-node-at-point |
SPC m r c c |
Contract bracketed list according to node type at point |
js2r-extract-function |
SPC m r e f |
Extracts the marked expressions out into a new named function. |
js2r-extract-method |
SPC m r e m |
Extracts the marked expressions out into a new named method in an object literal. |
js2r-toggle-function-expression-and-declaration |
SPC m r t f |
Toggle between function name() {} and var name = function (); |
js2r-toggle-arrow-function-and-expression |
SPC m r t a |
Toggle between function expression to arrow function. |
js2r-toggle-function-async |
SPC m r t s |
Toggle between an async and a regular function. |
js2r-introduce-parameter |
SPC m r i p |
Changes the marked expression to a parameter in a local function. |
js2r-localize-parameter |
SPC m r l p |
Changes a parameter to a local var in a local function. |
js2r-wrap-buffer-in-iife |
SPC m r w i |
Wraps the entire buffer in an immediately invoked function expression |
js2r-inject-global-in-iife |
SPC m r i g |
Creates a shortcut for a marked global by injecting it in the wrapping immediately invoked function expression |
js2r-add-to-globals-annotation |
SPC m r a g |
Creates a *global * annotation if it is missing, and adds the var at point to it. |
js2r-extract-var |
SPC m r e v |
Takes a marked expression and replaces it with a var. |
js2r-extract-let |
SPC m r e l |
Similar to extract-var but uses a let-statement. |
js2r-extract-const |
SPC m r e c |
Similar to extract-var but uses a const-statement. |
js2r-inline-var |
SPC m r i v |
Replaces all instances of a variable with its initial value. |
js2r-rename-var |
SPC m r r v |
Renames the variable on point and all occurrences in its lexical scope. |
js2r-var-to-this |
SPC m r v t |
Changes local var a to be this.a instead. |
js2r-arguments-to-object |
SPC m r a o |
Replaces arguments to a function call with an object literal of named arguments. |
js2r-ternary-to-if |
SPC m r 3 i |
Converts ternary operator to if-statement. |
js2r-split-var-declaration |
SPC m r s v |
Splits a var with multiple vars declared, into several var statements. |
js2r-split-string |
SPC m r s s |
Splits a string. |
js2r-string-to-template |
SPC m r s t |
Converts a string into a template string. |
js2r-unwrap |
SPC m r u w |
Replaces the parent statement with the selected region. |
js2r-log-this |
SPC m r l t |
Adds a console.log() statement for what is at point (or region). With a prefix argument, use JSON pretty-printing. |
js2r-debug-this |
SPC m r d t |
Adds a debug() statement for what is at point (or region). |
js2r-forward-slurp |
SPC m r s l |
Moves the next statement into current function, if-statement, for-loop or while-loop. |
js2r-forward-barf |
SPC m r b a |
Moves the last child out of current function, if-statement, for-loop or while-loop. |
js2r-kill |
SPC m r k |
Kills to the end of the line, but does not cross semantic boundaries. |
skewer-mode
general
command | key / ex command | description |
---|---|---|
skewer-eval-last-expression |
SPC m s E |
Evaluate last expression |
skewer-eval-defun |
SPC m s e |
Evaluate function definition at point |
skewer-load-buffer |
SPC m s f |
Load buffer into REPL |
css
command | key / ex command | description |
---|---|---|
skewer-css-eval-current-declaration |
SPC m s e |
Evaluate declaration at point |
skewer-css-eval-current-rule |
SPC m s r |
Evaluate rule at point |
skewer-css-eval-buffer |
SPC m s b |
Evaluate buffer |
skewer-css-clear-all |
SPC m s c |
Clear all rules |
html
command | key / ex command | description |
---|---|---|
skewer-html-eval-tag |
SPC m s e |
Evaluate tag at point |
npm-mode
command | key / ex command | description |
---|---|---|
npm-mode-npm-init |
SPC m n n |
Initialize npm project |
npm-mode-npm-install |
SPC m n i |
Install npm package |
npm-mode-npm-install-save |
SPC m n s |
Install npm package and save to package.json |
npm-mode-npm-install-save-dev |
SPC m n d |
Install npm package and save to package.json as a dev dependency |
npm-mode-npm-uninstall |
SPC m n u |
Uninstall npm package |
npm-mode-npm-list |
SPC m n l |
List npm packages |
npm-mode-npm-run |
SPC m n r |
Run npm task |
npm-mode-visit-project-file |
SPC m n v |
Find file in npm project |