]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/highlight/languages/pygments/javascript.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / highlight / languages / pygments / javascript.js
diff --git a/static/dojo-release-1.1.1/dojox/highlight/languages/pygments/javascript.js b/static/dojo-release-1.1.1/dojox/highlight/languages/pygments/javascript.js
new file mode 100644 (file)
index 0000000..d6c0a6b
--- /dev/null
@@ -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
+                       }
+                       */
+               ]
+       };
+})();
+
+}