Mercurial > vim
annotate runtime/syntax/aspvbs.vim @ 30422:52b7188f13b1
Added tag v9.0.0546 for changeset 425b686c5244788b67d1205e696f6d04bedb0f24
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 22 Sep 2022 17:15:04 +0200 |
parents | 11b656e74444 |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Microsoft VBScript Web Content (ASP) | |
22 | 3 " Maintainer: Devin Weaver <ktohg@tritarget.com> (non-functional) |
4 " URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim (broken) | |
1121 | 5 " Last Change: 2006 Jun 19 |
6 " by Dan Casey | |
2034 | 7 " Version: $Revision: 1.3 $ |
7 | 8 " Thanks to Jay-Jay <vim@jay-jay.net> for a syntax sync hack, hungarian |
9 " notation, and extra highlighting. | |
10 " Thanks to patrick dehne <patrick@steidle.net> for the folding code. | |
11 " Thanks to Dean Hall <hall@apt7.com> for testing the use of classes in | |
12 " VBScripts which I've been too scared to do. | |
13 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
14 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
15 if exists("b:current_syntax") |
7 | 16 finish |
17 endif | |
18 | |
19 if !exists("main_syntax") | |
20 let main_syntax = 'aspvbs' | |
21 endif | |
22 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
23 runtime! syntax/html.vim |
7 | 24 unlet b:current_syntax |
25 | |
26 syn cluster htmlPreProc add=AspVBScriptInsideHtmlTags | |
27 | |
28 | |
29 " Colored variable names, if written in hungarian notation | |
30 hi def AspVBSVariableSimple term=standout ctermfg=3 guifg=#99ee99 | |
31 hi def AspVBSVariableComplex term=standout ctermfg=3 guifg=#ee9900 | |
32 syn match AspVBSVariableSimple contained "\<\(bln\|byt\|dtm\=\|dbl\|int\|str\)\u\w*" | |
1121 | 33 syn match AspVBSVariableComplex contained "\<\(arr\|ary\|obj\)\u\w*" |
7 | 34 |
35 | |
36 " Functions and methods that are in VB but will cause errors in an ASP page | |
25773 | 37 " This is helpful if your porting VB code to ASP |
7 | 38 " I removed (Count, Item) because these are common variable names in AspVBScript |
39 syn keyword AspVBSError contained Val Str CVar CVDate DoEvents GoSub Return GoTo | |
40 syn keyword AspVBSError contained Stop LinkExecute Add Type LinkPoke | |
41 syn keyword AspVBSError contained LinkRequest LinkSend Declare Optional Sleep | |
42 syn keyword AspVBSError contained ParamArray Static Erl TypeOf Like LSet RSet Mid StrConv | |
43 " It may seem that most of these can fit into a keyword clause but keyword takes | |
44 " priority over all so I can't get the multi-word matches | |
45 syn match AspVBSError contained "\<Def[a-zA-Z0-9_]\+\>" | |
46 syn match AspVBSError contained "^\s*Open\s\+" | |
47 syn match AspVBSError contained "Debug\.[a-zA-Z0-9_]*" | |
48 syn match AspVBSError contained "^\s*[a-zA-Z0-9_]\+:" | |
49 syn match AspVBSError contained "[a-zA-Z0-9_]\+![a-zA-Z0-9_]\+" | |
50 syn match AspVBSError contained "^\s*#.*$" | |
51 syn match AspVBSError contained "\<As\s\+[a-zA-Z0-9_]*" | |
52 syn match AspVBSError contained "\<End\>\|\<Exit\>" | |
53 syn match AspVBSError contained "\<On\s\+Error\>\|\<On\>\|\<Error\>\|\<Resume\s\+Next\>\|\<Resume\>" | |
54 syn match AspVBSError contained "\<Option\s\+\(Base\|Compare\|Private\s\+Module\)\>" | |
55 " This one I want 'cause I always seem to mis-spell it. | |
56 syn match AspVBSError contained "Respon\?ce\.\S*" | |
57 syn match AspVBSError contained "Respose\.\S*" | |
58 " When I looked up the VBScript syntax it mentioned that Property Get/Set/Let | |
25773 | 59 " statements are illegal, however, I have received reports that they do work. |
7 | 60 " So I commented it out for now. |
61 " syn match AspVBSError contained "\<Property\s\+\(Get\|Let\|Set\)\>" | |
62 | |
63 " AspVBScript Reserved Words. | |
64 syn match AspVBSStatement contained "\<On\s\+Error\s\+\(Resume\s\+Next\|goto\s\+0\)\>\|\<Next\>" | |
1121 | 65 syn match AspVBSStatement contained "\<End\s\+\(If\|For\|Select\|Class\|Function\|Sub\|With\|Property\)\>" |
7 | 66 syn match AspVBSStatement contained "\<Exit\s\+\(Do\|For\|Sub\|Function\)\>" |
1121 | 67 syn match AspVBSStatement contained "\<Exit\s\+\(Do\|For\|Sub\|Function\|Property\)\>" |
7 | 68 syn match AspVBSStatement contained "\<Option\s\+Explicit\>" |
69 syn match AspVBSStatement contained "\<For\s\+Each\>\|\<For\>" | |
70 syn match AspVBSStatement contained "\<Set\>" | |
71 syn keyword AspVBSStatement contained Call Class Const Default Dim Do Loop Erase And | |
72 syn keyword AspVBSStatement contained Function If Then Else ElseIf Or | |
73 syn keyword AspVBSStatement contained Private Public Randomize ReDim | |
74 syn keyword AspVBSStatement contained Select Case Sub While With Wend Not | |
75 | |
76 " AspVBScript Functions | |
77 syn keyword AspVBSFunction contained Abs Array Asc Atn CBool CByte CCur CDate CDbl | |
78 syn keyword AspVBSFunction contained Chr CInt CLng Cos CreateObject CSng CStr Date | |
79 syn keyword AspVBSFunction contained DateAdd DateDiff DatePart DateSerial DateValue | |
80 syn keyword AspVBSFunction contained Date Day Exp Filter Fix FormatCurrency | |
81 syn keyword AspVBSFunction contained FormatDateTime FormatNumber FormatPercent | |
82 syn keyword AspVBSFunction contained GetObject Hex Hour InputBox InStr InStrRev Int | |
83 syn keyword AspVBSFunction contained IsArray IsDate IsEmpty IsNull IsNumeric | |
84 syn keyword AspVBSFunction contained IsObject Join LBound LCase Left Len LoadPicture | |
85 syn keyword AspVBSFunction contained Log LTrim Mid Minute Month MonthName MsgBox Now | |
86 syn keyword AspVBSFunction contained Oct Replace RGB Right Rnd Round RTrim | |
87 syn keyword AspVBSFunction contained ScriptEngine ScriptEngineBuildVersion | |
88 syn keyword AspVBSFunction contained ScriptEngineMajorVersion | |
89 syn keyword AspVBSFunction contained ScriptEngineMinorVersion Second Sgn Sin Space | |
90 syn keyword AspVBSFunction contained Split Sqr StrComp StrReverse String Tan Time Timer | |
91 syn keyword AspVBSFunction contained TimeSerial TimeValue Trim TypeName UBound UCase | |
92 syn keyword AspVBSFunction contained VarType Weekday WeekdayName Year | |
93 | |
94 " AspVBScript Methods | |
95 syn keyword AspVBSMethods contained Add AddFolders BuildPath Clear Close Copy | |
96 syn keyword AspVBSMethods contained CopyFile CopyFolder CreateFolder CreateTextFile | |
97 syn keyword AspVBSMethods contained Delete DeleteFile DeleteFolder DriveExists | |
98 syn keyword AspVBSMethods contained Exists FileExists FolderExists | |
99 syn keyword AspVBSMethods contained GetAbsolutePathName GetBaseName GetDrive | |
100 syn keyword AspVBSMethods contained GetDriveName GetExtensionName GetFile | |
101 syn keyword AspVBSMethods contained GetFileName GetFolder GetParentFolderName | |
102 syn keyword AspVBSMethods contained GetSpecialFolder GetTempName Items Keys Move | |
103 syn keyword AspVBSMethods contained MoveFile MoveFolder OpenAsTextStream | |
104 syn keyword AspVBSMethods contained OpenTextFile Raise Read ReadAll ReadLine Remove | |
105 syn keyword AspVBSMethods contained RemoveAll Skip SkipLine Write WriteBlankLines | |
106 syn keyword AspVBSMethods contained WriteLine | |
22 | 107 syn match AspVBSMethods contained "Response\.\w*" |
7 | 108 " Colorize boolean constants: |
109 syn keyword AspVBSMethods contained true false | |
110 | |
25773 | 111 " AspVBScript Number Constants |
7 | 112 " Integer number, or floating point number without a dot. |
113 syn match AspVBSNumber contained "\<\d\+\>" | |
114 " Floating point number, with dot | |
115 syn match AspVBSNumber contained "\<\d\+\.\d*\>" | |
116 " Floating point number, starting with a dot | |
117 syn match AspVBSNumber contained "\.\d\+\>" | |
118 | |
25773 | 119 " String and Character Constants |
7 | 120 " removed (skip=+\\\\\|\\"+) because VB doesn't have backslash escaping in |
121 " strings (or does it?) | |
122 syn region AspVBSString contained start=+"+ end=+"+ keepend | |
123 | |
124 " AspVBScript Comments | |
125 syn region AspVBSComment contained start="^REM\s\|\sREM\s" end="$" contains=AspVBSTodo keepend | |
126 syn region AspVBSComment contained start="^'\|\s'" end="$" contains=AspVBSTodo keepend | |
127 " misc. Commenting Stuff | |
128 syn keyword AspVBSTodo contained TODO FIXME | |
129 | |
130 " Cosmetic syntax errors commanly found in VB but not in AspVBScript | |
131 " AspVBScript doesn't use line numbers | |
132 syn region AspVBSError contained start="^\d" end="\s" keepend | |
133 " AspVBScript also doesn't have type defining variables | |
134 syn match AspVBSError contained "[a-zA-Z0-9_][\$&!#]"ms=s+1 | |
135 " Since 'a%' is a VB variable with a type and in AspVBScript you can have 'a%>' | |
136 " I have to make a special case so 'a%>' won't show as an error. | |
137 syn match AspVBSError contained "[a-zA-Z0-9_]%\($\|[^>]\)"ms=s+1 | |
138 | |
139 " Top Cluster | |
140 syn cluster AspVBScriptTop contains=AspVBSStatement,AspVBSFunction,AspVBSMethods,AspVBSNumber,AspVBSString,AspVBSComment,AspVBSError,AspVBSVariableSimple,AspVBSVariableComplex | |
141 | |
142 " Folding | |
143 syn region AspVBSFold start="^\s*\(class\)\s\+.*$" end="^\s*end\s\+\(class\)\>.*$" fold contained transparent keepend | |
144 syn region AspVBSFold start="^\s*\(private\|public\)\=\(\s\+default\)\=\s\+\(sub\|function\)\s\+.*$" end="^\s*end\s\+\(function\|sub\)\>.*$" fold contained transparent keepend | |
145 | |
25773 | 146 " Define AspVBScript delimiters |
7 | 147 " <%= func("string_with_%>_in_it") %> This is illegal in ASP syntax. |
148 syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ end=+%>+ contains=@AspVBScriptTop, AspVBSFold | |
149 syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<script\s\+language="\=vbscript"\=[^>]*\s\+runatserver[^>]*>+ end=+</script>+ contains=@AspVBScriptTop | |
150 | |
151 | |
152 " Synchronization | |
153 " syn sync match AspVBSSyncGroup grouphere AspVBScriptInsideHtmlTags "<%" | |
154 " This is a kludge so the HTML will sync properly | |
155 syn sync match htmlHighlight grouphere htmlTag "%>" | |
156 | |
157 | |
158 | |
159 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
160 " Only when an item doesn't have highlighting yet |
7 | 161 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
162 "hi def link AspVBScript Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
163 hi def link AspVBSLineNumber Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
164 hi def link AspVBSNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
165 hi def link AspVBSError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
166 hi def link AspVBSStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
167 hi def link AspVBSString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
168 hi def link AspVBSComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
169 hi def link AspVBSTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
170 hi def link AspVBSFunction Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
171 hi def link AspVBSMethods PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
172 hi def link AspVBSEvents Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
173 hi def link AspVBSTypeSpecifier Type |
7 | 174 |
175 | |
176 let b:current_syntax = "aspvbs" | |
177 | |
178 if main_syntax == 'aspvbs' | |
179 unlet main_syntax | |
180 endif | |
181 | |
182 " vim: ts=8:sw=2:sts=0:noet |