mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
Alexander-Miller/company-shell@HEAD -> Alexander-Miller/company-shell@52f3bf2 FStarLang/fstar-mode.el@HEAD -> FStarLang/fstar-mode.el@aaaf256 JuliaEditorSupport/julia-emacs@5238f9a -> JuliaEditorSupport/julia-emacs@1c122f1 Kungsgeten/org-brain@6b7fced -> Kungsgeten/org-brain@cae8e22 OVYA/php-cs-fixer@6540006 -> OVYA/php-cs-fixer@95eace9 ProofGeneral/PG@2a17093 -> ProofGeneral/PG@9196749 aaronjensen/eslintd-fix@98c669e -> aaronjensen/eslintd-fix@0c43114 abicky/nodejs-repl.el@8b90948 -> abicky/nodejs-repl.el@6fad7d7 abo-abo/org-download@3c48102 -> abo-abo/org-download@b96fd7b agda/agda@74d9fd5 -> agda/agda@ff9173e alf/ob-restclient.el@c5c22e6 -> alf/ob-restclient.el@f7449b2 ananthakumaran/tide@1878a09 -> ananthakumaran/tide@3b45610 bastibe/org-journal@9d40f62 -> bastibe/org-journal@664c08e brotzeit/rustic@373f5a1 -> brotzeit/rustic@61032ea clojure-emacs/cider@7437c67 -> clojure-emacs/cider@52dcc60 clojure-emacs/clj-refactor.el@e24ba62 -> clojure-emacs/clj-refactor.el@92d3723 cpitclaudel/company-coq@6e8bc2e -> cpitclaudel/company-coq@f9dba9d cython/cython@f6bf6aa -> cython/cython@48dc1f0 defunkt/coffee-mode@86ab8aa -> defunkt/coffee-mode@35a41c7 dgutov/robe@8190cb7 -> dgutov/robe@68503b3 diml/utop@7c99d8c -> diml/utop@30c77ce dzop/emacs-jupyter@d4b06c5 -> dzop/emacs-jupyter@de7af25 emacs-ess/ESS@a2be8cb -> emacs-ess/ESS@625041a emacs-lsp/lsp-haskell@6d481f9 -> emacs-lsp/lsp-haskell@582fa27 emacs-lsp/lsp-java@dbeeee9 -> emacs-lsp/lsp-java@6efb741 emacs-php/php-mode@cade4ce -> emacs-php/php-mode@b5d9988 emacs-php/phpactor.el@5ccf65d -> emacs-php/phpactor.el@31fe2ea emacs-php/phpactor.el@5ccf65d) -> emacs-php/phpactor.el@31fe2ea) emacs-straight/csv-mode@fbf942e -> emacs-straight/csv-mode@6353374 emacs-straight/org-mode@0a8faec -> emacs-straight/org-mode@ba68555 emacs-typescript/typescript.el@a0f2c3e -> emacs-typescript/typescript.el@102587e emacsorphanage/gnuplot@a406143 -> emacsorphanage/gnuplot@f0001c3 erlang/otp@c15eb5f -> erlang/otp@3065fbf factor/factor@a62ea78 -> factor/factor@497d649 felipeochoa/rjsx-mode@014c760 -> felipeochoa/rjsx-mode@0061587 fxbois/web-mode@d1b6660 -> fxbois/web-mode@b0bb4ab greghendershott/racket-mode@5f396fa -> greghendershott/racket-mode@bd4c8cf haskell/haskell-mode@4a87d72 -> haskell/haskell-mode@7032966 jaor/geiser@645e477 -> jaor/geiser@83ad875 joaotavora/sly@cfecd21 -> joaotavora/sly@1382bda jorgenschaefer/emacs-buttercup@178c795 -> jorgenschaefer/emacs-buttercup@b360e35 leanprover/lean-mode@f26e40d -> leanprover/lean-mode@65b55b1 leanprover/lean-mode@f26e40d -> leanprover/lean-mode@65b55b1 ledger/ledger-mode@a514953 -> ledger/ledger-mode@7d78645 mgyucht/jsonnet-mode@2b90b4e -> mgyucht/jsonnet-mode@d8b486c necaris/conda.el@814439d -> necaris/conda.el@335474e nonsequitur/inf-ruby@e4ae089 -> nonsequitur/inf-ruby@41e5ed3 ocaml-ppx/ocamlformat@dba4487 -> ocaml-ppx/ocamlformat@5282e04 ocaml/dune@f3df7ab -> ocaml/dune@1944d0f ocaml/merlin@f6954e9 -> ocaml/merlin@37e38e4 polymode/poly-R@0443c89 -> polymode/poly-R@51ffeb6 polymode/polymode@3eab3c9 -> polymode/polymode@44265e3 purcell/flycheck-ledger@2065bea -> purcell/flycheck-ledger@628e25b purescript-emacs/psc-ide-emacs@2a93944 -> purescript-emacs/psc-ide-emacs@7fc2b84 s-kostyaev/ivy-erlang-complete@7d60ed1 -> s-kostyaev/ivy-erlang-complete@c443dba seagle0128/grip-mode@1a61bb7 -> seagle0128/grip-mode@9615c47 skeeto/skewer-mode@123215d -> skeeto/skewer-mode@e5bed35 tpapp/julia-repl@b11a572 -> tpapp/julia-repl@5fa04de wwwjfy/emacs-fish@688c82d -> wwwjfy/emacs-fish@db257db xuchunyang/elisp-demos@bec206b -> xuchunyang/elisp-demos@0d74766 yjwen/org-reveal@0d947cb -> yjwen/org-reveal@ea8b502
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
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 |