--- /dev/null
+
+if (! this.sh_languages) {
+ this.sh_languages = {};
+}
+sh_languages['javascript'] = [
+ [
+ [
+ /\/\/\//g,
+ 'sh_comment',
+ 1
+ ],
+ [
+ /\/\//g,
+ 'sh_comment',
+ 7
+ ],
+ [
+ /\/\*\*/g,
+ 'sh_comment',
+ 8
+ ],
+ [
+ /\/\*/g,
+ 'sh_comment',
+ 9
+ ],
+ [
+ /\b(?:abstract|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|final|finally|for|function|goto|if|implements|in|instanceof|interface|native|new|null|private|protected|prototype|public|return|static|super|switch|synchronized|throw|throws|this|transient|true|try|typeof|var|volatile|while|with)\b/g,
+ 'sh_keyword',
+ -1
+ ],
+ [
+ /(\+\+|--|\)|\])(\s*)(\/=?(?![*\/]))/g,
+ ['sh_symbol', 'sh_normal', 'sh_symbol'],
+ -1
+ ],
+ [
+ /(0x[A-Fa-f0-9]+|(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?)(\s*)(\/(?![*\/]))/g,
+ ['sh_number', 'sh_normal', 'sh_symbol'],
+ -1
+ ],
+ [
+ /([A-Za-z$_][A-Za-z0-9$_]*\s*)(\/=?(?![*\/]))/g,
+ ['sh_normal', 'sh_symbol'],
+ -1
+ ],
+ [
+ /\/(?:\\.|[^*\\\/])(?:\\.|[^\\\/])*\/[gim]*/g,
+ 'sh_regexp',
+ -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',
+ 10
+ ],
+ [
+ /'/g,
+ 'sh_string',
+ 11
+ ],
+ [
+ /~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
+ 'sh_symbol',
+ -1
+ ],
+ [
+ /\{|\}/g,
+ 'sh_cbracket',
+ -1
+ ],
+ [
+ /\b(?:Math|Infinity|NaN|undefined|arguments)\b/g,
+ 'sh_predef_var',
+ -1
+ ],
+ [
+ /\b(?:Array|Boolean|Date|Error|EvalError|Function|Number|Object|RangeError|ReferenceError|RegExp|String|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt)\b/g,
+ 'sh_predef_func',
+ -1
+ ],
+ [
+ /(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,
+ 'sh_function',
+ -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',
+ 2,
+ 1
+ ],
+ [
+ /<!DOCTYPE/g,
+ 'sh_preproc',
+ 4,
+ 1
+ ],
+ [
+ /<!--/g,
+ 'sh_comment',
+ 5
+ ],
+ [
+ /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
+ 'sh_keyword',
+ -1
+ ],
+ [
+ /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
+ 'sh_keyword',
+ 6,
+ 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',
+ 6,
+ 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',
+ 3
+ ]
+ ],
+ [
+ [
+ /\\(?:\\|")/g,
+ null,
+ -1
+ ],
+ [
+ /"/g,
+ 'sh_string',
+ -2
+ ]
+ ],
+ [
+ [
+ />/g,
+ 'sh_preproc',
+ -2
+ ],
+ [
+ /([^=" \t>]+)([ \t]*)(=?)/g,
+ ['sh_type', 'sh_normal', 'sh_symbol'],
+ -1
+ ],
+ [
+ /"/g,
+ 'sh_string',
+ 3
+ ]
+ ],
+ [
+ [
+ /-->/g,
+ 'sh_comment',
+ -2
+ ],
+ [
+ /<!--/g,
+ 'sh_comment',
+ 5
+ ]
+ ],
+ [
+ [
+ /(?:\/)?>/g,
+ 'sh_keyword',
+ -2
+ ],
+ [
+ /([^=" \t>]+)([ \t]*)(=?)/g,
+ ['sh_type', 'sh_normal', 'sh_symbol'],
+ -1
+ ],
+ [
+ /"/g,
+ 'sh_string',
+ 3
+ ]
+ ],
+ [
+ [
+ /$/g,
+ null,
+ -2
+ ]
+ ],
+ [
+ [
+ /\*\//g,
+ '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',
+ 2,
+ 1
+ ],
+ [
+ /<!DOCTYPE/g,
+ 'sh_preproc',
+ 4,
+ 1
+ ],
+ [
+ /<!--/g,
+ 'sh_comment',
+ 5
+ ],
+ [
+ /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,
+ 'sh_keyword',
+ -1
+ ],
+ [
+ /<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,
+ 'sh_keyword',
+ 6,
+ 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',
+ 6,
+ 1
+ ],
+ [
+ /@[A-Za-z]+/g,
+ 'sh_type',
+ -1
+ ],
+ [
+ /(?:TODO|FIXME|BUG)(?:[:]?)/g,
+ 'sh_todo',
+ -1
+ ]
+ ],
+ [
+ [
+ /\*\//g,
+ '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,
+ 'sh_string',
+ -2
+ ],
+ [
+ /\\./g,
+ 'sh_specialchar',
+ -1
+ ]
+ ],
+ [
+ [
+ /'/g,
+ 'sh_string',
+ -2
+ ],
+ [
+ /\\./g,
+ 'sh_specialchar',
+ -1
+ ]
+ ]
+];