From 05cd13b45e6b6ffaf2d7668633f1ecb0e1334946 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Mon, 25 Oct 2010 18:35:25 +0200 Subject: [PATCH 1/8] Highlight regular expressions --- src/ace/mode/JavaScriptHighlightRules.js | 2 +- src/ace/theme/Dawn.js | 4 ++++ src/ace/theme/IdleFingers.js | 4 ++++ src/ace/theme/Twilight.js | 4 ++++ src/ace/theme/tm.css | 2 +- tool/Theme.tmpl.css | 4 ++++ tool/tmtheme.js | 2 ++ 7 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/ace/mode/JavaScriptHighlightRules.js b/src/ace/mode/JavaScriptHighlightRules.js index 3df16162..06a5a025 100644 --- a/src/ace/mode/JavaScriptHighlightRules.js +++ b/src/ace/mode/JavaScriptHighlightRules.js @@ -46,7 +46,7 @@ JavaScriptHighlightRules = function() { regex : "\\/\\*", next : "comment" }, { - token : "regex", + token : "string.regexp", regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/][gimy]*\\s*(?=[).;]|$)" }, { token : "string", // single line diff --git a/src/ace/theme/Dawn.js b/src/ace/theme/Dawn.js index 7d4daf9d..621709ab 100644 --- a/src/ace/theme/Dawn.js +++ b/src/ace/theme/Dawn.js @@ -127,6 +127,10 @@ color:#B52A1D;\ color:#0B6125;\ }\ \ +.ace-dawn .ace_string.ace_regexp {\ + color:#CF5628;\ +}\ +\ .ace-dawn .ace_comment {\ font-style:italic;\ color:#5A525F;\ diff --git a/src/ace/theme/IdleFingers.js b/src/ace/theme/IdleFingers.js index d52bc240..5d2254f0 100644 --- a/src/ace/theme/IdleFingers.js +++ b/src/ace/theme/IdleFingers.js @@ -123,6 +123,10 @@ background-color:#FF0000;\ color:#A5C261;\ }\ \ +.ace-idle-fingers .ace_string.ace_regexp {\ + color:#CCCC33;\ +}\ +\ .ace-idle-fingers .ace_comment {\ font-style:italic;\ color:#BC9458;\ diff --git a/src/ace/theme/Twilight.js b/src/ace/theme/Twilight.js index e228f62a..58d97192 100644 --- a/src/ace/theme/Twilight.js +++ b/src/ace/theme/Twilight.js @@ -125,6 +125,10 @@ color:#D2A8A1;\ color:#8F9D6A;\ }\ \ +.ace-twilight .ace_string.ace_regexp {\ + color:#E9C062;\ +}\ +\ .ace-twilight .ace_comment {\ font-style:italic;\ color:#5F5A60;\ diff --git a/src/ace/theme/tm.css b/src/ace/theme/tm.css index acc3d982..67224c07 100644 --- a/src/ace/theme/tm.css +++ b/src/ace/theme/tm.css @@ -114,6 +114,6 @@ background: rgb(232, 242, 254); } -.ace-tm .ace_regex { +.ace-tm .ace_string.ace_regex { color: rgb(255, 0, 0) } \ No newline at end of file diff --git a/tool/Theme.tmpl.css b/tool/Theme.tmpl.css index 3ce12e1d..5d658f8a 100644 --- a/tool/Theme.tmpl.css +++ b/tool/Theme.tmpl.css @@ -119,6 +119,10 @@ %string% } +.%cssClass% .ace_string.ace_regexp { + %string.regexp% +} + .%cssClass% .ace_comment { %comment% } diff --git a/tool/tmtheme.js b/tool/tmtheme.js index bce7a1d7..fda80c9b 100644 --- a/tool/tmtheme.js +++ b/tool/tmtheme.js @@ -74,6 +74,8 @@ var supportedScopes = { "invalid.deprecated": "invalid.deprecated", "string": "string", + "string.regexp": "string.regexp", + "comment": "comment", "comment.documentation": "comment.doc", "comment.documentation.tag": "comment.doc.tag", From 7f3ed94cc56a6180f02258df3af18376f99d6019 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Mon, 25 Oct 2010 19:55:46 +0200 Subject: [PATCH 2/8] fix doc comment highlighting --- src/ace/mode/DocCommentHighlightRules.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ace/mode/DocCommentHighlightRules.js b/src/ace/mode/DocCommentHighlightRules.js index 8199e3bb..1b500c6e 100644 --- a/src/ace/mode/DocCommentHighlightRules.js +++ b/src/ace/mode/DocCommentHighlightRules.js @@ -40,7 +40,7 @@ oop.inherits(DocCommentHighlightRules, TextHighlightRules); this.getStartRule = function(start) { return { - token : "doc-comment", // doc comment + token : "comment.doc", // doc comment regex : "\\/\\*\\*", next: start }; From c654ffacd01e4dcdaf5d93cfeabdaa97087036ec Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Mon, 25 Oct 2010 19:56:00 +0200 Subject: [PATCH 3/8] add a couple of more theme --- src/ace/theme/Clouds.js | 159 +++++++++++++++++++++++++++++++ src/ace/theme/CloudsMidnight.js | 160 +++++++++++++++++++++++++++++++ src/ace/theme/Cobalt.js | 161 ++++++++++++++++++++++++++++++++ src/ace/theme/KrTheme.js | 161 ++++++++++++++++++++++++++++++++ src/ace/theme/MonoIndustrial.js | 161 ++++++++++++++++++++++++++++++++ src/ace/theme/Monokai.js | 161 ++++++++++++++++++++++++++++++++ tool/tmtheme.js | 8 +- 7 files changed, 970 insertions(+), 1 deletion(-) create mode 100644 src/ace/theme/Clouds.js create mode 100644 src/ace/theme/CloudsMidnight.js create mode 100644 src/ace/theme/Cobalt.js create mode 100644 src/ace/theme/KrTheme.js create mode 100644 src/ace/theme/MonoIndustrial.js create mode 100644 src/ace/theme/Monokai.js diff --git a/src/ace/theme/Clouds.js b/src/ace/theme/Clouds.js new file mode 100644 index 00000000..67e2b330 --- /dev/null +++ b/src/ace/theme/Clouds.js @@ -0,0 +1,159 @@ +require.def("ace/theme/Clouds", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-clouds .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-clouds .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-clouds .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + overflow : hidden;\ +}\ +\ +.ace-clouds .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-clouds .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-clouds .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-clouds .ace_scroller {\ + background-color: #FFFFFF;\ +}\ +\ +.ace-clouds .ace_text-layer {\ + cursor: text;\ + color: #000000;\ +}\ +\ +.ace-clouds .ace_cursor {\ + border-left: 2px solid #000000;\ +}\ +\ +.ace-clouds .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #000000;\ +}\ + \ +.ace-clouds .ace_marker-layer .ace_selection {\ + background: #BDD5FC;\ +}\ +\ +.ace-clouds .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-clouds .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid #BFBFBF;\ +}\ +\ +.ace-clouds .ace_marker-layer .ace_active_line {\ + background: #FFFBD1;\ +}\ +\ + \ +.ace-clouds .ace_invisible {\ + color: #BFBFBF;\ +}\ +\ +.ace-clouds .ace_keyword {\ + color:#AF956F;\ +}\ +\ +.ace-clouds .ace_keyword.ace_operator {\ + color:#484848;\ +}\ +\ +.ace-clouds .ace_constant {\ + \ +}\ +\ +.ace-clouds .ace_constant.ace_language {\ + color:#39946A;\ +}\ +\ +.ace-clouds .ace_constant.ace_library {\ + \ +}\ +\ +.ace-clouds .ace_constant.ace_numeric {\ + color:#46A609;\ +}\ +\ +.ace-clouds .ace_invalid {\ + background-color:#FF002A;\ +}\ +\ +.ace-clouds .ace_invalid.ace_illegal {\ + \ +}\ +\ +.ace-clouds .ace_invalid.ace_deprecated {\ + \ +}\ +\ +.ace-clouds .ace_support {\ + \ +}\ +\ +.ace-clouds .ace_support.ace_function {\ + color:#C52727;\ +}\ +\ +.ace-clouds .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-clouds .ace_string {\ + color:#5D90CD;\ +}\ +\ +.ace-clouds .ace_string.ace_regexp {\ + \ +}\ +\ +.ace-clouds .ace_comment {\ + color:#BCC8BA;\ +}\ +\ +.ace-clouds .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-clouds .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-clouds .ace_variable {\ + \ +}\ +\ +.ace-clouds .ace_variable.ace_language {\ + \ +}\ +\ +.ace-clouds .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-clouds" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/CloudsMidnight.js b/src/ace/theme/CloudsMidnight.js new file mode 100644 index 00000000..4cf16ad7 --- /dev/null +++ b/src/ace/theme/CloudsMidnight.js @@ -0,0 +1,160 @@ +require.def("ace/theme/CloudsMidnight", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-clouds-midnight .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-clouds-midnight .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-clouds-midnight .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + overflow : hidden;\ +}\ +\ +.ace-clouds-midnight .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-clouds-midnight .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-clouds-midnight .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-clouds-midnight .ace_scroller {\ + background-color: #191919;\ +}\ +\ +.ace-clouds-midnight .ace_text-layer {\ + cursor: text;\ + color: #929292;\ +}\ +\ +.ace-clouds-midnight .ace_cursor {\ + border-left: 2px solid #7DA5DC;\ +}\ +\ +.ace-clouds-midnight .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #7DA5DC;\ +}\ + \ +.ace-clouds-midnight .ace_marker-layer .ace_selection {\ + background: #000000;\ +}\ +\ +.ace-clouds-midnight .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-clouds-midnight .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid #BFBFBF;\ +}\ +\ +.ace-clouds-midnight .ace_marker-layer .ace_active_line {\ + background: rgba(215, 215, 215, 0.031);\ +}\ +\ + \ +.ace-clouds-midnight .ace_invisible {\ + color: #BFBFBF;\ +}\ +\ +.ace-clouds-midnight .ace_keyword {\ + color:#927C5D;\ +}\ +\ +.ace-clouds-midnight .ace_keyword.ace_operator {\ + color:#4B4B4B;\ +}\ +\ +.ace-clouds-midnight .ace_constant {\ + \ +}\ +\ +.ace-clouds-midnight .ace_constant.ace_language {\ + color:#39946A;\ +}\ +\ +.ace-clouds-midnight .ace_constant.ace_library {\ + \ +}\ +\ +.ace-clouds-midnight .ace_constant.ace_numeric {\ + color:#46A609;\ +}\ +\ +.ace-clouds-midnight .ace_invalid {\ + color:#FFFFFF;\ +background-color:#E92E2E;\ +}\ +\ +.ace-clouds-midnight .ace_invalid.ace_illegal {\ + \ +}\ +\ +.ace-clouds-midnight .ace_invalid.ace_deprecated {\ + \ +}\ +\ +.ace-clouds-midnight .ace_support {\ + \ +}\ +\ +.ace-clouds-midnight .ace_support.ace_function {\ + color:#E92E2E;\ +}\ +\ +.ace-clouds-midnight .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-clouds-midnight .ace_string {\ + color:#5D90CD;\ +}\ +\ +.ace-clouds-midnight .ace_string.ace_regexp {\ + \ +}\ +\ +.ace-clouds-midnight .ace_comment {\ + color:#3C403B;\ +}\ +\ +.ace-clouds-midnight .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-clouds-midnight .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-clouds-midnight .ace_variable {\ + \ +}\ +\ +.ace-clouds-midnight .ace_variable.ace_language {\ + \ +}\ +\ +.ace-clouds-midnight .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-clouds-midnight" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/Cobalt.js b/src/ace/theme/Cobalt.js new file mode 100644 index 00000000..08ec21d8 --- /dev/null +++ b/src/ace/theme/Cobalt.js @@ -0,0 +1,161 @@ +require.def("ace/theme/Cobalt", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-cobalt .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-cobalt .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-cobalt .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + overflow : hidden;\ +}\ +\ +.ace-cobalt .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-cobalt .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-cobalt .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-cobalt .ace_scroller {\ + background-color: #002240;\ +}\ +\ +.ace-cobalt .ace_text-layer {\ + cursor: text;\ + color: #FFFFFF;\ +}\ +\ +.ace-cobalt .ace_cursor {\ + border-left: 2px solid #FFFFFF;\ +}\ +\ +.ace-cobalt .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #FFFFFF;\ +}\ + \ +.ace-cobalt .ace_marker-layer .ace_selection {\ + background: rgba(179, 101, 57, 0.75);\ +}\ +\ +.ace-cobalt .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-cobalt .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid rgba(255, 255, 255, 0.15);\ +}\ +\ +.ace-cobalt .ace_marker-layer .ace_active_line {\ + background: rgba(0, 0, 0, 0.35);\ +}\ +\ + \ +.ace-cobalt .ace_invisible {\ + color: rgba(255, 255, 255, 0.15);\ +}\ +\ +.ace-cobalt .ace_keyword {\ + color:#FF9D00;\ +}\ +\ +.ace-cobalt .ace_keyword.ace_operator {\ + \ +}\ +\ +.ace-cobalt .ace_constant {\ + color:#FF628C;\ +}\ +\ +.ace-cobalt .ace_constant.ace_language {\ + \ +}\ +\ +.ace-cobalt .ace_constant.ace_library {\ + \ +}\ +\ +.ace-cobalt .ace_constant.ace_numeric {\ + \ +}\ +\ +.ace-cobalt .ace_invalid {\ + color:#F8F8F8;\ +background-color:#800F00;\ +}\ +\ +.ace-cobalt .ace_invalid.ace_illegal {\ + \ +}\ +\ +.ace-cobalt .ace_invalid.ace_deprecated {\ + \ +}\ +\ +.ace-cobalt .ace_support {\ + color:#80FFBB;\ +}\ +\ +.ace-cobalt .ace_support.ace_function {\ + color:#FFB054;\ +}\ +\ +.ace-cobalt .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-cobalt .ace_string {\ + \ +}\ +\ +.ace-cobalt .ace_string.ace_regexp {\ + color:#80FFC2;\ +}\ +\ +.ace-cobalt .ace_comment {\ + font-style:italic;\ +color:#0088FF;\ +}\ +\ +.ace-cobalt .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-cobalt .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-cobalt .ace_variable {\ + color:#CCCCCC;\ +}\ +\ +.ace-cobalt .ace_variable.ace_language {\ + color:#FF80E1;\ +}\ +\ +.ace-cobalt .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-cobalt" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/KrTheme.js b/src/ace/theme/KrTheme.js new file mode 100644 index 00000000..69b11fd3 --- /dev/null +++ b/src/ace/theme/KrTheme.js @@ -0,0 +1,161 @@ +require.def("ace/theme/KrTheme", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-kr-theme .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-kr-theme .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-kr-theme .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + overflow : hidden;\ +}\ +\ +.ace-kr-theme .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-kr-theme .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-kr-theme .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-kr-theme .ace_scroller {\ + background-color: #0B0A09;\ +}\ +\ +.ace-kr-theme .ace_text-layer {\ + cursor: text;\ + color: #FCFFE0;\ +}\ +\ +.ace-kr-theme .ace_cursor {\ + border-left: 2px solid #FF9900;\ +}\ +\ +.ace-kr-theme .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #FF9900;\ +}\ + \ +.ace-kr-theme .ace_marker-layer .ace_selection {\ + background: rgba(170, 0, 255, 0.45);\ +}\ +\ +.ace-kr-theme .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-kr-theme .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid rgba(255, 177, 111, 0.32);\ +}\ +\ +.ace-kr-theme .ace_marker-layer .ace_active_line {\ + background: #38403D;\ +}\ +\ + \ +.ace-kr-theme .ace_invisible {\ + color: rgba(255, 177, 111, 0.32);\ +}\ +\ +.ace-kr-theme .ace_keyword {\ + color:#949C8B;\ +}\ +\ +.ace-kr-theme .ace_keyword.ace_operator {\ + \ +}\ +\ +.ace-kr-theme .ace_constant {\ + color:rgba(210, 117, 24, 0.76);\ +}\ +\ +.ace-kr-theme .ace_constant.ace_language {\ + \ +}\ +\ +.ace-kr-theme .ace_constant.ace_library {\ + \ +}\ +\ +.ace-kr-theme .ace_constant.ace_numeric {\ + \ +}\ +\ +.ace-kr-theme .ace_invalid {\ + color:#F8F8F8;\ +background-color:#A41300;\ +}\ +\ +.ace-kr-theme .ace_invalid.ace_illegal {\ + \ +}\ +\ +.ace-kr-theme .ace_invalid.ace_deprecated {\ + \ +}\ +\ +.ace-kr-theme .ace_support {\ + color:#9FC28A;\ +}\ +\ +.ace-kr-theme .ace_support.ace_function {\ + color:#85873A;\ +}\ +\ +.ace-kr-theme .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-kr-theme .ace_string {\ + \ +}\ +\ +.ace-kr-theme .ace_string.ace_regexp {\ + color:rgba(125, 255, 192, 0.65);\ +}\ +\ +.ace-kr-theme .ace_comment {\ + font-style:italic;\ +color:#706D5B;\ +}\ +\ +.ace-kr-theme .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-kr-theme .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-kr-theme .ace_variable {\ + color:#D1A796;\ +}\ +\ +.ace-kr-theme .ace_variable.ace_language {\ + color:#FF80E1;\ +}\ +\ +.ace-kr-theme .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-kr-theme" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/MonoIndustrial.js b/src/ace/theme/MonoIndustrial.js new file mode 100644 index 00000000..964c1465 --- /dev/null +++ b/src/ace/theme/MonoIndustrial.js @@ -0,0 +1,161 @@ +require.def("ace/theme/MonoIndustrial", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-mono-industrial .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-mono-industrial .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-mono-industrial .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + overflow : hidden;\ +}\ +\ +.ace-mono-industrial .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-mono-industrial .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-mono-industrial .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-mono-industrial .ace_scroller {\ + background-color: #222C28;\ +}\ +\ +.ace-mono-industrial .ace_text-layer {\ + cursor: text;\ + color: #FFFFFF;\ +}\ +\ +.ace-mono-industrial .ace_cursor {\ + border-left: 2px solid #FFFFFF;\ +}\ +\ +.ace-mono-industrial .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #FFFFFF;\ +}\ + \ +.ace-mono-industrial .ace_marker-layer .ace_selection {\ + background: rgba(145, 153, 148, 0.40);\ +}\ +\ +.ace-mono-industrial .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-mono-industrial .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid rgba(102, 108, 104, 0.50);\ +}\ +\ +.ace-mono-industrial .ace_marker-layer .ace_active_line {\ + background: rgba(12, 13, 12, 0.25);\ +}\ +\ + \ +.ace-mono-industrial .ace_invisible {\ + color: rgba(102, 108, 104, 0.50);\ +}\ +\ +.ace-mono-industrial .ace_keyword {\ + color:#A39E64;\ +}\ +\ +.ace-mono-industrial .ace_keyword.ace_operator {\ + color:#A8B3AB;\ +}\ +\ +.ace-mono-industrial .ace_constant {\ + color:#E98800;\ +}\ +\ +.ace-mono-industrial .ace_constant.ace_language {\ + \ +}\ +\ +.ace-mono-industrial .ace_constant.ace_library {\ + \ +}\ +\ +.ace-mono-industrial .ace_constant.ace_numeric {\ + color:#E98800;\ +}\ +\ +.ace-mono-industrial .ace_invalid {\ + color:#FFFFFF;\ +background-color:rgba(153, 0, 0, 0.68);\ +}\ +\ +.ace-mono-industrial .ace_invalid.ace_illegal {\ + \ +}\ +\ +.ace-mono-industrial .ace_invalid.ace_deprecated {\ + \ +}\ +\ +.ace-mono-industrial .ace_support {\ + \ +}\ +\ +.ace-mono-industrial .ace_support.ace_function {\ + color:#588E60;\ +}\ +\ +.ace-mono-industrial .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-mono-industrial .ace_string {\ + \ +}\ +\ +.ace-mono-industrial .ace_string.ace_regexp {\ + \ +}\ +\ +.ace-mono-industrial .ace_comment {\ + color:#666C68;\ +background-color:#151C19;\ +}\ +\ +.ace-mono-industrial .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-mono-industrial .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-mono-industrial .ace_variable {\ + \ +}\ +\ +.ace-mono-industrial .ace_variable.ace_language {\ + color:#648BD2;\ +}\ +\ +.ace-mono-industrial .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-mono-industrial" + }; +}) \ No newline at end of file diff --git a/src/ace/theme/Monokai.js b/src/ace/theme/Monokai.js new file mode 100644 index 00000000..8c811cd8 --- /dev/null +++ b/src/ace/theme/Monokai.js @@ -0,0 +1,161 @@ +require.def("ace/theme/Monokai", + ["ace/lib/dom"], function(dom) { + + var cssText = ".ace-monokai .ace_editor {\ + border: 2px solid rgb(159, 159, 159);\ +}\ +\ +.ace-monokai .ace_editor.ace_focus {\ + border: 2px solid #327fbd;\ +}\ +\ +.ace-monokai .ace_gutter {\ + width: 50px;\ + background: #e8e8e8;\ + color: #333;\ + overflow : hidden;\ +}\ +\ +.ace-monokai .ace_gutter-layer {\ + right: 0px;\ + text-align: right;\ +}\ +\ +.ace-monokai .ace_gutter-layer .ace_gutter-cell {\ + padding-right: 15px;\ +}\ +\ +.ace-monokai .ace_editor .ace_printMargin {\ + width: 1px;\ + background: #e8e8e8;\ +}\ +\ +.ace-monokai .ace_scroller {\ + background-color: #272822;\ +}\ +\ +.ace-monokai .ace_text-layer {\ + cursor: text;\ + color: #F8F8F2;\ +}\ +\ +.ace-monokai .ace_cursor {\ + border-left: 2px solid #F8F8F0;\ +}\ +\ +.ace-monokai .ace_cursor.ace_overwrite {\ + border-left: 0px;\ + border-bottom: 1px solid #F8F8F0;\ +}\ + \ +.ace-monokai .ace_marker-layer .ace_selection {\ + background: #49483E;\ +}\ +\ +.ace-monokai .ace_marker-layer .ace_step {\ + background: rgb(198, 219, 174);\ +}\ +\ +.ace-monokai .ace_marker-layer .ace_bracket {\ + margin: -1px 0 0 -1px;\ + border: 1px solid #49483E;\ +}\ +\ +.ace-monokai .ace_marker-layer .ace_active_line {\ + background: #49483E;\ +}\ +\ + \ +.ace-monokai .ace_invisible {\ + color: #49483E;\ +}\ +\ +.ace-monokai .ace_keyword {\ + color:#F92672;\ +}\ +\ +.ace-monokai .ace_keyword.ace_operator {\ + \ +}\ +\ +.ace-monokai .ace_constant {\ + \ +}\ +\ +.ace-monokai .ace_constant.ace_language {\ + color:#AE81FF;\ +}\ +\ +.ace-monokai .ace_constant.ace_library {\ + \ +}\ +\ +.ace-monokai .ace_constant.ace_numeric {\ + color:#AE81FF;\ +}\ +\ +.ace-monokai .ace_invalid {\ + color:#F8F8F0;\ +background-color:#F92672;\ +}\ +\ +.ace-monokai .ace_invalid.ace_illegal {\ + \ +}\ +\ +.ace-monokai .ace_invalid.ace_deprecated {\ + color:#F8F8F0;\ +background-color:#AE81FF;\ +}\ +\ +.ace-monokai .ace_support {\ + \ +}\ +\ +.ace-monokai .ace_support.ace_function {\ + color:#66D9EF;\ +}\ +\ +.ace-monokai .ace_function.ace_buildin {\ + \ +}\ +\ +.ace-monokai .ace_string {\ + color:#E6DB74;\ +}\ +\ +.ace-monokai .ace_string.ace_regexp {\ + \ +}\ +\ +.ace-monokai .ace_comment {\ + color:#75715E;\ +}\ +\ +.ace-monokai .ace_comment.ace_doc {\ + \ +}\ +\ +.ace-monokai .ace_comment.ace_doc.ace_tag {\ + \ +}\ +\ +.ace-monokai .ace_variable {\ + \ +}\ +\ +.ace-monokai .ace_variable.ace_language {\ + \ +}\ +\ +.ace-monokai .ace_xml_pe {\ + \ +}"; + + // import CSS once + dom.importCssString(cssText); + + return { + cssClass: "ace-monokai" + }; +}) \ No newline at end of file diff --git a/tool/tmtheme.js b/tool/tmtheme.js index fda80c9b..45db487f 100644 --- a/tool/tmtheme.js +++ b/tool/tmtheme.js @@ -178,7 +178,13 @@ var jsTemplate = fs.readFileSync(__dirname + "/Theme.tmpl.js", "utf8"); var themes = { "Dawn": "Dawn", "IdleFingers": "idleFingers", - "Twilight": "Twilight" + "Twilight": "Twilight", + "Monokai": "Monokai", + "Cobalt": "Cobalt", + "MonoIndustrial": "monoindustrial", + "Clouds": "Clouds", + "CloudsMidnight": "Clouds Midnight", + "KrTheme": "krTheme" } for (var name in themes) { From ae3f9e28c3faa98e6c349da6c68401503413ca5f Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Mon, 25 Oct 2010 20:01:04 +0200 Subject: [PATCH 4/8] update themes --- src/ace/theme/Clouds.js | 2 +- src/ace/theme/CloudsMidnight.js | 2 +- src/ace/theme/Cobalt.js | 2 +- src/ace/theme/Dawn.js | 2 +- src/ace/theme/IdleFingers.js | 2 +- src/ace/theme/KrTheme.js | 2 +- src/ace/theme/MonoIndustrial.js | 2 +- src/ace/theme/Monokai.js | 2 +- src/ace/theme/Twilight.js | 2 +- tool/Theme.tmpl.css | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ace/theme/Clouds.js b/src/ace/theme/Clouds.js index 67e2b330..fb079b87 100644 --- a/src/ace/theme/Clouds.js +++ b/src/ace/theme/Clouds.js @@ -17,7 +17,7 @@ require.def("ace/theme/Clouds", }\ \ .ace-clouds .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/CloudsMidnight.js b/src/ace/theme/CloudsMidnight.js index 4cf16ad7..e2b1cfdd 100644 --- a/src/ace/theme/CloudsMidnight.js +++ b/src/ace/theme/CloudsMidnight.js @@ -17,7 +17,7 @@ require.def("ace/theme/CloudsMidnight", }\ \ .ace-clouds-midnight .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/Cobalt.js b/src/ace/theme/Cobalt.js index 08ec21d8..893f85fb 100644 --- a/src/ace/theme/Cobalt.js +++ b/src/ace/theme/Cobalt.js @@ -17,7 +17,7 @@ require.def("ace/theme/Cobalt", }\ \ .ace-cobalt .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/Dawn.js b/src/ace/theme/Dawn.js index 621709ab..73841545 100644 --- a/src/ace/theme/Dawn.js +++ b/src/ace/theme/Dawn.js @@ -17,7 +17,7 @@ require.def("ace/theme/Dawn", }\ \ .ace-dawn .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/IdleFingers.js b/src/ace/theme/IdleFingers.js index 5d2254f0..1fa9f1f7 100644 --- a/src/ace/theme/IdleFingers.js +++ b/src/ace/theme/IdleFingers.js @@ -17,7 +17,7 @@ require.def("ace/theme/IdleFingers", }\ \ .ace-idle-fingers .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/KrTheme.js b/src/ace/theme/KrTheme.js index 69b11fd3..08e2278c 100644 --- a/src/ace/theme/KrTheme.js +++ b/src/ace/theme/KrTheme.js @@ -17,7 +17,7 @@ require.def("ace/theme/KrTheme", }\ \ .ace-kr-theme .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/MonoIndustrial.js b/src/ace/theme/MonoIndustrial.js index 964c1465..e606ff0d 100644 --- a/src/ace/theme/MonoIndustrial.js +++ b/src/ace/theme/MonoIndustrial.js @@ -17,7 +17,7 @@ require.def("ace/theme/MonoIndustrial", }\ \ .ace-mono-industrial .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/Monokai.js b/src/ace/theme/Monokai.js index 8c811cd8..7a2b60d0 100644 --- a/src/ace/theme/Monokai.js +++ b/src/ace/theme/Monokai.js @@ -17,7 +17,7 @@ require.def("ace/theme/Monokai", }\ \ .ace-monokai .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/src/ace/theme/Twilight.js b/src/ace/theme/Twilight.js index 58d97192..2b82c13b 100644 --- a/src/ace/theme/Twilight.js +++ b/src/ace/theme/Twilight.js @@ -17,7 +17,7 @@ require.def("ace/theme/Twilight", }\ \ .ace-twilight .ace_gutter-layer {\ - right: 0px;\ + width: 100%;\ text-align: right;\ }\ \ diff --git a/tool/Theme.tmpl.css b/tool/Theme.tmpl.css index 5d658f8a..8d67d46b 100644 --- a/tool/Theme.tmpl.css +++ b/tool/Theme.tmpl.css @@ -14,7 +14,7 @@ } .%cssClass% .ace_gutter-layer { - right: 0px; + width: 100%; text-align: right; } From f75a1cc7867c6b778125681e62bfd583345d56d7 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Tue, 26 Oct 2010 09:50:58 +0200 Subject: [PATCH 5/8] goto line should clear selection --- src/ace/Editor.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ace/Editor.js b/src/ace/Editor.js index c4f5e91a..c14682cd 100644 --- a/src/ace/Editor.js +++ b/src/ace/Editor.js @@ -774,6 +774,8 @@ var Editor = function(renderer, doc) { this.gotoLine = function(lineNumber, row) { + this.selection.clearSelection(); + this.$blockScrolling = true; this.moveCursorTo(lineNumber-1, row || 0); this.$blockScrolling = false; From 82eecf9e244cbcbdb199e673dcb3eb9efbb431d4 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Tue, 26 Oct 2010 13:50:16 +0200 Subject: [PATCH 6/8] search results are selected again --- src/ace/Editor.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ace/Editor.js b/src/ace/Editor.js index c14682cd..1bff5b71 100644 --- a/src/ace/Editor.js +++ b/src/ace/Editor.js @@ -946,9 +946,9 @@ var Editor = function(renderer, doc) { var range = this.$search.find(this.doc); if (range) { - this.selection.setSelectionRange(range); - this.$updateDesiredColumn(); this.gotoLine(range.end.row+1, range.end.column); + this.$updateDesiredColumn(); + this.selection.setSelectionRange(range); } }; From 986c5eddc2172b0bb4fb50bbd772cf496f4e85cb Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Tue, 26 Oct 2010 14:55:58 +0200 Subject: [PATCH 7/8] remove gap on the right side of the gutter --- src/ace/theme/Clouds.js | 2 +- src/ace/theme/CloudsMidnight.js | 2 +- src/ace/theme/Cobalt.js | 2 +- src/ace/theme/Dawn.js | 2 +- src/ace/theme/IdleFingers.js | 2 +- src/ace/theme/KrTheme.js | 2 +- src/ace/theme/MonoIndustrial.js | 2 +- src/ace/theme/Monokai.js | 2 +- src/ace/theme/Twilight.js | 2 +- src/ace/theme/tm.css | 2 +- tool/Theme.tmpl.css | 2 +- tool/tmtheme.js | 1 + 12 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/ace/theme/Clouds.js b/src/ace/theme/Clouds.js index fb079b87..ca6ae73b 100644 --- a/src/ace/theme/Clouds.js +++ b/src/ace/theme/Clouds.js @@ -22,7 +22,7 @@ require.def("ace/theme/Clouds", }\ \ .ace-clouds .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-clouds .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/CloudsMidnight.js b/src/ace/theme/CloudsMidnight.js index e2b1cfdd..f3c092c5 100644 --- a/src/ace/theme/CloudsMidnight.js +++ b/src/ace/theme/CloudsMidnight.js @@ -22,7 +22,7 @@ require.def("ace/theme/CloudsMidnight", }\ \ .ace-clouds-midnight .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-clouds-midnight .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/Cobalt.js b/src/ace/theme/Cobalt.js index 893f85fb..ae177aad 100644 --- a/src/ace/theme/Cobalt.js +++ b/src/ace/theme/Cobalt.js @@ -22,7 +22,7 @@ require.def("ace/theme/Cobalt", }\ \ .ace-cobalt .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-cobalt .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/Dawn.js b/src/ace/theme/Dawn.js index 73841545..e4c59257 100644 --- a/src/ace/theme/Dawn.js +++ b/src/ace/theme/Dawn.js @@ -22,7 +22,7 @@ require.def("ace/theme/Dawn", }\ \ .ace-dawn .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-dawn .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/IdleFingers.js b/src/ace/theme/IdleFingers.js index 1fa9f1f7..48ca72f7 100644 --- a/src/ace/theme/IdleFingers.js +++ b/src/ace/theme/IdleFingers.js @@ -22,7 +22,7 @@ require.def("ace/theme/IdleFingers", }\ \ .ace-idle-fingers .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-idle-fingers .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/KrTheme.js b/src/ace/theme/KrTheme.js index 08e2278c..e201c5bb 100644 --- a/src/ace/theme/KrTheme.js +++ b/src/ace/theme/KrTheme.js @@ -22,7 +22,7 @@ require.def("ace/theme/KrTheme", }\ \ .ace-kr-theme .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-kr-theme .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/MonoIndustrial.js b/src/ace/theme/MonoIndustrial.js index e606ff0d..0a721576 100644 --- a/src/ace/theme/MonoIndustrial.js +++ b/src/ace/theme/MonoIndustrial.js @@ -22,7 +22,7 @@ require.def("ace/theme/MonoIndustrial", }\ \ .ace-mono-industrial .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-mono-industrial .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/Monokai.js b/src/ace/theme/Monokai.js index 7a2b60d0..a992134c 100644 --- a/src/ace/theme/Monokai.js +++ b/src/ace/theme/Monokai.js @@ -22,7 +22,7 @@ require.def("ace/theme/Monokai", }\ \ .ace-monokai .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-monokai .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/Twilight.js b/src/ace/theme/Twilight.js index 2b82c13b..61b9c6ac 100644 --- a/src/ace/theme/Twilight.js +++ b/src/ace/theme/Twilight.js @@ -22,7 +22,7 @@ require.def("ace/theme/Twilight", }\ \ .ace-twilight .ace_gutter-layer .ace_gutter-cell {\ - padding-right: 15px;\ + padding-right: 6px;\ }\ \ .ace-twilight .ace_editor .ace_printMargin {\ diff --git a/src/ace/theme/tm.css b/src/ace/theme/tm.css index 67224c07..0cf2d4dc 100644 --- a/src/ace/theme/tm.css +++ b/src/ace/theme/tm.css @@ -19,7 +19,7 @@ } .ace-tm .ace_gutter-layer .ace_gutter-cell { - padding-right: 15px; + padding-right: 6px; } .ace-tm .ace_editor .ace_printMargin { diff --git a/tool/Theme.tmpl.css b/tool/Theme.tmpl.css index 8d67d46b..9d2c5107 100644 --- a/tool/Theme.tmpl.css +++ b/tool/Theme.tmpl.css @@ -19,7 +19,7 @@ } .%cssClass% .ace_gutter-layer .ace_gutter-cell { - padding-right: 15px; + padding-right: 6px; } .%cssClass% .ace_editor .ace_printMargin { diff --git a/tool/tmtheme.js b/tool/tmtheme.js index 45db487f..934c4997 100644 --- a/tool/tmtheme.js +++ b/tool/tmtheme.js @@ -188,6 +188,7 @@ var themes = { } for (var name in themes) { + console.log("Converting " + name); var tmTheme = fs.readFileSync(__dirname + "/tmthemes/" + themes[name] + ".tmTheme", "utf8"); var styles = extractStyles(parseTheme(tmTheme)); From 00d9ab74f8ebe34830c7190f363cb45bef3f483d Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Tue, 26 Oct 2010 16:33:41 +0200 Subject: [PATCH 8/8] fix scrollbar update --- src/ace/VirtualRenderer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ace/VirtualRenderer.js b/src/ace/VirtualRenderer.js index f2029c5b..0075e2c2 100644 --- a/src/ace/VirtualRenderer.js +++ b/src/ace/VirtualRenderer.js @@ -184,7 +184,6 @@ var VirtualRenderer = function(container, theme) { this.setTokenizer = function(tokenizer) { this.$textLayer.setTokenizer(tokenizer); - this.$loop.schedule(this.CHANGE_TEXT); }; @@ -317,7 +316,8 @@ var VirtualRenderer = function(container, theme) { this.$gutterLayer.update(this.layerConfig); } else if (changes & this.CHANGE_LINES) { - this.$updateLines(); + this.$updateLines(); + this.$updateScrollBar(); } else if (changes & this.CHANGE_SCROLL) { this.$textLayer.scrollLines(this.layerConfig);