1 if (! this.sh_languages) {
2 this.sh_languages = {};
27 /(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,
28 ['sh_keyword', 'sh_normal', 'sh_classname'],
32 /^[ \t]*#(?:[ \t]*include)/g,
38 /^[ \t]*#(?:[ \t]*[A-Za-z0-9_]*)/g,
43 /\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,
58 /\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,
63 /\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,
68 /~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
78 /(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,
83 /([A-Za-z](?:[^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\[\]]+))/g,
84 ['sh_usertype', 'sh_usertype', 'sh_normal'],
95 /(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
117 /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
122 /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
128 /&(?:[A-Za-z0-9]+);/g,
133 /<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,
138 /<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,
149 /(?:TODO|FIXME|BUG)(?:[:]?)/g,
161 /([^=" \t>]+)([ \t]*)(=?)/g,
162 ['sh_type', 'sh_normal', 'sh_symbol'],
190 /([^=" \t>]+)([ \t]*)(=?)/g,
191 ['sh_type', 'sh_normal', 'sh_symbol'],
219 /([^=" \t>]+)([ \t]*)(=?)/g,
220 ['sh_type', 'sh_normal', 'sh_symbol'],
243 /(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
265 /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
270 /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
276 /&(?:[A-Za-z0-9]+);/g,
281 /<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,
286 /<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,
297 /(?:TODO|FIXME|BUG)(?:[:]?)/g,
309 /(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,
314 /(?:TODO|FIXME|BUG)(?:[:]?)/g,