Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mooz/js2-mode
Improved JavaScript editing mode for GNU Emacs
https://github.com/mooz/js2-mode
Last synced: about 1 month ago
JSON representation
Improved JavaScript editing mode for GNU Emacs
- Host: GitHub
- URL: https://github.com/mooz/js2-mode
- Owner: mooz
- License: gpl-3.0
- Created: 2010-03-15T10:04:34.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2024-04-18T00:06:08.000Z (7 months ago)
- Last Synced: 2024-04-18T01:26:21.396Z (7 months ago)
- Language: Emacs Lisp
- Homepage:
- Size: 2.49 MB
- Stars: 1,320
- Watchers: 46
- Forks: 186
- Open Issues: 61
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
About [![Build Status](https://github.com/mooz/js2-mode/actions/workflows/test.yml/badge.svg)](https://github.com/mooz/js2-mode/actions/workflows/test.yml) [![GNU ELPA](https://elpa.gnu.org/packages/js2-mode.svg)](https://elpa.gnu.org/packages/js2-mode.html) [![MELPA](https://melpa.org/packages/js2-mode-badge.svg)](https://melpa.org/#/js2-mode)
======Improved JavaScript editing mode for GNU Emacs ([description here](http://elpa.gnu.org/packages/js2-mode.html)).
For some of the latest changes, see [latest user-visible changes](https://github.com/mooz/js2-mode/blob/master/NEWS.md).
Installation
======The stable versions are hosted at [GNU ELPA](http://elpa.gnu.org/)
(M-x list-packages).You can also install the latest development version from
[MELPA](https://melpa.org/#/getting-started).Requirements
======Emacs 24.1+ and `cl-lib` (either built-in or installed from GNU ELPA).
React and JSX
======The currently recommended solution is to install Emacs 27 (you can [build from
source](http://git.savannah.gnu.org/cgit/emacs.git/tree/INSTALL.REPO)
or e.g. install a snapshot from a
[PPA](https://launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa)) and
use `js-mode` as the major mode. To make use of the JS2 AST and the
packages that integrate with it, we recommend `js2-minor-mode`. See
the corresponding [instructions in the
Commentary](https://github.com/mooz/js2-mode/blob/bb73461c2c7048d811b38e6b533a30fb5fdcea93/js2-mode.el#L57).`js-mode` in Emacs 27 includes full support for syntax highlighting
and indenting of JSX syntax.[rjsx-mode](https://github.com/felipeochoa/rjsx-mode/) is an
alternative option which comes with certain tradeoffs.Bugs
====* See broken syntax highlighting and timer errors? Recently upgraded
Emacs from version 24.2 or earlier? Try
[reinstalling or byte-recompiling](https://github.com/mooz/js2-mode/issues/72)
the package.* Any indentation problems should be reported with `M-x report-emacs-bug`
(please try reproducing them with `js-mode` first, for clarity).
Starting with Emacs 25, `js2-mode` delegates indentation to
the indentation engine of `js-mode`.Please report other problems at .
Contributing
======`js2-mode` is subject to the same
[copyright assignment](http://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html)
policy as Emacs itself, `org-mode`, `CEDET` and other packages in
[GNU ELPA](http://elpa.gnu.org/packages/).Any
[legally significant](http://www.gnu.org/prep/maintain/html_node/Legally-Significant.html#Legally-Significant)
contributions can only be accepted after the author has completed their
paperwork. Please ask for the request form, and we'll send it to you.See Also
======Some third-party modes that use the generated syntax tree:
* [js2-refactor](https://github.com/magnars/js2-refactor.el)
* [skewer-mode](https://github.com/skeeto/skewer-mode)