[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNU ELPA] Js2-Mode version 20230408
From: |
ELPA update |
Subject: |
[GNU ELPA] Js2-Mode version 20230408 |
Date: |
Sat, 08 Apr 2023 05:03:33 -0400 |
Version 20230408 of package Js2-Mode has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.
Js2-Mode describes itself as:
================================
Improved JavaScript editing mode
================================
More at https://elpa.gnu.org/packages/js2-mode.html
## Summary:
This JavaScript editing mode supports:
- strict recognition of the Ecma-262 language standard
- support for most Rhino and SpiderMonkey extensions from 1.5 and up
- parsing support for ECMAScript for XML (E4X, ECMA-357)
- accurate syntax highlighting using a recursive-descent parser
- on-the-fly reporting of syntax errors and strict-mode warnings
- undeclared-variable warnings using a configurable externs framework
- "bouncing" line indentation to choose among alternate indentation points
- smart line-wrapping within comments and strings
- code folding:
- show some or all function bodies as {...}
- show some or all block comments as /*...*/
- context-sensitive menu bar and popup menus
- code browsing using the `imenu' package
- many customization options
Installation:
## Recent NEWS:
# History of user-visible changes
## 2023-04-08
* Support top-level await
([#593](https://github.com/mooz/js2-mode/issues/593)).
* Fix for escaping inside template literal
([#592](https://github.com/mooz/js2-mode/issues/592)).
## 2022-07-10
* Fix for node position of `js2-new-node`
([#591](https://github.com/mooz/js2-mode/issues/591)).
* Support the d (hasIndices) and s (dotAll) regexp flags
([#590](https://github.com/mooz/js2-mode/pull/590)).
* Support for `_` separator in numbers (i.e., numeric separator)
([#584](https://github.com/mooz/js2-mode/pull/584)).
## 2021-12-29
* Imenu support for mocha-like (includes Jasmine and Cypress) test
files: i.e., `M-x imenu` will now list test blocks defined with
`describe()` and `it()`
([#576](https://github.com/mooz/js2-mode/pull/576)).
* Minor improvements in `js2-jump-to-definition`
([#423](https://github.com/mooz/js2-mode/issues/423)).
* Support for private class members
([#537](https://github.com/mooz/js2-mode/issues/537)).
* Support for dynamic imports and `import.meta`
([#547](https://github.com/mooz/js2-mode/issues/547)).
* Support for trailing comma in arrow function parameters
([#480](https://github.com/mooz/js2-mode/issues/480)).
* Support for `for await of` syntax
([#543](https://github.com/mooz/js2-mode/pull/543)).
## 2020-12-20
* Support for logical assignment operators
([#564](https://github.com/mooz/js2-mode/issues/564)).
* Support for the nullish coalescing operator
([#561](https://github.com/mooz/js2-mode/pull/561)).
* Emacs 27 now provides improved JSX indentation support, along with
new JSX highlighting and detection support. Install Emacs 27 and use
`js-mode` with `js2-minor-mode` (see README), rather than
`js2-jsx-mode`.
* Using `js2-jsx-mode` will now trigger a warning in Emacs 27.
* Support for optional-chaining operator `?.`
## 2019-02-19
* Changed the default of `js2-strict-trailing-comma-warning` to nil.
## 2018-03-01
* Support single-line JSDocs.
* New face `js2-object-property-access`.
* Support for trailing comma in function arguments
* JSDoc highlighting for `@yield`, `@yields`, `@abstract`, `@virtual` and
`@typedef`.
* Support for anonymous class exports.
## 2017-07-21
* Support for async arrow function without parentheses.
* Support for `/*jslint` declarations.
* User option `js2-getprop-has-side-effects`.
* Support for trailing commas in function parameter lists.
* Support for ES7 public class fields.
* New user option `js2-ignored-warnings`.
## 2017-01-16
* `js2-include-*-externs` are now evaluated on demand. As a result,
they can now be effectively used as file- or directory-local
variables.
* Support for ES7 exponentiation operator.
## 2016-06-23
* New variable `js2-mode-assume-strict`, for use with ES6 modules.
* Support for JSDoc @callback, @func and @method tags.
* Object properties are highlighted using a different face:
`js2-object-property`, which has no color by default.
* Experimental support for object rest/spread ECMAScript proposal.
* `js2-getter-setter-node` is renamed to `js2-method-node`, together with
its related functions. It already handles generator methods, and we
added support for async methods (see below), so the old name would get
more confusing.
* Support for default parameters in destructuring. It should work for both
objects and arrays, in both literals and function arguments.
* New mode: `js2-jsx-mode`, deriving from `js2-mode`. Supports indentation of
JSXElement expressions wrapped within parentheses or as function arguments.
Indentation is customizable via `sgml-attribute-offset`.
* Experimental support for async/await ECMAScript proposal.
## 20150909
* `js2-mode` now derives from `js-mode`. That means the former
function will run `js-mode-hook`, as well as `js2-mode-hook`. The
key bindings will default to `js-mode-map` where they're not set in
`js2-mode-map`. And in Emacs 25 or later (including the snapshot
builds), `js2-mode` uses the indentation code from `js-mode`. Where
...
...
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNU ELPA] Js2-Mode version 20230408,
ELPA update <=