Mercurial > ec-dotfiles
comparison vendor/vim-syntax/json.vim @ 517:14b645f67f7c
Update vim-syntax.
| author | edogawaconan <me@myconan.net> | 
|---|---|
| date | Thu, 22 May 2014 15:22:53 +0900 | 
| parents | bbcffc594d1e | 
| children | a198065ff6e8 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 516:6ef4bbc171eb | 517:14b645f67f7c | 
|---|---|
| 16 syntax match jsonNoise /\%(:\|,\)/ | 16 syntax match jsonNoise /\%(:\|,\)/ | 
| 17 | 17 | 
| 18 " 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 | 
| 19 | 19 | 
| 20 " Syntax: Strings | 20 " Syntax: Strings | 
| 21 " Separated into a match and region because a region by itself is always greedy | |
| 22 syn match jsonStringMatch /"[^\"]\+"\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString | |
| 21 if has('conceal') | 23 if has('conceal') | 
| 22 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape | 24 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape contained | 
| 23 else | 25 else | 
| 24 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape | 26 syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape contained | 
| 25 endif | 27 endif | 
| 26 | 28 | 
| 27 " Syntax: JSON does not allow strings with single quotes, unlike JavaScript. | 29 " Syntax: JSON does not allow strings with single quotes, unlike JavaScript. | 
| 28 syn region jsonStringSQ oneline start=+'+ skip=+\\\\\|\\"+ end=+'+ | 30 syn region jsonStringSQError oneline start=+'+ skip=+\\\\\|\\"+ end=+'+ | 
| 29 | 31 | 
| 30 " Syntax: JSON Keywords | 32 " Syntax: JSON Keywords | 
| 31 " Separated into a match and region because a region by itself is always greedy | 33 " Separated into a match and region because a region by itself is always greedy | 
| 32 syn match jsonKeywordMatch /"[^\"\:]\+"[[:blank:]\r\n]*\:/ contains=jsonKeywordRegion | 34 syn match jsonKeywordMatch /"[^\"]\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword | 
| 33 if has('conceal') | 35 if has('conceal') | 
| 34 syn region jsonKeywordRegion matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained | 36 syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained | 
| 35 else | 37 else | 
| 36 syn region jsonKeywordRegion matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained | 38 syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained | 
| 37 endif | 39 endif | 
| 38 | 40 | 
| 39 " Syntax: Escape sequences | 41 " Syntax: Escape sequences | 
| 40 syn match jsonEscape "\\["\\/bfnrt]" contained | 42 syn match jsonEscape "\\["\\/bfnrt]" contained | 
| 41 syn match jsonEscape "\\u\x\{4}" contained | 43 syn match jsonEscape "\\u\x\{4}" contained | 
| 42 | 44 | 
| 43 " Syntax: Numbers | 45 " Syntax: Numbers | 
| 44 syn match jsonNumber "-\=\<\%(0\|[1-9]\d*\)\%(\.\d\+\)\=\%([eE][-+]\=\d\+\)\=\>" | 46 syn match jsonNumber "-\=\<\%(0\|[1-9]\d*\)\%(\.\d\+\)\=\%([eE][-+]\=\d\+\)\=\>\ze[[:blank:]\r\n]*[,}\]]" | 
| 45 | 47 | 
| 46 " ERROR WARNINGS ********************************************** | 48 " ERROR WARNINGS ********************************************** | 
| 47 " | 49 if (g:vim_json_warnings == 1) | 
| 48 " Syntax: Strings should always be enclosed with quotes. | 50 " Syntax: Strings should always be enclosed with quotes. | 
| 49 syn match jsonNoQuotes "\<[[:alpha:]]\+\>" | 51 syn match jsonNoQuotesError "\<[[:alpha:]]\+\>" | 
| 50 | 52 | 
| 51 " Syntax: An integer part of 0 followed by other digits is not allowed. | 53 " Syntax: An integer part of 0 followed by other digits is not allowed. | 
| 52 syn match jsonNumError "-\=\<0\d\.\d*\>" | 54 syn match jsonNumError "-\=\<0\d\.\d*\>" | 
| 53 | 55 | 
| 54 " Syntax: Decimals smaller than one should begin with 0 (so .1 should be 0.1). | 56 " Syntax: Decimals smaller than one should begin with 0 (so .1 should be 0.1). | 
| 55 syn match jsonNumError "\:\@<=[[:blank:]\r\n]*\zs\.\d\+" | 57 syn match jsonNumError "\:\@<=[[:blank:]\r\n]*\zs\.\d\+" | 
| 56 | 58 | 
| 57 " Syntax: No comments in JSON, see http://stackoverflow.com/questions/244777/can-i-comment-a-json-file | 59 " Syntax: No comments in JSON, see http://stackoverflow.com/questions/244777/can-i-comment-a-json-file | 
| 58 syn match jsonCommentError "//.*" | 60 syn match jsonCommentError "//.*" | 
| 59 syn match jsonCommentError "\(/\*\)\|\(\*/\)" | 61 syn match jsonCommentError "\(/\*\)\|\(\*/\)" | 
| 60 | 62 | 
| 61 " Syntax: No semicolons in JSON | 63 " Syntax: No semicolons in JSON | 
| 62 syn match jsonSemicolonError ";" | 64 syn match jsonSemicolonError ";" | 
| 63 | 65 | 
| 64 " Syntax: No trailing comma after the last element of arrays or objects | 66 " Syntax: No trailing comma after the last element of arrays or objects | 
| 65 syn match jsonCommaError ",\_s*[}\]]" | 67 syn match jsonTrailingCommaError ",\_s*[}\]]" | 
| 68 | |
| 69 " Syntax: Watch out for missing commas between elements | |
| 70 syn match jsonMissingCommaError /\("\|\d\)\zs\_s\+\ze"/ | |
| 71 endif | |
| 66 | 72 | 
| 67 " ********************************************** END OF ERROR WARNINGS | 73 " ********************************************** END OF ERROR WARNINGS | 
| 68 " Allowances for JSONP: function call at the beginning of the file, | 74 " Allowances for JSONP: function call at the beginning of the file, | 
| 69 " parenthesis and semicolon at the end. | 75 " parenthesis and semicolon at the end. | 
| 70 " Function name validation based on | 76 " Function name validation based on | 
| 71 " http://stackoverflow.com/questions/2008279/validate-a-javascript-function-name/2008444#2008444 | 77 " http://stackoverflow.com/questions/2008279/validate-a-javascript-function-name/2008444#2008444 | 
| 72 syn match jsonPadding "\%^[[:blank:]\r\n]*[_$[:alpha:]][_$[:alnum:]]*[[:blank:]\r\n]*(" | 78 syn match jsonPadding "\%^[[:blank:]\r\n]*[_$[:alpha:]][_$[:alnum:]]*[[:blank:]\r\n]*(" | 
| 73 syn match jsonPadding ");[[:blank:]\r\n]*\%$" | 79 syn match jsonPadding ");[[:blank:]\r\n]*\%$" | 
| 74 | 80 | 
| 75 " Syntax: Boolean | 81 " Syntax: Boolean | 
| 76 syn keyword jsonBoolean true false | 82 syn keyword jsonBooleanTrue true | 
| 83 syn keyword jsonBooleanFalse false | |
| 77 | 84 | 
| 78 " Syntax: Null | 85 " Syntax: Null | 
| 79 syn keyword jsonNull null | 86 syn keyword jsonNull null | 
| 80 | 87 | 
| 81 " Syntax: Braces | 88 " Syntax: Braces | 
| 92 else | 99 else | 
| 93 command -nargs=+ HiLink hi def link <args> | 100 command -nargs=+ HiLink hi def link <args> | 
| 94 endif | 101 endif | 
| 95 HiLink jsonPadding Operator | 102 HiLink jsonPadding Operator | 
| 96 HiLink jsonString String | 103 HiLink jsonString String | 
| 104 HiLink jsonTest Label | |
| 97 HiLink jsonEscape Special | 105 HiLink jsonEscape Special | 
| 98 HiLink jsonNumber Number | 106 HiLink jsonNumber Number | 
| 99 HiLink jsonBraces Operator | 107 HiLink jsonBraces Delimiter | 
| 100 HiLink jsonNull Function | 108 HiLink jsonNull Function | 
| 109 HiLink jsonBooleanTrue jsonBoolean | |
| 110 HiLink jsonBooleanFalse jsonBoolean | |
| 101 HiLink jsonBoolean Boolean | 111 HiLink jsonBoolean Boolean | 
| 102 HiLink jsonKeywordRegion Label | 112 HiLink jsonKeyword Label | 
| 103 | 113 | 
| 104 HiLink jsonNumError Error | 114 if (g:vim_json_warnings == 1) | 
| 105 HiLink jsonCommentError Error | 115 HiLink jsonNumError Error | 
| 106 HiLink jsonSemicolonError Error | 116 HiLink jsonCommentError Error | 
| 107 HiLink jsonCommaError Error | 117 HiLink jsonSemicolonError Error | 
| 108 HiLink jsonStringSQ Error | 118 HiLink jsonTrailingCommaError Error | 
| 109 HiLink jsonNoQuotes Error | 119 HiLink jsonMissingCommaError Error | 
| 120 HiLink jsonStringSQError Error | |
| 121 HiLink jsonNoQuotesError Error | |
| 122 endif | |
| 110 HiLink jsonQuote Quote | 123 HiLink jsonQuote Quote | 
| 111 HiLink jsonNoise Noise | 124 HiLink jsonNoise Noise | 
| 112 delcommand HiLink | 125 delcommand HiLink | 
| 113 endif | 126 endif | 
| 114 | 127 | 
