xref: /vim-8.2.3635/runtime/syntax/wsh.vim (revision 89cb5e0f)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	Windows Scripting Host
3*89cb5e0fSBram Moolenaar" Maintainer:	Paul Moore <pf_moore AT yahoo.co.uk>
4071d4279SBram Moolenaar" Last Change:	Fre, 24 Nov 2000 21:54:09 +0100
5071d4279SBram Moolenaar
6071d4279SBram Moolenaar" This reuses the XML, VB and JavaScript syntax files. While VB is not
7071d4279SBram Moolenaar" VBScript, it's close enough for us. No attempt is made to handle
8071d4279SBram Moolenaar" other languages.
9071d4279SBram Moolenaar" Send comments, suggestions and requests to the maintainer.
10071d4279SBram Moolenaar
11071d4279SBram Moolenaar" Quit when a syntax file was already loaded
12071d4279SBram Moolenaarif exists("b:current_syntax")
13071d4279SBram Moolenaar  finish
14071d4279SBram Moolenaarendif
15071d4279SBram Moolenaar
16071d4279SBram Moolenaarlet s:wsh_cpo_save = &cpo
17071d4279SBram Moolenaarset cpo&vim
18071d4279SBram Moolenaar
19071d4279SBram Moolenaarruntime! syntax/xml.vim
20071d4279SBram Moolenaarunlet b:current_syntax
21071d4279SBram Moolenaar
22071d4279SBram Moolenaarsyn case ignore
23071d4279SBram Moolenaarsyn include @wshVBScript <sfile>:p:h/vb.vim
24071d4279SBram Moolenaarunlet b:current_syntax
25071d4279SBram Moolenaarsyn include @wshJavaScript <sfile>:p:h/javascript.vim
26071d4279SBram Moolenaarunlet b:current_syntax
27071d4279SBram Moolenaarsyn region wshVBScript
28071d4279SBram Moolenaar    \ matchgroup=xmlTag    start="<script[^>]*VBScript\(>\|[^>]*[^/>]>\)"
29071d4279SBram Moolenaar    \ matchgroup=xmlEndTag end="</script>"
30071d4279SBram Moolenaar    \ fold
31071d4279SBram Moolenaar    \ contains=@wshVBScript
32071d4279SBram Moolenaar    \ keepend
33071d4279SBram Moolenaarsyn region wshJavaScript
34071d4279SBram Moolenaar    \ matchgroup=xmlTag    start="<script[^>]*J\(ava\)\=Script\(>\|[^>]*[^/>]>\)"
35071d4279SBram Moolenaar    \ matchgroup=xmlEndTag end="</script>"
36071d4279SBram Moolenaar    \ fold
37071d4279SBram Moolenaar    \ contains=@wshJavaScript
38071d4279SBram Moolenaar    \ keepend
39071d4279SBram Moolenaar
40071d4279SBram Moolenaarsyn cluster xmlRegionHook add=wshVBScript,wshJavaScript
41071d4279SBram Moolenaar
42071d4279SBram Moolenaarlet b:current_syntax = "wsh"
43071d4279SBram Moolenaar
44071d4279SBram Moolenaarlet &cpo = s:wsh_cpo_save
45071d4279SBram Moolenaarunlet s:wsh_cpo_save
46