Add json5 support, closes #256
This commit is contained in:
parent
f3556c1eca
commit
1541356fe1
@ -79,6 +79,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
|||||||
- [jasmine](https://github.com/glanotte/vim-jasmine) (syntax)
|
- [jasmine](https://github.com/glanotte/vim-jasmine) (syntax)
|
||||||
- [javascript](https://github.com/pangloss/vim-javascript) (syntax, indent, compiler, ftplugin, extras)
|
- [javascript](https://github.com/pangloss/vim-javascript) (syntax, indent, compiler, ftplugin, extras)
|
||||||
- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax) (syntax, indent)
|
- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax) (syntax, indent)
|
||||||
|
- [json5](https://github.com/GutenYe/json5.vim) (syntax)
|
||||||
- [json](https://github.com/elzr/vim-json) (syntax, indent, ftplugin)
|
- [json](https://github.com/elzr/vim-json) (syntax, indent, ftplugin)
|
||||||
- [jst](https://github.com/briancollins/vim-jst) (syntax, indent)
|
- [jst](https://github.com/briancollins/vim-jst) (syntax, indent)
|
||||||
- [jsx](https://github.com/mxw/vim-jsx) (after)
|
- [jsx](https://github.com/mxw/vim-jsx) (after)
|
||||||
|
1
build
1
build
@ -152,6 +152,7 @@ PACKS="
|
|||||||
javascript:pangloss/vim-javascript:_JAVASCRIPT
|
javascript:pangloss/vim-javascript:_JAVASCRIPT
|
||||||
jenkins:martinda/Jenkinsfile-vim-syntax
|
jenkins:martinda/Jenkinsfile-vim-syntax
|
||||||
json:elzr/vim-json
|
json:elzr/vim-json
|
||||||
|
json5:GutenYe/json5.vim
|
||||||
jst:briancollins/vim-jst
|
jst:briancollins/vim-jst
|
||||||
jsx:mxw/vim-jsx:_ALL
|
jsx:mxw/vim-jsx:_ALL
|
||||||
julia:JuliaEditorSupport/julia-vim
|
julia:JuliaEditorSupport/julia-vim
|
||||||
|
@ -447,6 +447,11 @@ autocmd BufNewFile,BufRead *.geojson setlocal filetype=json
|
|||||||
autocmd BufNewFile,BufRead *.template setlocal filetype=json
|
autocmd BufNewFile,BufRead *.template setlocal filetype=json
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
|
augroup filetypedetect
|
||||||
|
" json5:GutenYe/json5.vim
|
||||||
|
au BufNewFile,BufRead *.json5 setfiletype json5
|
||||||
|
augroup END
|
||||||
|
|
||||||
augroup filetypedetect
|
augroup filetypedetect
|
||||||
" jst:briancollins/vim-jst
|
" jst:briancollins/vim-jst
|
||||||
au BufNewFile,BufRead *.ejs set filetype=jst
|
au BufNewFile,BufRead *.ejs set filetype=jst
|
||||||
|
56
syntax/json5.vim
Normal file
56
syntax/json5.vim
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'json5') == -1
|
||||||
|
|
||||||
|
" Syntax setup {{{1
|
||||||
|
if exists('b:current_syntax') && b:current_syntax == 'json5'
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Syntax: Strings {{{1
|
||||||
|
syn region json5String start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=json5Escape
|
||||||
|
syn region json5String start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=json5Escape
|
||||||
|
|
||||||
|
" Syntax: Escape sequences
|
||||||
|
syn match json5Escape "\\["\\/bfnrt]" contained
|
||||||
|
syn match json5Escape "\\u\x\{4}" contained
|
||||||
|
|
||||||
|
" Syntax: Numbers {{{1
|
||||||
|
syn match json5Number "-\=\<\%(0\|[1-9]\d*\)\%(\.\d\+\)\=\%([eE][-+]\=\d\+\)\=\>"
|
||||||
|
syn keyword json5Number Infinity -Infinity
|
||||||
|
|
||||||
|
" Syntax: An integer part of 0 followed by other digits is not allowed.
|
||||||
|
syn match json5NumError "-\=\<0\d\.\d*\>"
|
||||||
|
|
||||||
|
" Syntax: Boolean {{{1
|
||||||
|
syn keyword json5Boolean true false
|
||||||
|
|
||||||
|
" Syntax: Null {{{1
|
||||||
|
syn keyword json5Null null
|
||||||
|
|
||||||
|
" Syntax: Braces {{{1
|
||||||
|
syn match json5Braces "[{}\[\]]"
|
||||||
|
syn match json5ObjAssign /@\?\%(\I\|\$\)\%(\i\|\$\)*\s*\ze::\@!/
|
||||||
|
|
||||||
|
" Syntax: Comment {{{1
|
||||||
|
syn region json5LineComment start=+\/\/+ end=+$+ keepend
|
||||||
|
syn region json5LineComment start=+^\s*\/\/+ skip=+\n\s*\/\/+ end=+$+ keepend fold
|
||||||
|
syn region json5Comment start="/\*" end="\*/" fold
|
||||||
|
|
||||||
|
" Define the default highlighting. {{{1
|
||||||
|
hi def link json5String String
|
||||||
|
hi def link json5ObjAssign Identifier
|
||||||
|
hi def link json5Escape Special
|
||||||
|
hi def link json5Number Number
|
||||||
|
hi def link json5Braces Operator
|
||||||
|
hi def link json5Null Function
|
||||||
|
hi def link json5Boolean Boolean
|
||||||
|
hi def link json5LineComment Comment
|
||||||
|
hi def link json5Comment Comment
|
||||||
|
hi def link json5NumError Error
|
||||||
|
|
||||||
|
if !exists('b:current_syntax')
|
||||||
|
let b:current_syntax = 'json5'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" vim: fdm=marker
|
||||||
|
|
||||||
|
endif
|
Loading…
Reference in New Issue
Block a user