spacemacs/layers/+tools/tern
Arif Er 00f9ab19ac chore: update copyright headers to 2022
The script used to identify and update the change is added into the GitHub
workflows script directory. A workflow action can be created to trigger the
script to update the headers on the first of every new year. Possibly a task for
a consequent PR.
2022-06-03 17:32:20 +02:00
..
img New layer tern extracted from javascript layer 2018-05-18 01:25:29 -04:00
README.org Switch to the new layers generator 2019-05-15 21:08:21 +03:00
config.el chore: update copyright headers to 2022 2022-06-03 17:32:20 +02:00
funcs.el chore: update copyright headers to 2022 2022-06-03 17:32:20 +02:00
packages.el chore: update copyright headers to 2022 2022-06-03 17:32:20 +02:00

README.org

Tern layer

/TakeV/spacemacs/media/branch/develop/layers/+tools/tern/img/tern.png

Description

This layer adds support for tern stand-alone code-analysis engine for JavaScript.

Features:

  • TODO: list the feature of tern supported by tern package

Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add tern to the existing dotspacemacs-configuration-layers list in this file.

You can install tern globally with the following command:

  $ npm install -g tern

Configuration

Custom tern command

Windows users may need to set the variable tern-command in order for emacs to locate and launch tern server successfully. See this open issue for more details. The variable can be set by adding the tern layer with this configuration layer:

  (tern :variables tern-command '("node" "/path/to/tern/bin/tern"))

Note: tern-command must be a list of strings.

Re-use the server across multiple different editing sessions

By default tern is setup to not create multiple .tern-port files in your repository.

To make tern re-use the server across multiple different editing sessions (thus creating multiple .tern-port files for each document you have open see here for more details) set the variable tern-disable-port-files to nil:

  (tern :variables tern-disable-port-files nil)

Key bindings

Key binding Description
SPC m C-g brings you back to last place you were when you pressed M-..
SPC m g g jump to the definition of the thing under the cursor
SPC m g G jump to definition for the given name
SPC m h d find docs of the thing under the cursor. Press again to open the associated URL (if any)
SPC m h t find the type of the thing under the cursor
SPC m r r V rename variable under the cursor using tern