diff --git a/demo/editor.html b/demo/editor.html index ec291729..8a0212bd 100644 --- a/demo/editor.html +++ b/demo/editor.html @@ -78,6 +78,9 @@ diff --git a/src/ace/layer/Text.js b/src/ace/layer/Text.js index a1252f81..1a966776 100644 --- a/src/ace/layer/Text.js +++ b/src/ace/layer/Text.js @@ -244,7 +244,8 @@ var Text = function(parentEl) { .replace(/\t/g, this.$tabString); if (!this.$textToken[token.type]) { - stringBuilder.push("", output, ""); + var classes = "ace_" + token.type.replace(".", " ace_"); + stringBuilder.push("", output, ""); } else { stringBuilder.push(output); diff --git a/src/ace/mode/CssHighlightRules.js b/src/ace/mode/CssHighlightRules.js index a0a99f85..39f053a0 100644 --- a/src/ace/mode/CssHighlightRules.js +++ b/src/ace/mode/CssHighlightRules.js @@ -165,13 +165,13 @@ var CssHighlightRules = function() { }, { token : function(value) { if (properties[value.toLowerCase()]) { - return "buildin-constant"; + return "constant.language"; } else if (functions[value.toLowerCase()]) { - return "buildin-function"; + return "function.language"; } else if (constants[value.toLowerCase()]) { - return "library-constant"; + return "constant.library"; } else { return "identifier"; diff --git a/src/ace/mode/DocCommentHighlightRules.js b/src/ace/mode/DocCommentHighlightRules.js index 9cf7ce05..8199e3bb 100644 --- a/src/ace/mode/DocCommentHighlightRules.js +++ b/src/ace/mode/DocCommentHighlightRules.js @@ -15,20 +15,20 @@ var DocCommentHighlightRules = function() { this.$rules = { "start" : [ { - token : "doc-comment", // closing comment + token : "comment.doc", // closing comment regex : "\\*\\/", next : "start" }, { - token : "doc-comment-tag", + token : "comment.doc.tag", regex : "@[\\w\\d_]+" }, { - token : "doc-comment", + token : "comment.doc", regex : "\s+" }, { - token : "doc-comment", + token : "comment.doc", regex : "[^@\\*]+" }, { - token : "doc-comment", + token : "comment.doc", regex : "." }] }; diff --git a/src/ace/mode/JavaScriptHighlightRules.js b/src/ace/mode/JavaScriptHighlightRules.js index fd3ebab6..f3e3659a 100644 --- a/src/ace/mode/JavaScriptHighlightRules.js +++ b/src/ace/mode/JavaScriptHighlightRules.js @@ -60,21 +60,23 @@ JavaScriptHighlightRules = function() { regex : "['].*\\\\$", next : "qstring" }, { - token : "number", // hex + token : "constant.numeric", // hex regex : "0[xX][0-9a-fA-F]+\\b" }, { - token : "number", // float + token : "constant.numeric", // float regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" }, { token : function(value) { if (value == "this") - return "variable"; + return "variable.language"; else if (keywords[value]) return "keyword"; else if (buildinConstants[value]) - return "buildin-constant"; - else if (futureReserved[value] || value == "debugger") - return "invalid"; + return "constant.language"; + else if (futureReserved[value]) + return "invalid.illegal"; + else if (value == "debugger") + return "invalid.deprecated"; else return "identifier"; }, @@ -82,7 +84,7 @@ JavaScriptHighlightRules = function() { // TODO: Unicode identifiers regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" }, { - token : "operator", + token : "keyword.operator", regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(in|instanceof|new|delete|typeof|void)" }, { token : "lparen", diff --git a/src/ace/theme/Dawn.js b/src/ace/theme/Dawn.js new file mode 100644 index 00000000..d1167a67 --- /dev/null +++ b/src/ace/theme/Dawn.js @@ -0,0 +1,161 @@ +require.def("ace/theme/Dawn", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-dawn .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-dawn .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-dawn .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + font-family: \"Menlo\", \"Monaco\", \"Courier New\", monospace;\ + font-size: 11px;\ + overflow : hidden;\ +}\ +\ +.ace-dawn .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-dawn .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-dawn .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-dawn .ace_scroller {\ + background-color: #F9F9F9;\ +}\ +\ +.ace-dawn .ace_text-layer {\ + cursor: text;\ + color: #080808;\ + font-family: \"Menlo\", \"Monaco\", \"Courier New\", \"Courier\", monospace;\ + font-size: 11px;\ +}\ +\ +.ace-dawn .ace_cursor {\ + border-left: 2px solid #000000;\ +}\ +\ +.ace-dawn .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #000000;\ +}\ + \ +.ace-dawn .ace_marker-layer .ace_selection {\ + background: rgba(39, 95, 255, 0.30);\ +}\ +\ +.ace-dawn .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-dawn .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid rgba(75, 75, 126, 0.50);\ +}\ +\ +.ace-dawn .ace_marker-layer .ace_active_line {\ + background: rgba(36, 99, 180, 0.12);\ +}\ +\ + \ +.ace-dawn .ace_invisible {\ + color: rgba(75, 75, 126, 0.50);\ +}\ +\ +.ace-dawn .ace_keyword {\ + color:#794938;\ +}\ +\ +.ace-dawn .ace_keyword.ace_operator {\ + \ +}\ +\ +.ace-dawn .ace_constant {\ + color:#811F24;\ +}\ +\ +.ace-dawn .ace_constant.ace_language {\ + \ +}\ +\ +.ace-dawn .ace_constant.ace_library {\ + \ +}\ +\ +.ace-dawn .ace_constant.ace_numeric {\ + \ +}\ +\ +.ace-dawn .ace_invalid {\ + \ +}\ +\ +.ace-dawn .ace_invalid.ace_illegal {\ + text-decoration:underline;\ +font-style:italic;\ +color:#F8F8F8;\ +background-color:#B52A1D;\ +}\ +\ +.ace-dawn .ace_invalid.ace_deprecated {\ + text-decoration:underline;\ +font-style:italic;\ +color:#B52A1D;\ +}\ +\ +.ace-dawn .ace_function {\ + \ +}\ +\ +.ace-dawn .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-dawn .ace_string {\ + color:#0B6125;\ +}\ +\ +.ace-dawn .ace_comment {\ + font-style:italic;\ +color:#5A525F;\ +}\ +\ +.ace-dawn .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-dawn .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-dawn .ace_variable {\ + color:#234A97;\ +}\ +\ +.ace-dawn .ace_variable.ace_language {\ + \ +}\ +\ +.ace-dawn .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-dawn" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/IdleFingers.js b/src/ace/theme/IdleFingers.js new file mode 100644 index 00000000..a530fe8d --- /dev/null +++ b/src/ace/theme/IdleFingers.js @@ -0,0 +1,157 @@ +require.def("ace/theme/IdleFingers", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-idle-fingers .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-idle-fingers .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-idle-fingers .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + font-family: \"Menlo\", \"Monaco\", \"Courier New\", monospace;\ + font-size: 11px;\ + overflow : hidden;\ +}\ +\ +.ace-idle-fingers .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-idle-fingers .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-idle-fingers .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-idle-fingers .ace_scroller {\ + background-color: #323232;\ +}\ +\ +.ace-idle-fingers .ace_text-layer {\ + cursor: text;\ + color: #FFFFFF;\ + font-family: \"Menlo\", \"Monaco\", \"Courier New\", \"Courier\", monospace;\ + font-size: 11px;\ +}\ +\ +.ace-idle-fingers .ace_cursor {\ + border-left: 2px solid #91FF00;\ +}\ +\ +.ace-idle-fingers .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #91FF00;\ +}\ + \ +.ace-idle-fingers .ace_marker-layer .ace_selection {\ + background: rgba(90, 100, 126, 0.88);\ +}\ +\ +.ace-idle-fingers .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-idle-fingers .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid #404040;\ +}\ +\ +.ace-idle-fingers .ace_marker-layer .ace_active_line {\ + background: #353637;\ +}\ +\ + \ +.ace-idle-fingers .ace_invisible {\ + color: #404040;\ +}\ +\ +.ace-idle-fingers .ace_keyword {\ + color:#CC7833;\ +}\ +\ +.ace-idle-fingers .ace_keyword.ace_operator {\ + \ +}\ +\ +.ace-idle-fingers .ace_constant {\ + color:#6C99BB;\ +}\ +\ +.ace-idle-fingers .ace_constant.ace_language {\ + \ +}\ +\ +.ace-idle-fingers .ace_constant.ace_library {\ + \ +}\ +\ +.ace-idle-fingers .ace_constant.ace_numeric {\ + \ +}\ +\ +.ace-idle-fingers .ace_invalid {\ + color:#FFFFFF;\ +background-color:#FF0000;\ +}\ +\ +.ace-idle-fingers .ace_invalid.ace_illegal {\ + \ +}\ +\ +.ace-idle-fingers .ace_invalid.ace_deprecated {\ + \ +}\ +\ +.ace-idle-fingers .ace_function {\ + \ +}\ +\ +.ace-idle-fingers .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-idle-fingers .ace_string {\ + color:#A5C261;\ +}\ +\ +.ace-idle-fingers .ace_comment {\ + font-style:italic;\ +color:#BC9458;\ +}\ +\ +.ace-idle-fingers .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-idle-fingers .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-idle-fingers .ace_variable {\ + \ +}\ +\ +.ace-idle-fingers .ace_variable.ace_language {\ + \ +}\ +\ +.ace-idle-fingers .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-idle-fingers" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/Twilight.js b/src/ace/theme/Twilight.js new file mode 100644 index 00000000..05a94a13 --- /dev/null +++ b/src/ace/theme/Twilight.js @@ -0,0 +1,159 @@ +require.def("ace/theme/Twilight", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-twilight .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-twilight .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-twilight .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + font-family: \"Menlo\", \"Monaco\", \"Courier New\", monospace;\ + font-size: 11px;\ + overflow : hidden;\ +}\ +\ +.ace-twilight .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-twilight .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-twilight .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-twilight .ace_scroller {\ + background-color: #141414;\ +}\ +\ +.ace-twilight .ace_text-layer {\ + cursor: text;\ + color: #F8F8F8;\ + font-family: \"Menlo\", \"Monaco\", \"Courier New\", \"Courier\", monospace;\ + font-size: 11px;\ +}\ +\ +.ace-twilight .ace_cursor {\ + border-left: 2px solid #A7A7A7;\ +}\ +\ +.ace-twilight .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #A7A7A7;\ +}\ + \ +.ace-twilight .ace_marker-layer .ace_selection {\ + background: rgba(221, 240, 255, 0.20);\ +}\ +\ +.ace-twilight .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-twilight .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid rgba(255, 255, 255, 0.25);\ +}\ +\ +.ace-twilight .ace_marker-layer .ace_active_line {\ + background: rgba(255, 255, 255, 0.031);\ +}\ +\ + \ +.ace-twilight .ace_invisible {\ + color: rgba(255, 255, 255, 0.25);\ +}\ +\ +.ace-twilight .ace_keyword {\ + color:#CDA869;\ +}\ +\ +.ace-twilight .ace_keyword.ace_operator {\ + \ +}\ +\ +.ace-twilight .ace_constant {\ + color:#CF6A4C;\ +}\ +\ +.ace-twilight .ace_constant.ace_language {\ + \ +}\ +\ +.ace-twilight .ace_constant.ace_library {\ + \ +}\ +\ +.ace-twilight .ace_constant.ace_numeric {\ + \ +}\ +\ +.ace-twilight .ace_invalid {\ + \ +}\ +\ +.ace-twilight .ace_invalid.ace_illegal {\ + color:#F8F8F8;\ +background-color:rgba(86, 45, 86, 0.75);\ +}\ +\ +.ace-twilight .ace_invalid.ace_deprecated {\ + text-decoration:underline;\ +font-style:italic;\ +color:#D2A8A1;\ +}\ +\ +.ace-twilight .ace_function {\ + \ +}\ +\ +.ace-twilight .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-twilight .ace_string {\ + color:#8F9D6A;\ +}\ +\ +.ace-twilight .ace_comment {\ + font-style:italic;\ +color:#5F5A60;\ +}\ +\ +.ace-twilight .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-twilight .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-twilight .ace_variable {\ + color:#7587A6;\ +}\ +\ +.ace-twilight .ace_variable.ace_language {\ + \ +}\ +\ +.ace-twilight .ace_xml_pe {\ + color:#494949;\ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-twilight" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/eclipse.css b/src/ace/theme/eclipse.css index 0adf9da8..0afba302 100644 --- a/src/ace/theme/eclipse.css +++ b/src/ace/theme/eclipse.css @@ -3,7 +3,7 @@ } .ace-eclipse .ace_editor.ace_focus { - border: 2px solid #327fbd;; + border: 2px solid #327fbd; } .ace-eclipse .ace_gutter { @@ -34,15 +34,15 @@ color: rgb(127, 0, 85); } -.ace-eclipse .ace_line .ace_buildin-constant { +.ace-eclipse .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246); } -.ace-eclipse .ace_line .ace_library-constant { +.ace-eclipse .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14); } -.ace-eclipse .ace_line .ace_buildin-function { +.ace-eclipse .ace_line .ace_function { color: rgb(60, 76, 114); } @@ -54,30 +54,21 @@ color: rgb(63, 127, 95); } -.ace-eclipse .ace_line .ace_doc-comment { +.ace-eclipse .ace_line .ace_comment.ace_doc { color: rgb(63, 95, 191); } -.ace-eclipse .ace_line .ace_doc-comment-tag { +.ace-eclipse .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(127, 159, 191); } -.ace-eclipse .ace_line .ace_number { +.ace-eclipse .ace_line .ace_constant.ace_numeric { } .ace-eclipse .ace_line .ace_tag { color: rgb(63, 127, 127); } -.ace-eclipse .ace_line .ace_attribute { - color: rbg(127, 0, 127); -} - -.ace-eclipse .ace_line .ace_attribute-value { - font-style: italic; - color: rbg(42, 0, 255); -} - .ace-eclipse .ace_line .ace_xml_pe { color: rgb(104, 104, 91); } diff --git a/src/ace/theme/tm.css b/src/ace/theme/tm.css index bdc61e7e..0310bcf1 100644 --- a/src/ace/theme/tm.css +++ b/src/ace/theme/tm.css @@ -1,7 +1,5 @@ .ace-tm .ace_editor { border: 2px solid rgb(159, 159, 159); - font-family: "Menlo", "Monaco", "Courier New", "Courier", monospace; - font-size: 11px; } .ace-tm .ace_editor.ace_focus { @@ -33,6 +31,8 @@ .ace-tm .ace_text-layer { cursor: text; + font-family: "Menlo", "Monaco", "Courier New", "Courier", monospace; + font-size: 11px; } .ace-tm .ace_cursor { @@ -52,11 +52,11 @@ color: blue; } -.ace-tm .ace_line .ace_buildin-constant { +.ace-tm .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246); } -.ace-tm .ace_line .ace_library-constant { +.ace-tm .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14); } @@ -65,11 +65,11 @@ color: white; } -.ace-tm .ace_line .ace_buildin-function { +.ace-tm .ace_line .ace_function { color: rgb(60, 76, 114); } -.ace-tm .ace_line .ace_operator { +.ace-tm .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135); } @@ -81,15 +81,15 @@ color: rgb(76, 136, 107); } -.ace-tm .ace_line .ace_doc-comment { +.ace-tm .ace_line .ace_comment.ace_doc { color: rgb(0, 102, 255); } -.ace-tm .ace_line .ace_doc-comment-tag { +.ace-tm .ace_line .ace_comment.ace_doc.ace_tag { color: rgb(128, 159, 191); } -.ace-tm .ace_line .ace_number { +.ace-tm .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205); } diff --git a/tool/Theme.tmpl.css b/tool/Theme.tmpl.css new file mode 100644 index 00000000..8a32f152 --- /dev/null +++ b/tool/Theme.tmpl.css @@ -0,0 +1,144 @@ +.%cssClass% .ace_editor { + border: 2px solid rgb(159, 159, 159); +} + +.%cssClass% .ace_editor.ace_focus { + border: 2px solid #327fbd; +} + +.%cssClass% .ace_gutter { + width: 50px; + background: #e8e8e8; + color: #333; + font-family: "Menlo", "Monaco", "Courier New", monospace; + font-size: 11px; + overflow : hidden; +} + +.%cssClass% .ace_gutter-layer { + right: 0px; + text-align: right; +} + +.%cssClass% .ace_gutter-layer .ace_gutter-cell { + padding-right: 15px; +} + +.%cssClass% .ace_editor .ace_printMargin { + width: 1px; + background: %printMargin%; +} + +.%cssClass% .ace_scroller { + background-color: %background%; +} + +.%cssClass% .ace_text-layer { + cursor: text; + color: %foreground%; + font-family: "Menlo", "Monaco", "Courier New", "Courier", monospace; + font-size: 11px; +} + +.%cssClass% .ace_cursor { + border-left: 2px solid %cursor%; +} + +.%cssClass% .ace_cursor.ace_overwrite { + border-left: 0px; + border-bottom: 1px solid %overwrite%; +} + +.%cssClass% .ace_marker-layer .ace_selection { + background: %selection%; +} + +.%cssClass% .ace_marker-layer .ace_step { + background: %step%; +} + +.%cssClass% .ace_marker-layer .ace_bracket { + margin: -1px 0 0 -1px; + border: 1px solid %bracket%; +} + +.%cssClass% .ace_marker-layer .ace_active_line { + background: %active_line%; +} + + +.%cssClass% .ace_invisible { + %invisible% +} + +.%cssClass% .ace_keyword { + %keyword% +} + +.%cssClass% .ace_keyword.ace_operator { + %keyword.operator% +} + +.%cssClass% .ace_constant { + %constant% +} + +.%cssClass% .ace_constant.ace_language { + %constant.language% +} + +.%cssClass% .ace_constant.ace_library { + %constant.library% +} + +.%cssClass% .ace_constant.ace_numeric { + %constant.numeric% +} + +.%cssClass% .ace_invalid { + %invalid% +} + +.%cssClass% .ace_invalid.ace_illegal { + %invalid.illegal% +} + +.%cssClass% .ace_invalid.ace_deprecated { + %invalid.deprecated% +} + +.%cssClass% .ace_function { + %function% +} + +.%cssClass% .ace_function.ace_buildin { + %function.buildin% +} + +.%cssClass% .ace_string { + %string% +} + +.%cssClass% .ace_comment { + %comment% +} + +.%cssClass% .ace_comment.ace_doc { + %comment.doc% +} + +.%cssClass% .ace_comment.ace_doc.ace_tag { + %comment.doc.tag% +} + +.%cssClass% .ace_variable { + %variable% +} + +.%cssClass% .ace_variable.ace_language { + %variable.language% +} + +.%cssClass% .ace_xml_pe { + %xml_pe% +} \ No newline at end of file diff --git a/tool/theme.tmpl.js b/tool/theme.tmpl.js new file mode 100644 index 00000000..90cdf6eb --- /dev/null +++ b/tool/theme.tmpl.js @@ -0,0 +1,12 @@ +require.def("ace/theme/%name%", + ["ace/lib/dom"], function(dom) { + + var cssText = %css%; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "%cssClass%" + }; +}) \ No newline at end of file diff --git a/tool/tmtheme.js b/tool/tmtheme.js new file mode 100644 index 00000000..0540a376 --- /dev/null +++ b/tool/tmtheme.js @@ -0,0 +1,184 @@ +var xml = require("./support/node-o3-xml/lib/o3-xml"); +var fs = require("fs"); + +function plistToJson(el) { + if (el.tagName != "plist") + throw new Error("not a plist!"); + + return $plistParse(el.selectSingleNode("dict")); +}; + +function $plistParse(el) { + if (el.tagName == "dict") { + var dict = {}; + var key; + var childNodes = el.childNodes; + for (var i=0, l=childNodes.length; i + + + + author + David Powers + comment + Dawn + name + Dawn + settings + + + settings + + background + #F9F9F9 + caret + #000000 + foreground + #080808 + invisibles + #4B4B7E80 + lineHighlight + #2463B41F + selection + #275FFF4D + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #5A525F + + + + name + Constant + scope + constant + settings + + fontStyle + bold + foreground + #811F24 + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #BF4F24 + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #794938 + + + + name + Storage + scope + storage + settings + + fontStyle + italic + foreground + #A71D5D + + + + name + String + scope + string | punctuation.definition.string + settings + + fontStyle + + foreground + #0B6125 + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #691C97 + + + + name + Variable + scope + variable + settings + + fontStyle + + foreground + #234A97 + + + + name + Punctuation.separator + scope + punctuation.separator + settings + + foreground + #794938 + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + bold italic underline + foreground + #B52A1D + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #B52A1D + fontStyle + italic underline + foreground + #F8F8F8 + + + + name + String embedded-source + scope + string source + settings + + background + #6F8BBA26 + fontStyle + + foreground + #080808 + + + + name + String constant + scope + string constant + settings + + fontStyle + bold + foreground + #696969 + + + + name + String variable + scope + string variable + settings + + fontStyle + + foreground + #234A97 + + + + name + String.regexp + scope + string.regexp + settings + + fontStyle + + foreground + #CF5628 + + + + name + String.regexp.«special» + scope + string.regexp.character-class, string.regexp constant.character.escaped, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + fontStyle + bold italic + foreground + #CF5628 + + + + name + String.regexp constant.character.escape + scope + string.regexp constant.character.escape + settings + + fontStyle + bold + foreground + #811F24 + + + + name + Embedded Source + scope + text source + settings + + background + #6F8BBA26 + + + + name + Support.function + scope + support.function + settings + + fontStyle + + foreground + #693A17 + + + + name + Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #B4371F + + + + name + Support.variable + scope + support.variable + settings + + foreground + #234A97 + + + + name + Markup.list + scope + markup.list + settings + + foreground + #693A17 + + + + name + Markup.heading + scope + markup.heading | markup.heading entity.name + settings + + fontStyle + bold + foreground + #19356D + + + + name + Markup.quote + scope + markup.quote + settings + + background + #BBBBBB30 + fontStyle + italic + foreground + #0B6125 + + + + name + Markup.italic + scope + markup.italic + settings + + fontStyle + italic + foreground + #080808 + + + + name + Markup.bold + scope + markup.bold + settings + + fontStyle + bold + foreground + #080808 + + + + name + Markup.underline + scope + markup.underline + settings + + fontStyle + underline + foreground + #080808 + + + + name + Markup.link + scope + markup.link + settings + + fontStyle + italic underline + foreground + #234A97 + + + + name + Markup.raw + scope + markup.raw + settings + + background + #BBBBBB30 + fontStyle + + foreground + #234A97 + + + + name + Markup.deleted + scope + markup.deleted + settings + + foreground + #59140E + + + + name + Meta.separator + scope + meta.separator + settings + + background + #DCDCDC + fontStyle + bold + foreground + #19356D + + + + uuid + E7E82498-F9EA-49A6-A0D8-12327EA46B01 + + diff --git a/tool/tmthemes/Twilight.tmTheme b/tool/tmthemes/Twilight.tmTheme new file mode 100644 index 00000000..a83f7ecb --- /dev/null +++ b/tool/tmthemes/Twilight.tmTheme @@ -0,0 +1,514 @@ + + + + + author + Michael Sheets + name + Twilight + settings + + + settings + + background + #141414 + caret + #A7A7A7 + foreground + #F8F8F8 + invisibles + #FFFFFF40 + lineHighlight + #FFFFFF08 + selection + #DDF0FF33 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #5F5A60 + + + + name + Constant + scope + constant + settings + + foreground + #CF6A4C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #9B703F + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #CDA869 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #F9EE98 + + + + name + String + scope + string + settings + + fontStyle + + foreground + #8F9D6A + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #9B859D + + + + name + Variable + scope + variable + settings + + foreground + #7587A6 + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic underline + foreground + #D2A8A1 + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #F8F8F8 + + + + name + ----------------------------------- + settings + + + + name + ♦ Embedded Source + scope + text source + settings + + background + #B0B3BA14 + + + + name + ♦ Embedded Source (Bright) + scope + text.html.ruby source + settings + + background + #B1B3BA21 + + + + name + ♦ Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #9B5C2E + + + + name + ♦ String embedded-source + scope + string source + settings + + fontStyle + + foreground + #DAEFA3 + + + + name + ♦ String constant + scope + string constant + settings + + foreground + #DDF2A4 + + + + name + ♦ String.regexp + scope + string.regexp + settings + + fontStyle + + foreground + #E9C062 + + + + name + ♦ String.regexp.«special» + scope + string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + foreground + #CF7D34 + + + + name + ♦ String variable + scope + string variable + settings + + foreground + #8A9A95 + + + + name + ♦ Support.function + scope + support.function + settings + + fontStyle + + foreground + #DAD085 + + + + name + ♦ Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #CF6A4C + + + + name + c C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + c C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + foreground + #AFC4DB + + + + name + ✘ Doctype/XML Processing + scope + meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.sgml.doctype string, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string + settings + + foreground + #494949 + + + + name + ✘ Meta.tag.«all» + scope + declaration.tag, declaration.tag entity, meta.tag, meta.tag entity + settings + + foreground + #AC885B + + + + name + ✘ Meta.tag.inline + scope + declaration.tag.inline, declaration.tag.inline entity, source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity + settings + + foreground + #E0C589 + + + + name + § css tag-name + scope + meta.selector.css entity.name.tag + settings + + foreground + #CDA869 + + + + name + § css:pseudo-class + scope + meta.selector.css entity.other.attribute-name.tag.pseudo-class + settings + + foreground + #8F9D6A + + + + name + § css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + foreground + #8B98AB + + + + name + § css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + foreground + #9B703F + + + + name + § css property-name: + scope + support.type.property-name.css + settings + + foreground + #C5AF75 + + + + name + § css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + foreground + #F9EE98 + + + + name + § css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #8693A5 + + + + name + § css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + foreground + #CA7840 + + + + name + § css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #8F9D6A + + + + name + ⎇ diff.header + scope + meta.diff, meta.diff.header, meta.separator + settings + + background + #0E2231 + fontStyle + italic + foreground + #F8F8F8 + + + + name + ⎇ diff.deleted + scope + markup.deleted + settings + + background + #420E09 + foreground + #F8F8F8 + + + + name + ⎇ diff.changed + scope + markup.changed + settings + + background + #4A410D + foreground + #F8F8F8 + + + + name + ⎇ diff.inserted + scope + markup.inserted + settings + + background + #253B22 + foreground + #F8F8F8 + + + + name + Markup: List + scope + markup.list + settings + + foreground + #F9EE98 + + + + name + Markup: Heading + scope + markup.heading + settings + + foreground + #CF6A4C + + + + uuid + 766026CB-703D-4610-B070-8DE07D967C5F + + diff --git a/tool/tmthemes/idleFingers.tmTheme b/tool/tmthemes/idleFingers.tmTheme new file mode 100644 index 00000000..51666df3 --- /dev/null +++ b/tool/tmthemes/idleFingers.tmTheme @@ -0,0 +1,380 @@ + + + + + name + idleFingers + settings + + + settings + + background + #323232 + caret + #91FF00 + foreground + #FFFFFF + invisibles + #404040 + lineHighlight + #353637 + selection + #5A647EE0 + + + + name + text + scope + text + settings + + foreground + #FFFFFF + + + + name + Source base + scope + source + settings + + background + #282828 + foreground + #CDCDCD + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #BC9458 + + + + name + Html Tags + scope + meta.tag, declaration.tag, meta.doctype + settings + + foreground + #FFE5BB + + + + name + Function Name + scope + entity.name + settings + + foreground + #FFC66D + + + + name + Ruby Function Name + scope + source.ruby entity.name + settings + + foreground + #FFF980 + + + + name + Other Variable + scope + variable.other + settings + + foreground + #B7DFF8 + + + + name + Ruby Class Name + scope + support.class.ruby + settings + + foreground + #CCCC33 + + + + name + Constant + scope + constant, support.constant + settings + + foreground + #6C99BB + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #CC7833 + + + + name + Pre-processor Line + scope + other.preprocessor.c + settings + + fontStyle + + foreground + #D0D0FF + + + + name + Pre-processor Directive + scope + entity.name.preprocessor + settings + + fontStyle + + + + + name + Function name + scope + entity.name.function + settings + + fontStyle + + + + + name + Function argument + scope + variable.parameter + settings + + fontStyle + italic + + + + name + Block comment + scope + source comment.block + settings + + background + #575757 + foreground + #FFFFFF + + + + name + String + scope + string + settings + + foreground + #A5C261 + + + + name + String escapes + scope + string constant.character.escape + settings + + foreground + #AAAAAA + + + + name + String (executed) + scope + string.interpolated + settings + + background + #CCCC33 + foreground + #000000 + + + + name + Regular expression + scope + string.regexp + settings + + foreground + #CCCC33 + + + + name + String (literal) + scope + string.literal + settings + + foreground + #CCCC33 + + + + name + String escapes (executed) + scope + string.interpolated constant.character.escape + settings + + foreground + #787878 + + + + name + Class name + scope + entity.name.class + settings + + fontStyle + underline + + + + name + Class inheritance + scope + entity.other.inherited-class + settings + + fontStyle + italic underline + + + + name + Tag name + scope + entity.name.tag + settings + + fontStyle + + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + fontStyle + + + + + name + Support function + scope + support.function + settings + + fontStyle + + foreground + #B83426 + + + + name + Textile List + scope + markup.list.unnumbered.textile + settings + + foreground + #6EA533 + + + + name + Textile Numbered list + scope + markup.list.numbered.textile + settings + + foreground + #6EA533 + + + + name + Textile Bold + scope + markup.bold.textile + settings + + fontStyle + bold + foreground + #C2C2C2 + + + + name + Invalid + scope + invalid + settings + + background + #FF0000 + fontStyle + + foreground + #FFFFFF + + + + uuid + 95BEF169-A2E5-4041-A84A-AAFC1DD61558 + +