Mercurial > vim
annotate runtime/syntax/javascript.vim @ 11354:129077fb57e6 v8.0.0562
patch 8.0.0562: not enough test coverage for syntax commands
commit https://github.com/vim/vim/commit/ea588154d00aec288e48b344b2685e46bea99cd6
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Apr 10 22:45:30 2017 +0200
patch 8.0.0562: not enough test coverage for syntax commands
Problem: Not enough test coverage for syntax commands.
Solution: Add a few more tests. (Dominique Pelle, closes https://github.com/vim/vim/issues/1624)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 10 Apr 2017 23:00:03 +0200 |
parents | 46763b01cd9a |
children | a62eeee5f116 |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: JavaScript | |
3 " Maintainer: Claudio Fleiner <claudio@fleiner.com> | |
557 | 4 " Updaters: Scott Shattuck (ss) <ss@technicalpursuit.com> |
7 | 5 " URL: http://www.fleiner.com/vim/syntax/javascript.vim |
557 | 6 " Changes: (ss) added keywords, reserved words, and other identifiers |
7 " (ss) repaired several quoting and grouping glitches | |
8 " (ss) fixed regex parsing issue with multiple qualifiers [gi] | |
9 " (ss) additional factoring of keywords, globals, and members | |
3854 | 10 " Last Change: 2012 Oct 05 |
4869 | 11 " 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke) |
7 | 12 |
13 " tuning parameters: | |
14 " unlet javaScript_fold | |
15 | |
16 if !exists("main_syntax") | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
5239
diff
changeset
|
17 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
5239
diff
changeset
|
18 if exists("b:current_syntax") |
7 | 19 finish |
20 endif | |
21 let main_syntax = 'javascript' | |
5239 | 22 elseif exists("b:current_syntax") && b:current_syntax == "javascript" |
23 finish | |
7 | 24 endif |
25 | |
3854 | 26 let s:cpo_save = &cpo |
27 set cpo&vim | |
28 | |
7 | 29 |
30 syn keyword javaScriptCommentTodo TODO FIXME XXX TBD contained | |
1121 | 31 syn match javaScriptLineComment "\/\/.*" contains=@Spell,javaScriptCommentTodo |
7 | 32 syn match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" |
1121 | 33 syn region javaScriptComment start="/\*" end="\*/" contains=@Spell,javaScriptCommentTodo |
7 | 34 syn match javaScriptSpecial "\\\d\d\d\|\\." |
2152 | 35 syn region javaScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=javaScriptSpecial,@htmlPreproc |
36 syn region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=javaScriptSpecial,@htmlPreproc | |
557 | 37 |
7 | 38 syn match javaScriptSpecialCharacter "'\\.'" |
39 syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" | |
4869 | 40 syn region javaScriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gim]\{0,2\}\s*$+ end=+/[gim]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline |
557 | 41 |
42 syn keyword javaScriptConditional if else switch | |
43 syn keyword javaScriptRepeat while for do in | |
44 syn keyword javaScriptBranch break continue | |
45 syn keyword javaScriptOperator new delete instanceof typeof | |
46 syn keyword javaScriptType Array Boolean Date Function Number Object String RegExp | |
36 | 47 syn keyword javaScriptStatement return with |
48 syn keyword javaScriptBoolean true false | |
557 | 49 syn keyword javaScriptNull null undefined |
2152 | 50 syn keyword javaScriptIdentifier arguments this var let |
557 | 51 syn keyword javaScriptLabel case default |
52 syn keyword javaScriptException try catch finally throw | |
53 syn keyword javaScriptMessage alert confirm prompt status | |
54 syn keyword javaScriptGlobal self window top parent | |
55 syn keyword javaScriptMember document event location | |
56 syn keyword javaScriptDeprecated escape unescape | |
57 syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile | |
7 | 58 |
59 if exists("javaScript_fold") | |
2152 | 60 syn match javaScriptFunction "\<function\>" |
7 | 61 syn region javaScriptFunctionFold start="\<function\>.*[^};]$" end="^\z1}.*$" transparent fold keepend |
62 | |
63 syn sync match javaScriptSync grouphere javaScriptFunctionFold "\<function\>" | |
64 syn sync match javaScriptSync grouphere NONE "^}" | |
65 | |
66 setlocal foldmethod=syntax | |
67 setlocal foldtext=getline(v:foldstart) | |
68 else | |
2152 | 69 syn keyword javaScriptFunction function |
557 | 70 syn match javaScriptBraces "[{}\[\]]" |
71 syn match javaScriptParens "[()]" | |
7 | 72 endif |
73 | |
74 syn sync fromstart | |
75 syn sync maxlines=100 | |
76 | |
77 if main_syntax == "javascript" | |
78 syn sync ccomment javaScriptComment | |
79 endif | |
80 | |
81 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
5239
diff
changeset
|
82 " Only when an item doesn't have highlighting yet |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
83 hi def link javaScriptComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
84 hi def link javaScriptLineComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
85 hi def link javaScriptCommentTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
86 hi def link javaScriptSpecial Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
87 hi def link javaScriptStringS String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
88 hi def link javaScriptStringD String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
89 hi def link javaScriptCharacter Character |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
90 hi def link javaScriptSpecialCharacter javaScriptSpecial |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
91 hi def link javaScriptNumber javaScriptValue |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
92 hi def link javaScriptConditional Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
93 hi def link javaScriptRepeat Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
94 hi def link javaScriptBranch Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
95 hi def link javaScriptOperator Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
96 hi def link javaScriptType Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
97 hi def link javaScriptStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
98 hi def link javaScriptFunction Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
99 hi def link javaScriptBraces Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
100 hi def link javaScriptError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
101 hi def link javaScrParenError javaScriptError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
102 hi def link javaScriptNull Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
103 hi def link javaScriptBoolean Boolean |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
104 hi def link javaScriptRegexpString String |
557 | 105 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
106 hi def link javaScriptIdentifier Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
107 hi def link javaScriptLabel Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
108 hi def link javaScriptException Exception |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
109 hi def link javaScriptMessage Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
110 hi def link javaScriptGlobal Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
111 hi def link javaScriptMember Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
112 hi def link javaScriptDeprecated Exception |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
113 hi def link javaScriptReserved Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
114 hi def link javaScriptDebug Debug |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
115 hi def link javaScriptConstant Label |
557 | 116 |
7 | 117 |
118 let b:current_syntax = "javascript" | |
119 if main_syntax == 'javascript' | |
120 unlet main_syntax | |
121 endif | |
3854 | 122 let &cpo = s:cpo_save |
123 unlet s:cpo_save | |
7 | 124 |
125 " vim: ts=8 |