mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
200ok-ch/counsel-jq@b14dfc5 -> 200ok-ch/counsel-jq@104c77b Andersbakken/rtags@b57b360 -> Andersbakken/rtags@e6c7005 Emacs-Kotlin-Mode-Maintainers/kotlin-mode@8e6dd57 -> Emacs-Kotlin-Mode-Maintainers/kotlin-mode@0e4bafb FStarLang/fstar-mode.el@bd28cb8 -> FStarLang/fstar-mode.el@5670fc0 GDQuest/emacs-gdscript-mode@7aea87b -> GDQuest/emacs-gdscript-mode@55a6637 JuliaEditorSupport/julia-emacs@b5f5983 -> JuliaEditorSupport/julia-emacs@8ea90c7 NixOS/nix-mode@0cf1ea1 -> NixOS/nix-mode@bb0b49e OmniSharp/omnisharp-emacs@e658a18 -> OmniSharp/omnisharp-emacs@e26ff8b ProofGeneral/PG@03e427a -> ProofGeneral/PG@4f6b602 Raku/raku-mode@e0639c8 -> Raku/raku-mode@8a6e17f Sterlingg/json-snatcher@c4cecc0 -> Sterlingg/json-snatcher@b28d1c0 agda/agda@36738c1 -> agda/agda@08191e6 asok/projectile-rails@11980b2 -> asok/projectile-rails@7a256b1 borkdude/flycheck-clj-kondo@5472c26 -> borkdude/flycheck-clj-kondo@152df7f brotzeit/rustic@75b9920 -> brotzeit/rustic@7c9d55b clojure-emacs/cider@a89b694 -> clojure-emacs/cider@f1c2a79 clojure-emacs/clj-refactor.el@9709568 -> clojure-emacs/clj-refactor.el@6db85b3 clojure-emacs/clojure-mode@84ed16c -> clojure-emacs/clojure-mode@75c2889 cython/cython@fcfd16c -> cython/cython@ba6cbed dominikh/go-mode.el@734d523 -> dominikh/go-mode.el@d17d210 emacs-ess/ESS@1baf8bf -> emacs-ess/ESS@a694b26 emacs-lsp/lsp-haskell@a56667b -> emacs-lsp/lsp-haskell@4d85cb3 emacs-lsp/lsp-java@2600162 -> emacs-lsp/lsp-java@3f1ed17 emacs-lsp/lsp-metals@039aa72 -> emacs-lsp/lsp-metals@8f8471c emacs-lsp/lsp-pyright@9603dda -> emacs-lsp/lsp-pyright@ccd0007 emacs-lsp/lsp-python-ms@a884a9a -> emacs-lsp/lsp-python-ms@a0c56f4 emacs-lsp/lsp-sourcekit@130f7a8 -> emacs-lsp/lsp-sourcekit@948c3a3 emacs-straight/rainbow-mode@f780ddb -> emacs-straight/rainbow-mode@fdff98b emacs-typescript/typescript.el@42a60e5 -> emacs-typescript/typescript.el@e6f68ab ericdallo/hover.el@e213f2b -> ericdallo/hover.el@3f07a18 erlang/otp@d9bc785 -> erlang/otp@36b4ba4 factor/factor@3fdb032 -> factor/factor@c6e15bd flycheck/flycheck-cask@3457ae5 -> flycheck/flycheck-cask@4b2ede6 fsharp/emacs-fsharp-mode@3e41fe1 -> fsharp/emacs-fsharp-mode@68dfc22 fxbois/web-mode@60ffd87 -> fxbois/web-mode@b4b0a85 galaunay/poetry.el@22a76cd -> galaunay/poetry.el@eb238d9 greghendershott/racket-mode@c55fd70 -> greghendershott/racket-mode@0ca8b26 hhvm/hack-mode@572c3b4 -> hhvm/hack-mode@9079bc3 hylang/hy-mode@55e84ca -> hylang/hy-mode@7256844 immerrr/lua-mode@35b6e4c -> immerrr/lua-mode@345ebfc jaor/geiser@adc5c4a -> jaor/geiser@2accab7 joaotavora/sly@34239bc -> joaotavora/sly@fce4f9b jorgenschaefer/emacs-buttercup@0e5eae0 -> jorgenschaefer/emacs-buttercup@cccdedf jorgenschaefer/emacs-buttercup@0e5eae0 -> jorgenschaefer/emacs-buttercup@cccdedf josteink/csharp-mode@4885177 -> josteink/csharp-mode@f46d656 jrblevin/markdown-mode@ef2cb4d -> jrblevin/markdown-mode@152eae2 jschaf/powershell.el@8782677 -> jschaf/powershell.el@d1b3f95 jwiegley/emacs-async@36a1015 -> jwiegley/emacs-async@14f48de leanprover/lean-mode@6b43776 -> leanprover/lean-mode@cc1f5fa liblit/demangle-mode@697c1db -> liblit/demangle-mode@aaef0bd mooz/js2-mode@40aab27 -> mooz/js2-mode@ffb7099 nonsequitur/inf-ruby@9f0f79f -> nonsequitur/inf-ruby@b012457 pashky/restclient.el@ac8aad6 -> pashky/restclient.el@abc307b pythonic-emacs/anaconda-mode@73266a4 -> pythonic-emacs/anaconda-mode@39b1cf8 pythonic-emacs/pyenv-mode@d191037 -> pythonic-emacs/pyenv-mode@b818901 seagle0128/grip-mode@281ada2 -> seagle0128/grip-mode@91da46f senny/rvm.el@081d517 -> senny/rvm.el@6897576 swift-emacs/swift-mode@d266fbd -> swift-emacs/swift-mode@e65a80a wbolster/emacs-python-pytest@fc056fa -> wbolster/emacs-python-pytest@a2f88b1 xuchunyang/elisp-demos@8c97481 -> xuchunyang/elisp-demos@3cca496
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 |