|
if (! this .sh_languages) {
this .sh_languages = {};
}
sh_languages[ 'flex' ] = [
[
[
/^%\{/g,
'sh_preproc' ,
1,
1
],
[
/^%[sx]/g,
'sh_preproc' ,
16,
1
],
[
/^%option/g,
'sh_preproc' ,
17,
1
],
[
/^%(?:array|pointer|[aceknopr])/g,
'sh_preproc' ,
-1
],
[
/[A-Za-z_][A-Za-z0-9_-]*/g,
'sh_preproc' ,
19,
1
],
[
/^%%/g,
'sh_preproc' ,
20,
1
]
],
[
[
/^%\}/g,
'sh_preproc' ,
-2
],
[
/(\b(?: class |struct|typename))([ \t]+)([A-Za-z0-9_]+)/g,
[ 'sh_keyword' , 'sh_normal' , 'sh_classname' ],
-1
],
[
/\b(?: class |const_cast| delete |dynamic_cast|explicit| false |friend|inline|mutable|namespace| new |operator| private | protected |public|reinterpret_cast|static_cast|template| this | throw | true | try |typeid|typename|using|virtual)\b/g,
'sh_keyword' ,
-1
],
[
/\/\/\
'sh_comment' ,
2
],
[
/\/\
'sh_comment' ,
8
],
[
/\/\*\*/g,
'sh_comment' ,
9
],
[
/\/\*/g,
'sh_comment' ,
10
],
[
/(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,
[ 'sh_keyword' , 'sh_normal' , 'sh_classname' ],
-1
],
[
/^[ \t]* #(?:[ \t]*include)/g,
'sh_preproc' ,
11,
1
],
[
/^[ \t]* #(?:[ \t]*[A-Za-z0-9_]*)/g,
'sh_preproc' ,
-1
],
[
/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,
'sh_number' ,
-1
],
[
/ "/g,
'sh_string',
14
],
[
/'/g,
'sh_string',
15
],
[
/\b(?:__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|break|case|catch|cdecl|const|continue|default|do|else|enum|extern|for|goto|if|pascal|register|return|sizeof|static|struct|switch|typedef|union|volatile|while)\b/g,
'sh_keyword',
-1
],
[
/\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,
'sh_type',
-1
],
[
/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
'sh_symbol',
-1
],
[
/\{|\}/g,
'sh_cbracket',
-1
],
[
/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,
'sh_function',
-1
],
[
/([A-Za-z](?:[^`~!@#$%&*()_=+{}|;:" ,<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;: ",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:" ,<.>\/?'\\[\]\^\-\[\]]+))/g,
[ 'sh_usertype' , 'sh_usertype' , 'sh_normal' ],
-1
]
],
[
[
/$/g,
null ,
-2
],
[
/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
'sh_url' ,
-1
],
[
/<\?xml/g,
'sh_preproc' ,
3,
1
],
[
/<!DOCTYPE/g,
'sh_preproc' ,
5,
1
],
[
/<!--/g,
'sh_comment' ,
6
],
[
/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
'sh_keyword' ,
-1
],
[
/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
'sh_keyword' ,
7,
1
],
[
/&(?:[A-Za-z0-9]+);/g,
'sh_preproc' ,
-1
],
[
/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,
'sh_keyword' ,
-1
],
[
/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,
'sh_keyword' ,
7,
1
],
[
/@[A-Za-z]+/g,
'sh_type' ,
-1
],
[
/(?:TODO|FIXME|BUG)(?:[:]?)/g,
'sh_todo' ,
-1
]
],
[
[
/\?>/g,
'sh_preproc' ,
-2
],
[
/([^= " \t>]+)([ \t]*)(=?)/g,
['sh_type', 'sh_normal', 'sh_symbol'],
-1
],
[
/" /g,
'sh_string' ,
4
]
],
[
[
/\\(?:\\| ")/g,
null,
-1
],
[
/" /g,
'sh_string' ,
-2
]
],
[
[
/>/g,
'sh_preproc' ,
-2
],
[
/([^= " \t>]+)([ \t]*)(=?)/g,
['sh_type', 'sh_normal', 'sh_symbol'],
-1
],
[
/" /g,
'sh_string' ,
4
]
],
[
[
/-->/g,
'sh_comment' ,
-2
],
[
/<!--/g,
'sh_comment' ,
6
]
],
[
[
/(?:\/)?>/g,
'sh_keyword' ,
-2
],
[
/([^= " \t>]+)([ \t]*)(=?)/g,
['sh_type', 'sh_normal', 'sh_symbol'],
-1
],
[
/" /g,
'sh_string' ,
4
]
],
[
[
/$/g,
null ,
-2
]
],
[
[
/\*\
'sh_comment' ,
-2
],
[
/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
'sh_url' ,
-1
],
[
/<\?xml/g,
'sh_preproc' ,
3,
1
],
[
/<!DOCTYPE/g,
'sh_preproc' ,
5,
1
],
[
/<!--/g,
'sh_comment' ,
6
],
[
/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
'sh_keyword' ,
-1
],
[
/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
'sh_keyword' ,
7,
1
],
[
/&(?:[A-Za-z0-9]+);/g,
'sh_preproc' ,
-1
],
[
/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,
'sh_keyword' ,
-1
],
[
/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,
'sh_keyword' ,
7,
1
],
[
/@[A-Za-z]+/g,
'sh_type' ,
-1
],
[
/(?:TODO|FIXME|BUG)(?:[:]?)/g,
'sh_todo' ,
-1
]
],
[
[
/\*\
'sh_comment' ,
-2
],
[
/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
'sh_url' ,
-1
],
[
/(?:TODO|FIXME|BUG)(?:[:]?)/g,
'sh_todo' ,
-1
]
],
[
[
/$/g,
null ,
-2
],
[
/</g,
'sh_string' ,
12
],
[
/ "/g,
'sh_string',
13
],
[
/\/\/\//g,
'sh_comment',
2
],
[
/\/\//g,
'sh_comment',
8
],
[
/\/\*\*/g,
'sh_comment',
9
],
[
/\/\*/g,
'sh_comment',
10
]
],
[
[
/$/g,
null,
-2
],
[
/>/g,
'sh_string',
-2
]
],
[
[
/$/g,
null,
-2
],
[
/\\(?:\\|" )/g,
null ,
-1
],
[
/ "/g,
'sh_string',
-2
]
],
[
[
/" /g,
'sh_string' ,
-2
],
[
/\\./g,
'sh_specialchar' ,
-1
]
],
[
[
/ '/g,
' sh_string ',
-2
],
[
/\\./g,
' sh_specialchar ',
-1
]
],
[
[
/$/g,
null,
-2
],
[
/[A-Za-z_][A-Za-z0-9_-]*/g,
' sh_function ',
-1
]
],
[
[
/$/g,
null,
-2
],
[
/[A-Za-z_][A-Za-z0-9_-]*/g,
' sh_keyword ',
-1
],
[
/"/g,
' sh_string ',
18
],
[
/=/g,
' sh_symbol ',
-1
]
],
[
[
/$/g,
null,
-2
],
[
/"/g,
' sh_string ',
-2
]
],
[
[
/$/g,
null,
-2
],
[
/\{[A-Za-z_][A-Za-z0-9_-]*\}/g,
' sh_type ',
-1
],
[
/"/g,
' sh_string ',
13
],
[
/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
' sh_symbol ',
-1
]
],
[
[
/^%%/g,
' sh_preproc ',
21,
1
],
[
/<[A-Za-z_][A-Za-z0-9_-]*>/g,
' sh_function ',
-1
],
[
/"/g,
' sh_string ',
13
],
[
/\\./g,
' sh_preproc ',
-1
],
[
/\{[A-Za-z_][A-Za-z0-9_-]*\}/g,
' sh_type ',
-1
],
[
/\/\*/g,
' sh_comment ',
22
],
[
/\{/g,
' sh_cbracket ',
23,
1
],
[
/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
' sh_symbol ',
-1
]
],
[
[
/(\b(?:class|struct|typename))([ \t]+)([A-Za-z0-9_]+)/g,
[' sh_keyword ', ' sh_normal ', ' sh_classname '],
-1
],
[
/\b(?:class|const_cast|delete|dynamic_cast|explicit|false|friend|inline|mutable|namespace|new|operator|private|protected|public|reinterpret_cast|static_cast|template|this|throw|true|try|typeid|typename|using|virtual)\b/g,
' sh_keyword ',
-1
],
[
/\/\/\//g,
' sh_comment ',
2
],
[
/\/\//g,
' sh_comment ',
8
],
[
/\/\*\*/g,
' sh_comment ',
9
],
[
/\/\*/g,
' sh_comment ',
10
],
[
/(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,
[' sh_keyword ', ' sh_normal ', ' sh_classname '],
-1
],
[
/^[ \t]*#(?:[ \t]*include)/g,
' sh_preproc ',
11,
1
],
[
/^[ \t]*#(?:[ \t]*[A-Za-z0-9_]*)/g,
' sh_preproc ',
-1
],
[
/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,
' sh_number ',
-1
],
[
/"/g,
' sh_string ',
14
],
[
/' /g,
'sh_string' ,
15
],
[
/\b(?:__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto| break | case | catch |cdecl|const| continue | default | do | else | enum |extern| for |goto| if |pascal|register| return |sizeof| static |struct| switch |typedef|union|volatile| while )\b/g,
'sh_keyword' ,
-1
],
[
/\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,
'sh_type' ,
-1
],
[
/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
'sh_symbol' ,
-1
],
[
/\{|\}/g,
'sh_cbracket' ,
-1
],
[
/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,
'sh_function' ,
-1
],
[
/([A-Za-z](?:[^`~!@ #$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\[\]]+))/g,
['sh_usertype ', ' sh_usertype ', ' sh_normal '],
-1
]
],
[
[
/\*\//g,
' sh_comment ',
-2
],
[
/\/\*/g,
' sh_comment ',
22
]
],
[
[
/\}/g,
' sh_cbracket ',
-2
],
[
/\{/g,
' sh_cbracket ',
23,
1
],
[
/\$./g,
' sh_variable ',
-1
],
[
/(\b(?:class|struct|typename))([ \t]+)([A-Za-z0-9_]+)/g,
[' sh_keyword ', ' sh_normal ', ' sh_classname '],
-1
],
[
/\b(?:class|const_cast|delete|dynamic_cast|explicit|false|friend|inline|mutable|namespace|new|operator|private|protected|public|reinterpret_cast|static_cast|template|this|throw|true|try|typeid|typename|using|virtual)\b/g,
' sh_keyword ',
-1
],
[
/\/\/\//g,
' sh_comment ',
2
],
[
/\/\//g,
' sh_comment ',
8
],
[
/\/\*\*/g,
' sh_comment ',
9
],
[
/\/\*/g,
' sh_comment ',
10
],
[
/(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,
[' sh_keyword ', ' sh_normal ', ' sh_classname '],
-1
],
[
/^[ \t]*#(?:[ \t]*include)/g,
' sh_preproc ',
11,
1
],
[
/^[ \t]*#(?:[ \t]*[A-Za-z0-9_]*)/g,
' sh_preproc ',
-1
],
[
/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,
' sh_number ',
-1
],
[
/"/g,
' sh_string ',
14
],
[
/' /g,
'sh_string' ,
15
],
[
/\b(?:__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto| break | case | catch |cdecl|const| continue | default | do | else | enum |extern| for |goto| if |pascal|register| return |sizeof| static |struct| switch |typedef|union|volatile| while )\b/g,
'sh_keyword' ,
-1
],
[
/\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,
'sh_type' ,
-1
],
[
/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
'sh_symbol' ,
-1
],
[
/\{|\}/g,
'sh_cbracket' ,
-1
],
[
/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,
'sh_function' ,
-1
],
[
/([A-Za-z](?:[^`~!@ #$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\[\]]+))/g,
['sh_usertype ', ' sh_usertype ', ' sh_normal'],
-1
]
]
];
|