comparison vendor/vim-syntax/json.vim @ 629:035b23bb15da

Update syntaxes
author nanaya <me@nanaya.pro>
date Fri, 18 Oct 2019 15:21:13 +0900
parents 0e72765944d4
children 78469331407e
comparison
equal deleted inserted replaced
628:7bcc81f6b210 629:035b23bb15da
1 " Vim syntax file 1 " Vim syntax file
2 " Language: JSON 2 " Language: JSON
3 " Maintainer: Eli Parra <eli@elzr.com> 3 " Maintainer: vacancy
4 " Last Change: 2014 Aug 23 4 " Previous Maintainer: Eli Parra <eli@elzr.com>
5 " Last Change: 2019 Sep 17
5 " Version: 0.12 6 " Version: 0.12
6 7
7 if !exists("main_syntax") 8 if !exists("main_syntax")
8 " quit when a syntax file was already loaded 9 " quit when a syntax file was already loaded
9 if exists("b:current_syntax") 10 if exists("b:current_syntax")
14 15
15 syntax match jsonNoise /\%(:\|,\)/ 16 syntax match jsonNoise /\%(:\|,\)/
16 17
17 " NOTE that for the concealing to work your conceallevel should be set to 2 18 " NOTE that for the concealing to work your conceallevel should be set to 2
18 19
20 " Syntax: JSON Keywords
21 " Separated into a match and region because a region by itself is always greedy
22 syn match jsonKeywordMatch /"\([^"]\|\\\"\)\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword
23 if has('conceal') && (!exists("g:vim_json_conceal") || g:vim_json_conceal==1)
24 syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained
25 else
26 syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
27 endif
28
19 " Syntax: Strings 29 " Syntax: Strings
20 " Separated into a match and region because a region by itself is always greedy 30 " Separated into a match and region because a region by itself is always greedy
31 " Needs to come after keywords or else a json encoded string will break the
32 " syntax
21 syn match jsonStringMatch /"\([^"]\|\\\"\)\+"\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString 33 syn match jsonStringMatch /"\([^"]\|\\\"\)\+"\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString
22 if has('conceal') 34 if has('conceal') && (!exists("g:vim_json_conceal") || g:vim_json_conceal==1)
23 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape contained 35 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape contained
24 else 36 else
25 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape contained 37 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape contained
26 endif 38 endif
27 39
28 " Syntax: JSON does not allow strings with single quotes, unlike JavaScript. 40 " Syntax: JSON does not allow strings with single quotes, unlike JavaScript.
29 syn region jsonStringSQError oneline start=+'+ skip=+\\\\\|\\"+ end=+'+ 41 syn region jsonStringSQError oneline start=+'+ skip=+\\\\\|\\"+ end=+'+
30 42
31 " Syntax: JSON Keywords
32 " Separated into a match and region because a region by itself is always greedy
33 syn match jsonKeywordMatch /"\([^"]\|\\\"\)\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword
34 if has('conceal')
35 syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained
36 else
37 syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
38 endif
39 43
40 " Syntax: Escape sequences 44 " Syntax: Escape sequences
41 syn match jsonEscape "\\["\\/bfnrt]" contained 45 syn match jsonEscape "\\["\\/bfnrt]" contained
42 syn match jsonEscape "\\u\x\{4}" contained 46 syn match jsonEscape "\\u\x\{4}" contained
43 47