The React syntax highlighting and indenting plugin for vim. Also supports the typescript tsx file.
let g:vim_jsx_pretty_highlight_close_tag = 1
in your vimrc).vim-jsx-pretty (add colorful config) |
vim-jsx-pretty |
---|---|
your ~/.vimrc
:
No dependencies
Plug 'maxmellon/vim-jsx-pretty'
with: yuezk/vim-js (Recommended but not required)
Plug 'yuezk/vim-js'
Plug 'maxmellon/vim-jsx-pretty'
if you want to highlight tsx files.
Plug 'HerringtonDarkholme/yats.vim'
" or Plug 'leafgarland/typescript-vim'
Plug 'maxmellon/vim-jsx-pretty'
Execute command in vim:
:so ~/.vimrc
:PlugInstall
vim-polyglot
Since vim-polyglot
has already embedded this plugin, if you have installed vim-polyglot
, you don't need to install this plugin anymore. But the bugfix for this plugin may not ship in vim-polyglot
in time.
If you still want to use this plugin, make sure that you put this plugin ahead of vim-polyglot
, and add let g:polyglot_disabled = ['jsx']
to your vimrc
.
name | place |
---|---|
jsxElement | <tag id="sample">text</tag> ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
jsxTag | <tag id="sample"> ~~~~~~~~~~~~~~~~~ |
jsxTagName | <tag id="sample"> _~~~_____________ |
jsxComponentName | <Capitals> _~~~~~~~~_ |
jsxAttrib | <tag id="sample"> _____~~__________ |
jsxEqual | <tag id="sample"> _______~_________ |
jsxString | <tag id="sample"> ________~~~~~~~~_ |
jsxCloseTag | </tag> ~~~~~~ |
jsxCloseString | <tag /> _____~~ |
jsxDot | <Parent.Child> _______~______ |
jsxNamespace | <foo:bar> ____~____ |
jsxPunct | <tag></tag> ~___~~~___~ |
name | default | description |
---|---|---|
g:vim_jsx_pretty_disable_tsx |
0 | Disable the syntax highlighting for tsx files |
g:vim_jsx_pretty_template_tags |
['html', 'jsx'] |
highlight JSX inside the tagged template string, set it to [] to disable this feature |
g:vim_jsx_pretty_highlight_close_tag |
0 | highlight the close tag separately from the open tag |
g:vim_jsx_pretty_colorful_config |
0 | colorful config flag |
Colorful style (vim-javascript only)
let g:vim_jsx_pretty_colorful_config = 1 " default 0