A JSX major mode for Emacs
Thanks to @wyuenho we now support comments more intelligently Thanks to @axyz we now have a minor mode Thanks to @wyuenho we now have proper indentation of JSX Thanks to @larebsyed we can now jump around tags Thanks to @bzalasky we are inheriting from the correct mode now
<><C1/><C2/></>
now parses as a fragment. You can't yet use the electric C-d
or >
(see below) shortcut to expand </>
into <></>
. Thanks to @mostafah for pointing out this new syntax
>
(#51)Some users (especially evil
users I think) found the C-d
rebinding not very useful. Now hitting >
right before a self-closing slash will expand the tag the same as C-d
. Thanks to @allforabit for the suggestion
<
, /
and >
(#61)You can now specify a style for the JSX brackets using rjsx-tag-bracket-face
. The default face does not add any styles, but this allows greater consistency between rjsx and web-mode. Thanks to @Fuco1 for the suggestion.
Some of the magic commands in rjsx
requires a parse tree to work and will silently fall back to non-magic if there's no parse yet (#48). This release adds more frequent parsing for buffers below a certain size. This limit is configurable via rjsx-max-size-for-frequent-reparse
(default 100K characters); set it 0 to keep the old behavior.
The new release adds two improvements to rjsx
's handling of JSX text sequences:
I suspect the latter change may not be welcome by everyone (hence the minor bump), but it can be easily fixed by customizing the rjsx-text
face. E.g., you can remove the :inherit
property to revert to the old look.
js2
hasn't published an emacs 26-compatible version yet, so 0.1.3 failed to install there. This version downgrades to 0.1.2 until js2
has caught up
Fixes issue #39 related to new struct format on Emacs 26. (Remains backwards compatible)
Added a rename tag function (rjsx-rename-tag-at-point
), bound by default to C-c C-r
Fixes a C-d
bug when in transient mark mode. Thanks @ahktenzero
First release