aboutsummaryrefslogtreecommitdiff
path: root/includes/js/dojox/highlight/languages/pygments/javascript.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/highlight/languages/pygments/javascript.js')
-rw-r--r--includes/js/dojox/highlight/languages/pygments/javascript.js152
1 files changed, 152 insertions, 0 deletions
diff --git a/includes/js/dojox/highlight/languages/pygments/javascript.js b/includes/js/dojox/highlight/languages/pygments/javascript.js
new file mode 100644
index 0000000..d6c0a6b
--- /dev/null
+++ b/includes/js/dojox/highlight/languages/pygments/javascript.js
@@ -0,0 +1,152 @@
+if(!dojo._hasResource["dojox.highlight.languages.pygments.javascript"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.highlight.languages.pygments.javascript"] = true;
+dojo.provide("dojox.highlight.languages.pygments.javascript");
+
+dojo.require("dojox.highlight._base");
+
+(function(){
+ var dh = dojox.highlight, dhc = dh.constants;
+ dh.languages.javascript = {
+ defaultMode: {
+ lexems: ["\\b[a-zA-Z]+"],
+ keywords: {
+ "keyword": {
+ "for": 1, "in": 1, "while": 1, "do": 1, "break": 1, "return": 1,
+ "continue": 1, "if": 1, "else": 1, "throw": 1, "try": 1,
+ "catch": 1, "var": 1, "with": 1, "const": 1, "label": 1,
+ "function": 1, "new": 1, "typeof": 1, "instanceof": 1
+ },
+ "keyword constant": {
+ "true": 1, "false": 1, "null": 1, "NaN": 1, "Infinity": 1, "undefined": 1
+ },
+ "name builtin": {
+ "Array": 1, "Boolean": 1, "Date": 1, "Error": 1, "Function": 1, "Math": 1,
+ "netscape": 1, "Number": 1, "Object": 1, "Packages": 1, "RegExp": 1,
+ "String": 1, "sun": 1, "decodeURI": 1, "decodeURIComponent": 1,
+ "encodeURI": 1, "encodeURIComponent": 1, "Error": 1, "eval": 1,
+ "isFinite": 1, "isNaN": 1, "parseFloat": 1, "parseInt": 1, "document": 1,
+ "window": 1
+ },
+ "name builtin pseudo": {
+ "this": 1
+ }
+ },
+ contains: [
+ "comment single", "comment multiline",
+ "number integer", "number oct", "number hex", "number float",
+ "string single", "string double", "string regex",
+ "operator",
+ "punctuation",
+ //"name variable",
+ "_function"
+ ]
+ },
+ modes: [
+ // comments
+ {
+ className: "comment single",
+ begin: "//", end: "$",
+ relevance: 0
+ },
+ {
+ className: "comment multiline",
+ begin: "/\\*", end: "\\*/"
+ },
+
+ // numbers
+ {
+ className: "number integer",
+ begin: "0|([1-9][0-9]*)", end: "^",
+ relevance: 0
+ },
+ {
+ className: "number oct",
+ begin: "0[0-9]+", end: "^",
+ relevance: 0
+ },
+ {
+ className: "number hex",
+ begin: "0x[0-9a-fA-F]+", end: "^",
+ relevance: 0
+ },
+ {
+ className: "number float",
+ begin: "([1-9][0-9]*\\.[0-9]*([eE][\\+-]?[0-9]+)?)|(\\.[0-9]+([eE][\\+-]?[0-9]+)?)|([0-9]+[eE][\\+-]?[0-9]+)", end: "^",
+ relevance: 0
+ },
+
+ // strings
+ {
+ className: "string single",
+ begin: "'", end: "'",
+ illegal: "\\n",
+ contains: ["string escape"],
+ relevance: 0
+ },
+ {
+ className: "string double",
+ begin: '"',
+ end: '"',
+ illegal: "\\n",
+ contains: ["string escape"],
+ relevance: 0
+ },
+ {
+ className: "string escape",
+ begin: "\\\\.", end: "^",
+ relevance: 0
+ },
+ {
+ className: "string regex",
+ begin: "/.*?[^\\\\/]/[gim]*", end: "^"
+ },
+
+ // operators
+ {
+ className: "operator",
+ begin: "\\|\\||&&|\\+\\+|--|-=|\\+=|/=|\\*=|==|[-\\+\\*/=\\?:~\\^]", end: "^",
+ relevance: 0
+ },
+
+ // punctuations
+ {
+ className: "punctuation",
+ begin: "[{}\\(\\)\\[\\]\\.;]", end: "^",
+ relevance: 0
+ },
+
+ // functions
+ {
+ className: "_function",
+ begin: "function\\b", end: "{",
+ lexems: [dhc.UNDERSCORE_IDENT_RE],
+ keywords: {
+ keyword: {
+ "function": 1
+ }
+ },
+ contains: ["name function", "_params"],
+ relevance: 5
+ },
+ {
+ className: "name function",
+ begin: dhc.UNDERSCORE_IDENT_RE, end: '^'
+ },
+ {
+ className: "_params",
+ begin: "\\(", end: "\\)",
+ contains: ["comment single", "comment multiline"]
+ }
+ /*
+ // names
+ {
+ className: "name variable",
+ begin: "\\b[$a-zA-Z_][$a-zA-Z0-9_]*", end: "^",
+ relevance: 0
+ }
+ */
+ ]
+ };
+})();
+
+}