├── .gitignore ├── lib ├── ace │ ├── mode │ │ ├── text.js │ │ ├── latex.js │ │ ├── sql.js │ │ ├── textile.js │ │ ├── yaml.js │ │ ├── sh.js │ │ ├── diff.js │ │ ├── c9search.js │ │ └── tcl.js │ ├── version.rb │ └── theme │ │ ├── clouds.js │ │ ├── eclipse.js │ │ ├── clouds_midnight.js │ │ ├── solarized_dark.js │ │ ├── solarized_light.js │ │ ├── merbivore.js │ │ ├── monokai.js │ │ ├── cobalt.js │ │ ├── kr_theme.js │ │ ├── idle_fingers.js │ │ ├── dawn.js │ │ ├── github.js │ │ ├── vibrant_ink.js │ │ ├── merbivore_soft.js │ │ ├── tomorrow.js │ │ ├── twilight.js │ │ ├── mono_industrial.js │ │ ├── pastel_on_dark.js │ │ ├── textmate.js │ │ ├── chrome.js │ │ ├── tomorrow_night.js │ │ ├── crimson_editor.js │ │ ├── tomorrow_night_blue.js │ │ ├── tomorrow_night_eighties.js │ │ ├── tomorrow_night_bright.js │ │ └── dreamweaver.js ├── ace-editor.rb └── ace.rb ├── README.md ├── ace-editor.gemspec └── Rakefile /.gitignore: -------------------------------------------------------------------------------- 1 | tmp/ -------------------------------------------------------------------------------- /lib/ace/mode/text.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/ace-editor.rb: -------------------------------------------------------------------------------- 1 | require 'ace' 2 | -------------------------------------------------------------------------------- /lib/ace/version.rb: -------------------------------------------------------------------------------- 1 | module Ace 2 | VERSION = "0.2.0.1422" 3 | end 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ace Cloud9 Editor Ruby Gem 2 | 3 | Ace editor packaged nicely as a rubygem for use in Sprockets or the Rails 3 asset pipeline. 4 | -------------------------------------------------------------------------------- /lib/ace.rb: -------------------------------------------------------------------------------- 1 | require 'ace/version' 2 | 3 | module Ace 4 | PATH = File.expand_path("..", __FILE__) 5 | 6 | def self.path 7 | PATH 8 | end 9 | 10 | def self.modules 11 | @modules ||= Dir["#{path}/ace/**/*.js"].map { |fn| fn.sub("#{path}/", "").sub(".js", "") }.sort 12 | end 13 | 14 | # Rails "Magic" 15 | if defined? ::Rails::Railtie 16 | class Railtie < ::Rails::Railtie 17 | initializer "ace" do |app| 18 | app.config.assets.paths << Ace.path 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /ace-editor.gemspec: -------------------------------------------------------------------------------- 1 | require File.expand_path("../lib/ace/version", __FILE__) 2 | 3 | Gem::Specification.new do |s| 4 | s.name = "ace-editor" 5 | s.version = Ace::VERSION 6 | 7 | s.homepage = "https://github.com/josh/ruby-ace-editor" 8 | s.summary = "Ace Cloud9 Editor JS assets for Sprockets/Rails" 9 | s.description = "Neatly packaged Ace Cloud9 Editor JS assets for use in Sprockets or the Rails 3 asset pipeline." 10 | 11 | s.files = Dir["README.md", "lib/**/*"] 12 | 13 | s.add_dependency "sprockets", "~> 2.0" 14 | 15 | s.author = "Joshua Peek" 16 | s.email = "josh@joshpeek.com" 17 | end 18 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'rake/clean' 2 | 3 | directory "tmp/" 4 | CLEAN.include "tmp/" 5 | 6 | file "tmp/ace" => "tmp/" do 7 | cd "tmp/" do 8 | sh "git clone git://github.com/ajaxorg/ace.git" 9 | end 10 | end 11 | 12 | task :build => "tmp/ace" do 13 | cd "tmp/ace" do 14 | sh "git pull" 15 | sh "npm install" 16 | sh "node ./Makefile.dryice.js -nc" 17 | end 18 | end 19 | 20 | file "lib/ace/version.rb" => :build do |f| 21 | version = nil 22 | cd "tmp/ace" do 23 | version = `git describe --tags`.chomp 24 | major, minor, sha = version.sub(/^v/, "").split('-') 25 | version = "#{major}.#{minor}" 26 | end 27 | 28 | File.open(f.name, 'w') do |io| 29 | io.write "module Ace\n VERSION = #{version.inspect}\nend\n" 30 | end 31 | end 32 | CLOBBER.include "lib/ace/version.rb" 33 | 34 | file "lib/ace.js" => :build do |f| 35 | cp "tmp/ace/build/src-noconflict/ace.js", f.name 36 | end 37 | CLOBBER.include "lib/ace.js" 38 | 39 | %w( keybinding mode theme worker ).each do |mod| 40 | directory "lib/ace/#{mod}" 41 | task mod => [:build, "lib/ace/#{mod}"] do |t| 42 | Dir["tmp/ace/build/src-noconflict/#{t.name}-*.js"].each do |src| 43 | cp src, "lib/ace/#{t.name}/#{File.basename(src).sub("#{t.name}-", "")}" 44 | end 45 | end 46 | CLOBBER.include "lib/ace/#{mod}" 47 | end 48 | 49 | task :copy => ["lib/ace/version.rb", "lib/ace.js", :keybinding, :mode, :theme, :worker] 50 | task :default => [:clobber, :copy] 51 | -------------------------------------------------------------------------------- /lib/ace/mode/latex.js: -------------------------------------------------------------------------------- 1 | ace.define('ace/mode/latex', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/latex_highlight_rules', 'ace/range'], function(require, exports, module) { 2 | 3 | 4 | var oop = require("../lib/oop"); 5 | var TextMode = require("./text").Mode; 6 | var Tokenizer = require("../tokenizer").Tokenizer; 7 | var LatexHighlightRules = require("./latex_highlight_rules").LatexHighlightRules; 8 | var Range = require("../range").Range; 9 | 10 | var Mode = function() 11 | { 12 | this.$tokenizer = new Tokenizer(new LatexHighlightRules().getRules()); 13 | }; 14 | oop.inherits(Mode, TextMode); 15 | 16 | (function() { 17 | this.toggleCommentLines = function(state, doc, startRow, endRow) { 18 | // This code is adapted from ruby.js 19 | var outdent = true; 20 | 21 | // LaTeX comments begin with % and go to the end of the line 22 | var commentRegEx = /^(\s*)\%/; 23 | 24 | for (var i = startRow; i <= endRow; i++) { 25 | if (!commentRegEx.test(doc.getLine(i))) { 26 | outdent = false; 27 | break; 28 | } 29 | } 30 | 31 | if (outdent) { 32 | var deleteRange = new Range(0, 0, 0, 0); 33 | for (var i = startRow; i <= endRow; i++) { 34 | var line = doc.getLine(i); 35 | var m = line.match(commentRegEx); 36 | deleteRange.start.row = i; 37 | deleteRange.end.row = i; 38 | deleteRange.end.column = m[0].length; 39 | doc.replace(deleteRange, m[1]); 40 | } 41 | } 42 | else { 43 | doc.indentRows(startRow, endRow, "%"); 44 | } 45 | }; 46 | 47 | // There is no universally accepted way of indenting a tex document 48 | // so just maintain the indentation of the previous line 49 | this.getNextLineIndent = function(state, line, tab) { 50 | return this.$getIndent(line); 51 | }; 52 | 53 | }).call(Mode.prototype); 54 | 55 | exports.Mode = Mode; 56 | 57 | }); 58 | ace.define('ace/mode/latex_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 59 | 60 | 61 | var oop = require("../lib/oop"); 62 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 63 | 64 | var LatexHighlightRules = function() { 65 | this.$rules = { 66 | "start" : [{ 67 | // A tex command e.g. \foo 68 | token : "keyword", 69 | regex : "\\\\(?:[^a-zA-Z]|[a-zA-Z]+)", 70 | }, { 71 | // Curly and square braces 72 | token : "lparen", 73 | regex : "[[({]" 74 | }, { 75 | // Curly and square braces 76 | token : "rparen", 77 | regex : "[\\])}]" 78 | }, { 79 | // Inline math between two $ symbols 80 | token : "string", 81 | regex : "\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$" 82 | }, { 83 | // A comment. Tex comments start with % and go to 84 | // the end of the line 85 | token : "comment", 86 | regex : "%.*$" 87 | }] 88 | }; 89 | }; 90 | 91 | oop.inherits(LatexHighlightRules, TextHighlightRules); 92 | 93 | exports.LatexHighlightRules = LatexHighlightRules; 94 | 95 | }); 96 | -------------------------------------------------------------------------------- /lib/ace/theme/clouds.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/clouds', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = false; 41 | exports.cssClass = "ace-clouds"; 42 | exports.cssText = "\ 43 | .ace-clouds .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-clouds .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-clouds .ace_gutter {\ 52 | background: #ebebeb;\ 53 | color: #333;\ 54 | }\ 55 | \ 56 | .ace-clouds .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #e8e8e8;\ 59 | }\ 60 | \ 61 | .ace-clouds .ace_scroller {\ 62 | background-color: #FFFFFF;\ 63 | }\ 64 | \ 65 | .ace-clouds .ace_text-layer {\ 66 | color: #000000;\ 67 | }\ 68 | \ 69 | .ace-clouds .ace_cursor {\ 70 | border-left: 2px solid #000000;\ 71 | }\ 72 | \ 73 | .ace-clouds .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #000000;\ 76 | }\ 77 | \ 78 | .ace-clouds .ace_marker-layer .ace_selection {\ 79 | background: #BDD5FC;\ 80 | }\ 81 | \ 82 | .ace-clouds.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #FFFFFF;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-clouds .ace_marker-layer .ace_step {\ 88 | background: rgb(255, 255, 0);\ 89 | }\ 90 | \ 91 | .ace-clouds .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #BFBFBF;\ 94 | }\ 95 | \ 96 | .ace-clouds .ace_marker-layer .ace_active_line {\ 97 | background: #FFFBD1;\ 98 | }\ 99 | \ 100 | .ace-clouds .ace_gutter_active_line {\ 101 | background-color : #dcdcdc;\ 102 | }\ 103 | \ 104 | .ace-clouds .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #BDD5FC;\ 106 | }\ 107 | \ 108 | .ace-clouds .ace_invisible {\ 109 | color: #BFBFBF;\ 110 | }\ 111 | \ 112 | .ace-clouds .ace_keyword, .ace-clouds .ace_meta {\ 113 | color:#AF956F;\ 114 | }\ 115 | \ 116 | .ace-clouds .ace_keyword.ace_operator {\ 117 | color:#484848;\ 118 | }\ 119 | \ 120 | .ace-clouds .ace_constant.ace_language {\ 121 | color:#39946A;\ 122 | }\ 123 | \ 124 | .ace-clouds .ace_constant.ace_numeric {\ 125 | color:#46A609;\ 126 | }\ 127 | \ 128 | .ace-clouds .ace_invalid {\ 129 | background-color:#FF002A;\ 130 | }\ 131 | \ 132 | .ace-clouds .ace_fold {\ 133 | background-color: #AF956F;\ 134 | border-color: #000000;\ 135 | }\ 136 | \ 137 | .ace-clouds .ace_support.ace_function {\ 138 | color:#C52727;\ 139 | }\ 140 | \ 141 | .ace-clouds .ace_storage {\ 142 | color:#C52727;\ 143 | }\ 144 | \ 145 | .ace-clouds .ace_string {\ 146 | color:#5D90CD;\ 147 | }\ 148 | \ 149 | .ace-clouds .ace_comment {\ 150 | color:#BCC8BA;\ 151 | }\ 152 | \ 153 | .ace-clouds .ace_entity.ace_other.ace_attribute-name {\ 154 | color:#606060;\ 155 | }\ 156 | \ 157 | .ace-clouds .ace_markup.ace_underline {\ 158 | text-decoration:underline;\ 159 | }\ 160 | \ 161 | .ace-clouds .ace_indent-guide {\ 162 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 163 | }"; 164 | 165 | var dom = require("../lib/dom"); 166 | dom.importCssString(exports.cssText, exports.cssClass); 167 | }); 168 | -------------------------------------------------------------------------------- /lib/ace/theme/eclipse.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/eclipse', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | 41 | exports.isDark = false; 42 | exports.cssText = ".ace-eclipse .ace_editor {\ 43 | border: 2px solid rgb(159, 159, 159);\ 44 | }\ 45 | \ 46 | .ace-eclipse .ace_editor.ace_focus {\ 47 | border: 2px solid #327fbd;\ 48 | }\ 49 | \ 50 | .ace-eclipse .ace_gutter {\ 51 | background: #ebebeb;\ 52 | border-right: 1px solid rgb(159, 159, 159);\ 53 | color: rgb(136, 136, 136);\ 54 | }\ 55 | \ 56 | .ace-eclipse .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #ebebeb;\ 59 | }\ 60 | \ 61 | .ace-eclipse .ace_fold {\ 62 | background-color: rgb(60, 76, 114);\ 63 | }\ 64 | \ 65 | .ace-eclipse .ace_text-layer {\ 66 | }\ 67 | \ 68 | .ace-eclipse .ace_cursor {\ 69 | border-left: 2px solid black;\ 70 | }\ 71 | \ 72 | .ace-eclipse .ace_line .ace_storage,\ 73 | .ace-eclipse .ace_line .ace_keyword,\ 74 | .ace-eclipse .ace_line .ace_variable {\ 75 | color: rgb(127, 0, 85);\ 76 | }\ 77 | \ 78 | .ace-eclipse .ace_line .ace_constant.ace_buildin {\ 79 | color: rgb(88, 72, 246);\ 80 | }\ 81 | \ 82 | .ace-eclipse .ace_line .ace_constant.ace_library {\ 83 | color: rgb(6, 150, 14);\ 84 | }\ 85 | \ 86 | .ace-eclipse .ace_line .ace_function {\ 87 | color: rgb(60, 76, 114);\ 88 | }\ 89 | \ 90 | .ace-eclipse .ace_line .ace_string {\ 91 | color: rgb(42, 0, 255);\ 92 | }\ 93 | \ 94 | .ace-eclipse .ace_line .ace_comment {\ 95 | color: rgb(63, 127, 95);\ 96 | }\ 97 | \ 98 | .ace-eclipse .ace_line .ace_comment.ace_doc {\ 99 | color: rgb(63, 95, 191);\ 100 | }\ 101 | \ 102 | .ace-eclipse .ace_line .ace_comment.ace_doc.ace_tag {\ 103 | color: rgb(127, 159, 191);\ 104 | }\ 105 | \ 106 | .ace-eclipse .ace_line .ace_constant.ace_numeric {\ 107 | }\ 108 | \ 109 | .ace-eclipse .ace_line .ace_tag {\ 110 | color: rgb(63, 127, 127);\ 111 | }\ 112 | \ 113 | .ace-eclipse .ace_line .ace_type {\ 114 | color: rgb(127, 0, 127);\ 115 | }\ 116 | \ 117 | .ace-eclipse .ace_line .ace_xml_pe {\ 118 | color: rgb(104, 104, 91);\ 119 | }\ 120 | \ 121 | .ace-eclipse .ace_marker-layer .ace_selection {\ 122 | background: rgb(181, 213, 255);\ 123 | }\ 124 | \ 125 | .ace-eclipse .ace_marker-layer .ace_bracket {\ 126 | margin: -1px 0 0 -1px;\ 127 | border: 1px solid rgb(192, 192, 192);\ 128 | }\ 129 | \ 130 | .ace-eclipse .ace_line .ace_meta.ace_tag {\ 131 | color:rgb(63, 127, 127);\ 132 | }\ 133 | \ 134 | .ace-eclipse .ace_entity.ace_other.ace_attribute-name {\ 135 | color:rgb(127, 0, 127);\ 136 | }\ 137 | .ace-eclipse .ace_marker-layer .ace_step {\ 138 | background: rgb(255, 255, 0);\ 139 | }\ 140 | \ 141 | .ace-eclipse .ace_marker-layer .ace_active_line {\ 142 | background: rgb(232, 242, 254);\ 143 | }\ 144 | \ 145 | .ace-eclipse .ace_marker-layer .ace_selected_word {\ 146 | border: 1px solid rgb(181, 213, 255);\ 147 | }\ 148 | \ 149 | .ace-eclipse .ace_indent-guide {\ 150 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 151 | }"; 152 | 153 | exports.cssClass = "ace-eclipse"; 154 | 155 | var dom = require("../lib/dom"); 156 | dom.importCssString(exports.cssText, exports.cssClass); 157 | }); 158 | -------------------------------------------------------------------------------- /lib/ace/mode/sql.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * The Original Code is Ajax.org Code Editor (ACE). 3 | * 4 | * Contributor(s): 5 | * Jonathan Camile 6 | * 7 | * Alternatively, the contents of this file may be used under the terms of 8 | * either the GNU General Public License Version 2 or later (the "GPL"), or 9 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 10 | * in which case the provisions of the GPL or the LGPL are applicable instead 11 | * of those above. If you wish to allow use of your version of this file only 12 | * under the terms of either the GPL or the LGPL, and not to allow others to 13 | * use your version of this file under the terms of the MPL, indicate your 14 | * decision by deleting the provisions above and replace them with the notice 15 | * and other provisions required by the GPL or the LGPL. If you do not delete 16 | * the provisions above, a recipient may use your version of this file under 17 | * the terms of any one of the MPL, the GPL or the LGPL. 18 | * 19 | * ***** END LICENSE BLOCK ***** */ 20 | 21 | ace.define('ace/mode/sql', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/sql_highlight_rules', 'ace/range'], function(require, exports, module) { 22 | 23 | 24 | var oop = require("../lib/oop"); 25 | var TextMode = require("./text").Mode; 26 | var Tokenizer = require("../tokenizer").Tokenizer; 27 | var SqlHighlightRules = require("./sql_highlight_rules").SqlHighlightRules; 28 | var Range = require("../range").Range; 29 | 30 | var Mode = function() { 31 | this.$tokenizer = new Tokenizer(new SqlHighlightRules().getRules()); 32 | }; 33 | oop.inherits(Mode, TextMode); 34 | 35 | (function() { 36 | 37 | this.toggleCommentLines = function(state, doc, startRow, endRow) { 38 | var outdent = true; 39 | var outentedRows = []; 40 | var re = /^(\s*)--/; 41 | 42 | for (var i=startRow; i<= endRow; i++) { 43 | if (!re.test(doc.getLine(i))) { 44 | outdent = false; 45 | break; 46 | } 47 | } 48 | 49 | if (outdent) { 50 | var deleteRange = new Range(0, 0, 0, 0); 51 | for (var i=startRow; i<= endRow; i++) 52 | { 53 | var line = doc.getLine(i); 54 | var m = line.match(re); 55 | deleteRange.start.row = i; 56 | deleteRange.end.row = i; 57 | deleteRange.end.column = m[0].length; 58 | doc.replace(deleteRange, m[1]); 59 | } 60 | } 61 | else { 62 | doc.indentRows(startRow, endRow, "--"); 63 | } 64 | }; 65 | 66 | }).call(Mode.prototype); 67 | 68 | exports.Mode = Mode; 69 | 70 | }); 71 | 72 | ace.define('ace/mode/sql_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 73 | 74 | 75 | var oop = require("../lib/oop"); 76 | var lang = require("../lib/lang"); 77 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 78 | 79 | var SqlHighlightRules = function() { 80 | 81 | var keywords = lang.arrayToMap( 82 | ("select|from|where|and|or|group|by|order|limit|offset|having|as|case|" + 83 | "when|else|end|type|left|right|join|on|outer|desc|asc").split("|") 84 | ); 85 | 86 | var builtinConstants = lang.arrayToMap( 87 | ("true|false|null").split("|") 88 | ); 89 | 90 | var builtinFunctions = lang.arrayToMap( 91 | ("count|min|max|avg|sum|rank|now|coalesce").split("|") 92 | ); 93 | 94 | this.$rules = { 95 | "start" : [ { 96 | token : "comment", 97 | regex : "--.*$" 98 | }, { 99 | token : "string", // " string 100 | regex : '".*"' 101 | }, { 102 | token : "string", // ' string 103 | regex : "'.*'" 104 | }, { 105 | token : "constant.numeric", // float 106 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" 107 | }, { 108 | token : function(value) { 109 | value = value.toLowerCase(); 110 | if (keywords.hasOwnProperty(value)) 111 | return "keyword"; 112 | else if (builtinConstants.hasOwnProperty(value)) 113 | return "constant.language"; 114 | else if (builtinFunctions.hasOwnProperty(value)) 115 | return "support.function"; 116 | else 117 | return "identifier"; 118 | }, 119 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 120 | }, { 121 | token : "keyword.operator", 122 | regex : "\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=" 123 | }, { 124 | token : "paren.lparen", 125 | regex : "[\\(]" 126 | }, { 127 | token : "paren.rparen", 128 | regex : "[\\)]" 129 | }, { 130 | token : "text", 131 | regex : "\\s+" 132 | } ] 133 | }; 134 | }; 135 | 136 | oop.inherits(SqlHighlightRules, TextHighlightRules); 137 | 138 | exports.SqlHighlightRules = SqlHighlightRules; 139 | }); 140 | 141 | -------------------------------------------------------------------------------- /lib/ace/theme/clouds_midnight.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/clouds_midnight', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-clouds-midnight"; 42 | exports.cssText = "\ 43 | .ace-clouds-midnight .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-clouds-midnight .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-clouds-midnight .ace_gutter {\ 52 | background: #232323;\ 53 | color: #929292;\ 54 | }\ 55 | \ 56 | .ace-clouds-midnight .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #232323;\ 59 | }\ 60 | \ 61 | .ace-clouds-midnight .ace_scroller {\ 62 | background-color: #191919;\ 63 | }\ 64 | \ 65 | .ace-clouds-midnight .ace_text-layer {\ 66 | color: #929292;\ 67 | }\ 68 | \ 69 | .ace-clouds-midnight .ace_cursor {\ 70 | border-left: 2px solid #7DA5DC;\ 71 | }\ 72 | \ 73 | .ace-clouds-midnight .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #7DA5DC;\ 76 | }\ 77 | \ 78 | .ace-clouds-midnight .ace_marker-layer .ace_selection {\ 79 | background: #000000;\ 80 | }\ 81 | \ 82 | .ace-clouds-midnight.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #191919;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-clouds-midnight .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-clouds-midnight .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #BFBFBF;\ 94 | }\ 95 | \ 96 | .ace-clouds-midnight .ace_marker-layer .ace_active_line {\ 97 | background: rgba(215, 215, 215, 0.031);\ 98 | }\ 99 | \ 100 | .ace-clouds-midnight .ace_gutter_active_line {\ 101 | background-color: rgba(215, 215, 215, 0.031);\ 102 | }\ 103 | \ 104 | .ace-clouds-midnight .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #000000;\ 106 | }\ 107 | \ 108 | .ace-clouds-midnight .ace_invisible {\ 109 | color: #BFBFBF;\ 110 | }\ 111 | \ 112 | .ace-clouds-midnight .ace_keyword, .ace-clouds-midnight .ace_meta {\ 113 | color:#927C5D;\ 114 | }\ 115 | \ 116 | .ace-clouds-midnight .ace_keyword.ace_operator {\ 117 | color:#4B4B4B;\ 118 | }\ 119 | \ 120 | .ace-clouds-midnight .ace_constant.ace_language {\ 121 | color:#39946A;\ 122 | }\ 123 | \ 124 | .ace-clouds-midnight .ace_constant.ace_numeric {\ 125 | color:#46A609;\ 126 | }\ 127 | \ 128 | .ace-clouds-midnight .ace_invalid {\ 129 | color:#FFFFFF;\ 130 | background-color:#E92E2E;\ 131 | }\ 132 | \ 133 | .ace-clouds-midnight .ace_fold {\ 134 | background-color: #927C5D;\ 135 | border-color: #929292;\ 136 | }\ 137 | \ 138 | .ace-clouds-midnight .ace_support.ace_function {\ 139 | color:#E92E2E;\ 140 | }\ 141 | \ 142 | .ace-clouds-midnight .ace_storage {\ 143 | color:#E92E2E;\ 144 | }\ 145 | \ 146 | .ace-clouds-midnight .ace_string {\ 147 | color:#5D90CD;\ 148 | }\ 149 | \ 150 | .ace-clouds-midnight .ace_comment {\ 151 | color:#3C403B;\ 152 | }\ 153 | \ 154 | .ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name {\ 155 | color:#606060;\ 156 | }\ 157 | \ 158 | .ace-clouds-midnight .ace_markup.ace_underline {\ 159 | text-decoration:underline;\ 160 | }\ 161 | \ 162 | .ace-clouds-midnight .ace_indent-guide {\ 163 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQlJT8z1BeXv4fAA2KA6+h9Z+2AAAAAElFTkSuQmCC) right repeat-y;\ 164 | }"; 165 | 166 | var dom = require("../lib/dom"); 167 | dom.importCssString(exports.cssText, exports.cssClass); 168 | }); 169 | -------------------------------------------------------------------------------- /lib/ace/theme/solarized_dark.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/solarized_dark', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-solarized-dark"; 42 | exports.cssText = "\ 43 | .ace-solarized-dark .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-solarized-dark .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-solarized-dark .ace_gutter {\ 52 | background: #01313f;\ 53 | color: #d0edf7;\ 54 | }\ 55 | \ 56 | .ace-solarized-dark .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #33555E;\ 59 | }\ 60 | \ 61 | .ace-solarized-dark .ace_scroller {\ 62 | background-color: #002B36;\ 63 | }\ 64 | \ 65 | .ace-solarized-dark .ace_text-layer {\ 66 | color: #93A1A1;\ 67 | }\ 68 | \ 69 | .ace-solarized-dark .ace_cursor {\ 70 | border-left: 2px solid #D30102;\ 71 | }\ 72 | \ 73 | .ace-solarized-dark .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #D30102;\ 76 | }\ 77 | \ 78 | .ace-solarized-dark .ace_marker-layer .ace_selection {\ 79 | background: #073642;\ 80 | }\ 81 | \ 82 | .ace-solarized-dark.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #002B36;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-solarized-dark .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-solarized-dark .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(147, 161, 161, 0.50);\ 94 | }\ 95 | \ 96 | .ace-solarized-dark .ace_marker-layer .ace_active_line {\ 97 | background: #073642;\ 98 | }\ 99 | \ 100 | .ace-solarized-dark .ace_gutter_active_line {\ 101 | background-color: #0d3440;\ 102 | }\ 103 | \ 104 | .ace-solarized-dark .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #073642;\ 106 | }\ 107 | \ 108 | .ace-solarized-dark .ace_invisible {\ 109 | color: rgba(147, 161, 161, 0.50);\ 110 | }\ 111 | \ 112 | .ace-solarized-dark .ace_keyword, .ace-solarized-dark .ace_meta {\ 113 | color:#859900;\ 114 | }\ 115 | \ 116 | .ace-solarized-dark .ace_constant.ace_language {\ 117 | color:#B58900;\ 118 | }\ 119 | \ 120 | .ace-solarized-dark .ace_constant.ace_numeric {\ 121 | color:#D33682;\ 122 | }\ 123 | \ 124 | .ace-solarized-dark .ace_constant.ace_other {\ 125 | color:#CB4B16;\ 126 | }\ 127 | \ 128 | .ace-solarized-dark .ace_fold {\ 129 | background-color: #268BD2;\ 130 | border-color: #93A1A1;\ 131 | }\ 132 | \ 133 | .ace-solarized-dark .ace_support.ace_function {\ 134 | color:#268BD2;\ 135 | }\ 136 | \ 137 | .ace-solarized-dark .ace_storage {\ 138 | color:#93A1A1;\ 139 | }\ 140 | \ 141 | .ace-solarized-dark .ace_variable {\ 142 | color:#268BD2;\ 143 | }\ 144 | \ 145 | .ace-solarized-dark .ace_string {\ 146 | color:#2AA198;\ 147 | }\ 148 | \ 149 | .ace-solarized-dark .ace_string.ace_regexp {\ 150 | color:#D30102;\ 151 | }\ 152 | \ 153 | .ace-solarized-dark .ace_comment {\ 154 | font-style:italic;\ 155 | color:#657B83;\ 156 | }\ 157 | \ 158 | .ace-solarized-dark .ace_variable.ace_language {\ 159 | color:#268BD2;\ 160 | }\ 161 | \ 162 | .ace-solarized-dark .ace_entity.ace_other.ace_attribute-name {\ 163 | color:#93A1A1;\ 164 | }\ 165 | \ 166 | .ace-solarized-dark .ace_entity.ace_name.ace_function {\ 167 | color:#268BD2;\ 168 | }\ 169 | \ 170 | .ace-solarized-dark .ace_markup.ace_underline {\ 171 | text-decoration:underline;\ 172 | }\ 173 | \ 174 | .ace-solarized-dark .ace_indent-guide {\ 175 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db7zzBz5sz/AA82BCv7wOIDAAAAAElFTkSuQmCC) right repeat-y;\ 176 | }"; 177 | 178 | var dom = require("../lib/dom"); 179 | dom.importCssString(exports.cssText, exports.cssClass); 180 | }); 181 | -------------------------------------------------------------------------------- /lib/ace/theme/solarized_light.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/solarized_light', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = false; 41 | exports.cssClass = "ace-solarized-light"; 42 | exports.cssText = "\ 43 | .ace-solarized-light .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-solarized-light .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-solarized-light .ace_gutter {\ 52 | background: #fbf1d3;\ 53 | color: #333;\ 54 | }\ 55 | \ 56 | .ace-solarized-light .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #e8e8e8;\ 59 | }\ 60 | \ 61 | .ace-solarized-light .ace_scroller {\ 62 | background-color: #FDF6E3;\ 63 | }\ 64 | \ 65 | .ace-solarized-light .ace_text-layer {\ 66 | color: #586E75;\ 67 | }\ 68 | \ 69 | .ace-solarized-light .ace_cursor {\ 70 | border-left: 2px solid #000000;\ 71 | }\ 72 | \ 73 | .ace-solarized-light .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #000000;\ 76 | }\ 77 | \ 78 | .ace-solarized-light .ace_marker-layer .ace_selection {\ 79 | background: #073642;\ 80 | }\ 81 | \ 82 | .ace-solarized-light.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #FDF6E3;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-solarized-light .ace_marker-layer .ace_step {\ 88 | background: rgb(255, 255, 0);\ 89 | }\ 90 | \ 91 | .ace-solarized-light .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(147, 161, 161, 0.50);\ 94 | }\ 95 | \ 96 | .ace-solarized-light .ace_marker-layer .ace_active_line {\ 97 | background: #EEE8D5;\ 98 | }\ 99 | \ 100 | .ace-solarized-light .ace_gutter_active_line {\ 101 | background-color : #dcdcdc;\ 102 | }\ 103 | \ 104 | .ace-solarized-light .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #073642;\ 106 | }\ 107 | \ 108 | .ace-solarized-light .ace_invisible {\ 109 | color: rgba(147, 161, 161, 0.50);\ 110 | }\ 111 | \ 112 | .ace-solarized-light .ace_keyword, .ace-solarized-light .ace_meta {\ 113 | color:#859900;\ 114 | }\ 115 | \ 116 | .ace-solarized-light .ace_constant.ace_language {\ 117 | color:#B58900;\ 118 | }\ 119 | \ 120 | .ace-solarized-light .ace_constant.ace_numeric {\ 121 | color:#D33682;\ 122 | }\ 123 | \ 124 | .ace-solarized-light .ace_constant.ace_other {\ 125 | color:#CB4B16;\ 126 | }\ 127 | \ 128 | .ace-solarized-light .ace_fold {\ 129 | background-color: #268BD2;\ 130 | border-color: #586E75;\ 131 | }\ 132 | \ 133 | .ace-solarized-light .ace_support.ace_function {\ 134 | color:#268BD2;\ 135 | }\ 136 | \ 137 | .ace-solarized-light .ace_storage {\ 138 | color:#073642;\ 139 | }\ 140 | \ 141 | .ace-solarized-light .ace_variable {\ 142 | color:#268BD2;\ 143 | }\ 144 | \ 145 | .ace-solarized-light .ace_string {\ 146 | color:#2AA198;\ 147 | }\ 148 | \ 149 | .ace-solarized-light .ace_string.ace_regexp {\ 150 | color:#D30102;\ 151 | }\ 152 | \ 153 | .ace-solarized-light .ace_comment {\ 154 | color:#93A1A1;\ 155 | }\ 156 | \ 157 | .ace-solarized-light .ace_variable.ace_language {\ 158 | color:#268BD2;\ 159 | }\ 160 | \ 161 | .ace-solarized-light .ace_entity.ace_other.ace_attribute-name {\ 162 | color:#93A1A1;\ 163 | }\ 164 | \ 165 | .ace-solarized-light .ace_entity.ace_name.ace_function {\ 166 | color:#268BD2;\ 167 | }\ 168 | \ 169 | .ace-solarized-light .ace_markup.ace_underline {\ 170 | text-decoration:underline;\ 171 | }\ 172 | \ 173 | .ace-solarized-light .ace_indent-guide {\ 174 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4++3xf4ZVq1b9BwAjxwbT1g3hiwAAAABJRU5ErkJggg==) right repeat-y;\ 175 | }"; 176 | 177 | var dom = require("../lib/dom"); 178 | dom.importCssString(exports.cssText, exports.cssClass); 179 | }); 180 | -------------------------------------------------------------------------------- /lib/ace/theme/merbivore.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/merbivore', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-merbivore"; 42 | exports.cssText = "\ 43 | .ace-merbivore .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-merbivore .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-merbivore .ace_gutter {\ 52 | background: #202020;\ 53 | color: #E6E1DC;\ 54 | }\ 55 | \ 56 | .ace-merbivore .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #555651;\ 59 | }\ 60 | \ 61 | .ace-merbivore .ace_scroller {\ 62 | background-color: #161616;\ 63 | }\ 64 | \ 65 | .ace-merbivore .ace_text-layer {\ 66 | color: #E6E1DC;\ 67 | }\ 68 | \ 69 | .ace-merbivore .ace_cursor {\ 70 | border-left: 2px solid #FFFFFF;\ 71 | }\ 72 | \ 73 | .ace-merbivore .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #FFFFFF;\ 76 | }\ 77 | \ 78 | .ace-merbivore .ace_marker-layer .ace_selection {\ 79 | background: #454545;\ 80 | }\ 81 | \ 82 | .ace-merbivore.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #161616;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-merbivore .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-merbivore .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #404040;\ 94 | }\ 95 | \ 96 | .ace-merbivore .ace_marker-layer .ace_active_line {\ 97 | background: #333435;\ 98 | }\ 99 | \ 100 | .ace-merbivore .ace_gutter_active_line {\ 101 | background-color : #333435;\ 102 | }\ 103 | \ 104 | .ace-merbivore .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #454545;\ 106 | }\ 107 | \ 108 | .ace-merbivore .ace_invisible {\ 109 | color: #404040;\ 110 | }\ 111 | \ 112 | .ace-merbivore .ace_keyword, .ace-merbivore .ace_meta {\ 113 | color:#FC6F09;\ 114 | }\ 115 | \ 116 | .ace-merbivore .ace_constant, .ace-merbivore .ace_constant.ace_other {\ 117 | color:#1EDAFB;\ 118 | }\ 119 | \ 120 | .ace-merbivore .ace_constant.ace_character, {\ 121 | color:#1EDAFB;\ 122 | }\ 123 | \ 124 | .ace-merbivore .ace_constant.ace_character.ace_escape, {\ 125 | color:#1EDAFB;\ 126 | }\ 127 | \ 128 | .ace-merbivore .ace_constant.ace_language {\ 129 | color:#FDC251;\ 130 | }\ 131 | \ 132 | .ace-merbivore .ace_constant.ace_library {\ 133 | color:#8DFF0A;\ 134 | }\ 135 | \ 136 | .ace-merbivore .ace_constant.ace_numeric {\ 137 | color:#58C554;\ 138 | }\ 139 | \ 140 | .ace-merbivore .ace_invalid {\ 141 | color:#FFFFFF;\ 142 | background-color:#990000;\ 143 | }\ 144 | \ 145 | .ace-merbivore .ace_support.ace_constant {\ 146 | color:#8DFF0A;\ 147 | }\ 148 | \ 149 | .ace-merbivore .ace_fold {\ 150 | background-color: #FC6F09;\ 151 | border-color: #E6E1DC;\ 152 | }\ 153 | \ 154 | .ace-merbivore .ace_support.ace_function {\ 155 | color:#FC6F09;\ 156 | }\ 157 | \ 158 | .ace-merbivore .ace_storage {\ 159 | color:#FC6F09;\ 160 | }\ 161 | \ 162 | .ace-merbivore .ace_string {\ 163 | color:#8DFF0A;\ 164 | }\ 165 | \ 166 | .ace-merbivore .ace_comment {\ 167 | font-style:italic;\ 168 | color:#AD2EA4;\ 169 | }\ 170 | \ 171 | .ace-merbivore .ace_meta.ace_tag {\ 172 | color:#FC6F09;\ 173 | }\ 174 | \ 175 | .ace-merbivore .ace_entity.ace_other.ace_attribute-name {\ 176 | color:#FFFF89;\ 177 | }\ 178 | \ 179 | .ace-merbivore .ace_markup.ace_underline {\ 180 | text-decoration:underline;\ 181 | }\ 182 | \ 183 | .ace-merbivore .ace_indent-guide {\ 184 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQExP7zzBz5sz/AA50BAyDznYhAAAAAElFTkSuQmCC) right repeat-y;\ 185 | }"; 186 | 187 | var dom = require("../lib/dom"); 188 | dom.importCssString(exports.cssText, exports.cssClass); 189 | }); 190 | -------------------------------------------------------------------------------- /lib/ace/theme/monokai.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/monokai', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-monokai"; 42 | exports.cssText = "\ 43 | .ace-monokai .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-monokai .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-monokai .ace_gutter {\ 52 | background: #2f3129;\ 53 | color: #f1f1f1;\ 54 | }\ 55 | \ 56 | .ace-monokai .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #555651;\ 59 | }\ 60 | \ 61 | .ace-monokai .ace_scroller {\ 62 | background-color: #272822;\ 63 | }\ 64 | \ 65 | .ace-monokai .ace_text-layer {\ 66 | color: #F8F8F2;\ 67 | }\ 68 | \ 69 | .ace-monokai .ace_cursor {\ 70 | border-left: 2px solid #F8F8F0;\ 71 | }\ 72 | \ 73 | .ace-monokai .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #F8F8F0;\ 76 | }\ 77 | \ 78 | .ace-monokai .ace_marker-layer .ace_selection {\ 79 | background: #49483E;\ 80 | }\ 81 | \ 82 | .ace-monokai.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #272822;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-monokai .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-monokai .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #49483E;\ 94 | }\ 95 | \ 96 | .ace-monokai .ace_marker-layer .ace_active_line {\ 97 | background: #49483E;\ 98 | }\ 99 | .ace-monokai .ace_gutter_active_line {\ 100 | background-color: #191916;\ 101 | }\ 102 | \ 103 | .ace-monokai .ace_marker-layer .ace_selected_word {\ 104 | border: 1px solid #49483E;\ 105 | }\ 106 | \ 107 | .ace-monokai .ace_invisible {\ 108 | color: #49483E;\ 109 | }\ 110 | \ 111 | .ace-monokai .ace_keyword, .ace-monokai .ace_meta {\ 112 | color:#F92672;\ 113 | }\ 114 | \ 115 | .ace-monokai .ace_constant.ace_language {\ 116 | color:#AE81FF;\ 117 | }\ 118 | \ 119 | .ace-monokai .ace_constant.ace_numeric {\ 120 | color:#AE81FF;\ 121 | }\ 122 | \ 123 | .ace-monokai .ace_constant.ace_other {\ 124 | color:#AE81FF;\ 125 | }\ 126 | \ 127 | .ace-monokai .ace_invalid {\ 128 | color:#F8F8F0;\ 129 | background-color:#F92672;\ 130 | }\ 131 | \ 132 | .ace-monokai .ace_invalid.ace_deprecated {\ 133 | color:#F8F8F0;\ 134 | background-color:#AE81FF;\ 135 | }\ 136 | \ 137 | .ace-monokai .ace_support.ace_constant {\ 138 | color:#66D9EF;\ 139 | }\ 140 | \ 141 | .ace-monokai .ace_fold {\ 142 | background-color: #A6E22E;\ 143 | border-color: #F8F8F2;\ 144 | }\ 145 | \ 146 | .ace-monokai .ace_support.ace_function {\ 147 | color:#66D9EF;\ 148 | }\ 149 | \ 150 | .ace-monokai .ace_storage {\ 151 | color:#F92672;\ 152 | }\ 153 | \ 154 | .ace-monokai .ace_storage.ace_type, .ace-monokai .ace_support.ace_type{\ 155 | font-style:italic;\ 156 | color:#66D9EF;\ 157 | }\ 158 | \ 159 | .ace-monokai .ace_variable {\ 160 | color:#A6E22E;\ 161 | }\ 162 | \ 163 | .ace-monokai .ace_variable.ace_parameter {\ 164 | font-style:italic;\ 165 | color:#FD971F;\ 166 | }\ 167 | \ 168 | .ace-monokai .ace_string {\ 169 | color:#E6DB74;\ 170 | }\ 171 | \ 172 | .ace-monokai .ace_comment {\ 173 | color:#75715E;\ 174 | }\ 175 | \ 176 | .ace-monokai .ace_entity.ace_other.ace_attribute-name {\ 177 | color:#A6E22E;\ 178 | }\ 179 | \ 180 | .ace-monokai .ace_entity.ace_name.ace_function {\ 181 | color:#A6E22E;\ 182 | }\ 183 | \ 184 | .ace-monokai .ace_markup.ace_underline {\ 185 | text-decoration:underline;\ 186 | }\ 187 | \ 188 | .ace-monokai .ace_indent-guide {\ 189 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ11D6z7Bq1ar/ABCKBG6g04U2AAAAAElFTkSuQmCC) right repeat-y;\ 190 | }"; 191 | 192 | var dom = require("../lib/dom"); 193 | dom.importCssString(exports.cssText, exports.cssClass); 194 | }); 195 | -------------------------------------------------------------------------------- /lib/ace/theme/cobalt.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/cobalt', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-cobalt"; 42 | exports.cssText = "\ 43 | .ace-cobalt .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-cobalt .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-cobalt .ace_gutter {\ 52 | background: #011e3a;\ 53 | color: #fff;\ 54 | }\ 55 | \ 56 | .ace-cobalt .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #011e3a;\ 59 | }\ 60 | \ 61 | .ace-cobalt .ace_scroller {\ 62 | background-color: #002240;\ 63 | }\ 64 | \ 65 | .ace-cobalt .ace_text-layer {\ 66 | color: #FFFFFF;\ 67 | }\ 68 | \ 69 | .ace-cobalt .ace_cursor {\ 70 | border-left: 2px solid #FFFFFF;\ 71 | }\ 72 | \ 73 | .ace-cobalt .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #FFFFFF;\ 76 | }\ 77 | \ 78 | .ace-cobalt .ace_marker-layer .ace_selection {\ 79 | background: rgba(179, 101, 57, 0.75);\ 80 | }\ 81 | \ 82 | .ace-cobalt.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #002240;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-cobalt .ace_marker-layer .ace_step {\ 88 | background: rgb(127, 111, 19);\ 89 | }\ 90 | \ 91 | .ace-cobalt .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(255, 255, 255, 0.15);\ 94 | }\ 95 | \ 96 | .ace-cobalt .ace_marker-layer .ace_active_line {\ 97 | background: rgba(0, 0, 0, 0.35);\ 98 | }\ 99 | \ 100 | .ace-cobalt .ace_gutter_active_line {\ 101 | background-color : rgba(0, 0, 0, 0.35);\ 102 | }\ 103 | \ 104 | .ace-cobalt .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid rgba(179, 101, 57, 0.75);\ 106 | }\ 107 | \ 108 | .ace-cobalt .ace_invisible {\ 109 | color: rgba(255, 255, 255, 0.15);\ 110 | }\ 111 | \ 112 | .ace-cobalt .ace_keyword, .ace-cobalt .ace_meta {\ 113 | color:#FF9D00;\ 114 | }\ 115 | \ 116 | .ace-cobalt .ace_constant, .ace-cobalt .ace_constant.ace_other {\ 117 | color:#FF628C;\ 118 | }\ 119 | \ 120 | .ace-cobalt .ace_constant.ace_character, {\ 121 | color:#FF628C;\ 122 | }\ 123 | \ 124 | .ace-cobalt .ace_constant.ace_character.ace_escape, {\ 125 | color:#FF628C;\ 126 | }\ 127 | \ 128 | .ace-cobalt .ace_invalid {\ 129 | color:#F8F8F8;\ 130 | background-color:#800F00;\ 131 | }\ 132 | \ 133 | .ace-cobalt .ace_support {\ 134 | color:#80FFBB;\ 135 | }\ 136 | \ 137 | .ace-cobalt .ace_support.ace_constant {\ 138 | color:#EB939A;\ 139 | }\ 140 | \ 141 | .ace-cobalt .ace_fold {\ 142 | background-color: #FF9D00;\ 143 | border-color: #FFFFFF;\ 144 | }\ 145 | \ 146 | .ace-cobalt .ace_support.ace_function {\ 147 | color:#FFB054;\ 148 | }\ 149 | \ 150 | .ace-cobalt .ace_storage {\ 151 | color:#FFEE80;\ 152 | }\ 153 | \ 154 | .ace-cobalt .ace_string.ace_regexp {\ 155 | color:#80FFC2;\ 156 | }\ 157 | \ 158 | .ace-cobalt .ace_comment {\ 159 | font-style:italic;\ 160 | color:#0088FF;\ 161 | }\ 162 | \ 163 | .ace-cobalt .ace_variable {\ 164 | color:#CCCCCC;\ 165 | }\ 166 | \ 167 | .ace-cobalt .ace_variable.ace_language {\ 168 | color:#FF80E1;\ 169 | }\ 170 | \ 171 | .ace-cobalt .ace_meta.ace_tag {\ 172 | color:#9EFFFF;\ 173 | }\ 174 | \ 175 | .ace-cobalt .ace_markup.ace_underline {\ 176 | text-decoration:underline;\ 177 | }\ 178 | \ 179 | .ace-cobalt .ace_markup.ace_heading {\ 180 | color:#C8E4FD;\ 181 | background-color:#001221;\ 182 | }\ 183 | \ 184 | .ace-cobalt .ace_markup.ace_list {\ 185 | background-color:#130D26;\ 186 | }\ 187 | \ 188 | .ace-cobalt .ace_indent-guide {\ 189 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgUHL4zzBz5sz/AA80BCzv+WXhAAAAAElFTkSuQmCC) right repeat-y;\ 190 | }"; 191 | 192 | var dom = require("../lib/dom"); 193 | dom.importCssString(exports.cssText, exports.cssClass); 194 | }); 195 | -------------------------------------------------------------------------------- /lib/ace/theme/kr_theme.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/kr_theme', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-kr-theme"; 42 | exports.cssText = "\ 43 | .ace-kr-theme .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-kr-theme .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-kr-theme .ace_gutter {\ 52 | background: #1c1917;\ 53 | color: #FCFFE0;\ 54 | }\ 55 | \ 56 | .ace-kr-theme .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #1c1917;\ 59 | }\ 60 | \ 61 | .ace-kr-theme .ace_scroller {\ 62 | background-color: #0B0A09;\ 63 | }\ 64 | \ 65 | .ace-kr-theme .ace_text-layer {\ 66 | color: #FCFFE0;\ 67 | }\ 68 | \ 69 | .ace-kr-theme .ace_cursor {\ 70 | border-left: 2px solid #FF9900;\ 71 | }\ 72 | \ 73 | .ace-kr-theme .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #FF9900;\ 76 | }\ 77 | \ 78 | .ace-kr-theme .ace_marker-layer .ace_selection {\ 79 | background: rgba(170, 0, 255, 0.45);\ 80 | }\ 81 | \ 82 | .ace-kr-theme.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #0B0A09;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-kr-theme .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-kr-theme .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(255, 177, 111, 0.32);\ 94 | }\ 95 | \ 96 | .ace-kr-theme .ace_marker-layer .ace_active_line {\ 97 | background: #38403D;\ 98 | }\ 99 | \ 100 | .ace-kr-theme .ace_gutter_active_line {\ 101 | background-color : #38403D;\ 102 | }\ 103 | \ 104 | .ace-kr-theme .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid rgba(170, 0, 255, 0.45);\ 106 | }\ 107 | \ 108 | .ace-kr-theme .ace_invisible {\ 109 | color: rgba(255, 177, 111, 0.32);\ 110 | }\ 111 | \ 112 | .ace-kr-theme .ace_keyword, .ace-kr-theme .ace_meta {\ 113 | color:#949C8B;\ 114 | }\ 115 | \ 116 | .ace-kr-theme .ace_constant, .ace-kr-theme .ace_constant.ace_other {\ 117 | color:rgba(210, 117, 24, 0.76);\ 118 | }\ 119 | \ 120 | .ace-kr-theme .ace_constant.ace_character, {\ 121 | color:rgba(210, 117, 24, 0.76);\ 122 | }\ 123 | \ 124 | .ace-kr-theme .ace_constant.ace_character.ace_escape, {\ 125 | color:rgba(210, 117, 24, 0.76);\ 126 | }\ 127 | \ 128 | .ace-kr-theme .ace_invalid {\ 129 | color:#F8F8F8;\ 130 | background-color:#A41300;\ 131 | }\ 132 | \ 133 | .ace-kr-theme .ace_support {\ 134 | color:#9FC28A;\ 135 | }\ 136 | \ 137 | .ace-kr-theme .ace_support.ace_constant {\ 138 | color:#C27E66;\ 139 | }\ 140 | \ 141 | .ace-kr-theme .ace_fold {\ 142 | background-color: #949C8B;\ 143 | border-color: #FCFFE0;\ 144 | }\ 145 | \ 146 | .ace-kr-theme .ace_support.ace_function {\ 147 | color:#85873A;\ 148 | }\ 149 | \ 150 | .ace-kr-theme .ace_storage {\ 151 | color:#FFEE80;\ 152 | }\ 153 | \ 154 | .ace-kr-theme .ace_string.ace_regexp {\ 155 | color:rgba(125, 255, 192, 0.65);\ 156 | }\ 157 | \ 158 | .ace-kr-theme .ace_comment {\ 159 | font-style:italic;\ 160 | color:#706D5B;\ 161 | }\ 162 | \ 163 | .ace-kr-theme .ace_variable {\ 164 | color:#D1A796;\ 165 | }\ 166 | \ 167 | .ace-kr-theme .ace_variable.ace_language {\ 168 | color:#FF80E1;\ 169 | }\ 170 | \ 171 | .ace-kr-theme .ace_meta.ace_tag {\ 172 | color:#BABD9C;\ 173 | }\ 174 | \ 175 | .ace-kr-theme .ace_markup.ace_underline {\ 176 | text-decoration:underline;\ 177 | }\ 178 | \ 179 | .ace-kr-theme .ace_markup.ace_list {\ 180 | background-color:#0F0040;\ 181 | }\ 182 | \ 183 | .ace-kr-theme .ace_indent-guide {\ 184 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPg5uL8zzBz5sz/AA1WA+hUYIqjAAAAAElFTkSuQmCC) right repeat-y;\ 185 | }"; 186 | 187 | var dom = require("../lib/dom"); 188 | dom.importCssString(exports.cssText, exports.cssClass); 189 | }); 190 | -------------------------------------------------------------------------------- /lib/ace/theme/idle_fingers.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/idle_fingers', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-idle-fingers"; 42 | exports.cssText = "\ 43 | .ace-idle-fingers .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-idle-fingers .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-idle-fingers .ace_gutter {\ 52 | background: #3b3b3b;\ 53 | color: #fff;\ 54 | }\ 55 | \ 56 | .ace-idle-fingers .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #3b3b3b;\ 59 | }\ 60 | \ 61 | .ace-idle-fingers .ace_scroller {\ 62 | background-color: #323232;\ 63 | }\ 64 | \ 65 | .ace-idle-fingers .ace_text-layer {\ 66 | color: #FFFFFF;\ 67 | }\ 68 | \ 69 | .ace-idle-fingers .ace_cursor {\ 70 | border-left: 2px solid #91FF00;\ 71 | }\ 72 | \ 73 | .ace-idle-fingers .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #91FF00;\ 76 | }\ 77 | \ 78 | .ace-idle-fingers .ace_marker-layer .ace_selection {\ 79 | background: rgba(90, 100, 126, 0.88);\ 80 | }\ 81 | \ 82 | .ace-idle-fingers.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #323232;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-idle-fingers .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-idle-fingers .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #404040;\ 94 | }\ 95 | \ 96 | .ace-idle-fingers .ace_marker-layer .ace_active_line {\ 97 | background: #353637;\ 98 | }\ 99 | \ 100 | .ace-idle-fingers .ace_gutter_active_line {\ 101 | background-color: #353637;\ 102 | }\ 103 | \ 104 | .ace-idle-fingers .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid rgba(90, 100, 126, 0.88);\ 106 | }\ 107 | \ 108 | .ace-idle-fingers .ace_invisible {\ 109 | color: #404040;\ 110 | }\ 111 | \ 112 | .ace-idle-fingers .ace_keyword, .ace-idle-fingers .ace_meta {\ 113 | color:#CC7833;\ 114 | }\ 115 | \ 116 | .ace-idle-fingers .ace_constant, .ace-idle-fingers .ace_constant.ace_other {\ 117 | color:#6C99BB;\ 118 | }\ 119 | \ 120 | .ace-idle-fingers .ace_constant.ace_character, {\ 121 | color:#6C99BB;\ 122 | }\ 123 | \ 124 | .ace-idle-fingers .ace_constant.ace_character.ace_escape, {\ 125 | color:#6C99BB;\ 126 | }\ 127 | \ 128 | .ace-idle-fingers .ace_invalid {\ 129 | color:#FFFFFF;\ 130 | background-color:#FF0000;\ 131 | }\ 132 | \ 133 | .ace-idle-fingers .ace_support.ace_constant {\ 134 | color:#6C99BB;\ 135 | }\ 136 | \ 137 | .ace-idle-fingers .ace_fold {\ 138 | background-color: #CC7833;\ 139 | border-color: #FFFFFF;\ 140 | }\ 141 | \ 142 | .ace-idle-fingers .ace_support.ace_function {\ 143 | color:#B83426;\ 144 | }\ 145 | \ 146 | .ace-idle-fingers .ace_variable.ace_parameter {\ 147 | font-style:italic;\ 148 | }\ 149 | \ 150 | .ace-idle-fingers .ace_string {\ 151 | color:#A5C261;\ 152 | }\ 153 | \ 154 | .ace-idle-fingers .ace_string.ace_regexp {\ 155 | color:#CCCC33;\ 156 | }\ 157 | \ 158 | .ace-idle-fingers .ace_comment {\ 159 | font-style:italic;\ 160 | color:#BC9458;\ 161 | }\ 162 | \ 163 | .ace-idle-fingers .ace_meta.ace_tag {\ 164 | color:#FFE5BB;\ 165 | }\ 166 | \ 167 | .ace-idle-fingers .ace_entity.ace_name {\ 168 | color:#FFC66D;\ 169 | }\ 170 | \ 171 | .ace-idle-fingers .ace_markup.ace_underline {\ 172 | text-decoration:underline;\ 173 | }\ 174 | \ 175 | .ace-idle-fingers .ace_collab.ace_user1 {\ 176 | color:#323232;\ 177 | background-color:#FFF980;\ 178 | }\ 179 | \ 180 | .ace-idle-fingers .ace_indent-guide {\ 181 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjL6zzBz5sz/ABEUBGCqhK6UAAAAAElFTkSuQmCC) right repeat-y;\ 182 | }"; 183 | 184 | var dom = require("../lib/dom"); 185 | dom.importCssString(exports.cssText, exports.cssClass); 186 | }); 187 | -------------------------------------------------------------------------------- /lib/ace/theme/dawn.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/dawn', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = false; 41 | exports.cssClass = "ace-dawn"; 42 | exports.cssText = "\ 43 | .ace-dawn .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-dawn .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-dawn .ace_gutter {\ 52 | background: #ebebeb;\ 53 | color: #333;\ 54 | }\ 55 | \ 56 | .ace-dawn .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #e8e8e8;\ 59 | }\ 60 | \ 61 | .ace-dawn .ace_scroller {\ 62 | background-color: #F9F9F9;\ 63 | }\ 64 | \ 65 | .ace-dawn .ace_text-layer {\ 66 | color: #080808;\ 67 | }\ 68 | \ 69 | .ace-dawn .ace_cursor {\ 70 | border-left: 2px solid #000000;\ 71 | }\ 72 | \ 73 | .ace-dawn .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #000000;\ 76 | }\ 77 | \ 78 | .ace-dawn .ace_marker-layer .ace_selection {\ 79 | background: rgba(39, 95, 255, 0.30);\ 80 | }\ 81 | \ 82 | .ace-dawn.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #F9F9F9;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-dawn .ace_marker-layer .ace_step {\ 88 | background: rgb(255, 255, 0);\ 89 | }\ 90 | \ 91 | .ace-dawn .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(75, 75, 126, 0.50);\ 94 | }\ 95 | \ 96 | .ace-dawn .ace_marker-layer .ace_active_line {\ 97 | background: rgba(36, 99, 180, 0.12);\ 98 | }\ 99 | \ 100 | .ace-dawn .ace_gutter_active_line {\ 101 | background-color : #dcdcdc;\ 102 | }\ 103 | \ 104 | .ace-dawn .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid rgba(39, 95, 255, 0.30);\ 106 | }\ 107 | \ 108 | .ace-dawn .ace_invisible {\ 109 | color: rgba(75, 75, 126, 0.50);\ 110 | }\ 111 | \ 112 | .ace-dawn .ace_keyword, .ace-dawn .ace_meta {\ 113 | color:#794938;\ 114 | }\ 115 | \ 116 | .ace-dawn .ace_constant, .ace-dawn .ace_constant.ace_other {\ 117 | color:#811F24;\ 118 | }\ 119 | \ 120 | .ace-dawn .ace_constant.ace_character, {\ 121 | color:#811F24;\ 122 | }\ 123 | \ 124 | .ace-dawn .ace_constant.ace_character.ace_escape, {\ 125 | color:#811F24;\ 126 | }\ 127 | \ 128 | .ace-dawn .ace_invalid.ace_illegal {\ 129 | text-decoration:underline;\ 130 | font-style:italic;\ 131 | color:#F8F8F8;\ 132 | background-color:#B52A1D;\ 133 | }\ 134 | \ 135 | .ace-dawn .ace_invalid.ace_deprecated {\ 136 | text-decoration:underline;\ 137 | font-style:italic;\ 138 | color:#B52A1D;\ 139 | }\ 140 | \ 141 | .ace-dawn .ace_support {\ 142 | color:#691C97;\ 143 | }\ 144 | \ 145 | .ace-dawn .ace_support.ace_constant {\ 146 | color:#B4371F;\ 147 | }\ 148 | \ 149 | .ace-dawn .ace_fold {\ 150 | background-color: #794938;\ 151 | border-color: #080808;\ 152 | }\ 153 | \ 154 | .ace-dawn .ace_support.ace_function {\ 155 | color:#693A17;\ 156 | }\ 157 | \ 158 | .ace-dawn .ace_storage {\ 159 | font-style:italic;\ 160 | color:#A71D5D;\ 161 | }\ 162 | \ 163 | .ace-dawn .ace_string {\ 164 | color:#0B6125;\ 165 | }\ 166 | \ 167 | .ace-dawn .ace_string.ace_regexp {\ 168 | color:#CF5628;\ 169 | }\ 170 | \ 171 | .ace-dawn .ace_comment {\ 172 | font-style:italic;\ 173 | color:#5A525F;\ 174 | }\ 175 | \ 176 | .ace-dawn .ace_variable {\ 177 | color:#234A97;\ 178 | }\ 179 | \ 180 | .ace-dawn .ace_markup.ace_underline {\ 181 | text-decoration:underline;\ 182 | }\ 183 | \ 184 | .ace-dawn .ace_markup.ace_heading {\ 185 | color:#19356D;\ 186 | }\ 187 | \ 188 | .ace-dawn .ace_markup.ace_list {\ 189 | color:#693A17;\ 190 | }\ 191 | \ 192 | .ace-dawn .ace_indent-guide {\ 193 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4+fPnf4ZVq1b9BwAkVQboFQv98gAAAABJRU5ErkJggg==) right repeat-y;\ 194 | }"; 195 | 196 | var dom = require("../lib/dom"); 197 | dom.importCssString(exports.cssText, exports.cssClass); 198 | }); 199 | -------------------------------------------------------------------------------- /lib/ace/theme/github.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/github', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = false; 41 | exports.cssClass = "ace-github"; 42 | exports.cssText = "/* CSS style content from github's default pygments highlighter template.\ 43 | Cursor and selection styles from textmate.css. */\ 44 | .ace-github .ace_editor {\ 45 | color: #333;\ 46 | background-color: #F8F8F8;\ 47 | border: 1px solid #CCC;\ 48 | font: 13px 'Bitstream Vera Sans Mono', Courier, monospace !important;\ 49 | line-height: 19px !important;\ 50 | overflow: auto;\ 51 | padding: 6px 10px;\ 52 | border-radius: 3px;\ 53 | position: relative;\ 54 | margin-bottom: 15px;\ 55 | }\ 56 | \ 57 | .ace-github .ace_gutter {\ 58 | background: #e8e8e8;\ 59 | color: #AAA;\ 60 | }\ 61 | \ 62 | .ace-github .ace_scroller {\ 63 | background: #fff;\ 64 | }\ 65 | \ 66 | .ace-github .ace_keyword {\ 67 | font-weight: bold;\ 68 | }\ 69 | \ 70 | .ace-github .ace_string {\ 71 | color: #D14;\ 72 | }\ 73 | \ 74 | .ace-github .ace_variable.ace_class {\ 75 | color: teal;\ 76 | }\ 77 | \ 78 | .ace-github .ace_constant.ace_numeric {\ 79 | color: #099;\ 80 | }\ 81 | \ 82 | .ace-github .ace_constant.ace_buildin {\ 83 | color: #0086B3;\ 84 | }\ 85 | \ 86 | .ace-github .ace_support.ace_function {\ 87 | color: #0086B3;\ 88 | }\ 89 | \ 90 | .ace-github .ace_comment {\ 91 | color: #998;\ 92 | font-style: italic;\ 93 | }\ 94 | \ 95 | .ace-github .ace_variable.ace_language {\ 96 | color: #0086B3;\ 97 | }\ 98 | \ 99 | .ace-github .ace_paren {\ 100 | font-weight: bold;\ 101 | }\ 102 | \ 103 | .ace-github .ace_boolean {\ 104 | font-weight: bold;\ 105 | }\ 106 | \ 107 | .ace-github .ace_string.ace_regexp {\ 108 | color: #009926;\ 109 | font-weight: normal;\ 110 | }\ 111 | \ 112 | .ace-github .ace_variable.ace_instancce {\ 113 | color: teal;\ 114 | }\ 115 | \ 116 | .ace-github .ace_constant.ace_language {\ 117 | font-weight: bold;\ 118 | }\ 119 | \ 120 | .ace-github .ace_text-layer {\ 121 | }\ 122 | \ 123 | .ace-github .ace_cursor {\ 124 | border-left: 2px solid black;\ 125 | }\ 126 | \ 127 | .ace-github .ace_cursor.ace_overwrite {\ 128 | border-left: 0px;\ 129 | border-bottom: 1px solid black;\ 130 | }\ 131 | \ 132 | .ace-github .ace_marker-layer .ace_active_line {\ 133 | background: rgb(255, 255, 204);\ 134 | }\ 135 | .ace-github .ace_marker-layer .ace_selection {\ 136 | background: rgb(181, 213, 255);\ 137 | }\ 138 | .ace-github.multiselect .ace_selection.start {\ 139 | box-shadow: 0 0 3px 0px white;\ 140 | border-radius: 2px;\ 141 | }\ 142 | /* bold keywords cause cursor issues for some fonts */\ 143 | /* this disables bold style for editor and keeps for static highlighter */\ 144 | .ace-github.ace_editor .ace_line > span {\ 145 | font-weight: normal !important;\ 146 | }\ 147 | \ 148 | .ace-github .ace_marker-layer .ace_step {\ 149 | background: rgb(252, 255, 0);\ 150 | }\ 151 | \ 152 | .ace-github .ace_marker-layer .ace_stack {\ 153 | background: rgb(164, 229, 101);\ 154 | }\ 155 | \ 156 | .ace-github .ace_marker-layer .ace_bracket {\ 157 | margin: -1px 0 0 -1px;\ 158 | border: 1px solid rgb(192, 192, 192);\ 159 | }\ 160 | \ 161 | .ace-github .ace_gutter_active_line{\ 162 | background-color : rgba(0, 0, 0, 0.07);\ 163 | }\ 164 | \ 165 | .ace-github .ace_marker-layer .ace_selected_word {\ 166 | background: rgb(250, 250, 255);\ 167 | border: 1px solid rgb(200, 200, 250);\ 168 | \ 169 | }\ 170 | \ 171 | .ace-github .ace_print_margin {\ 172 | width: 1px;\ 173 | background: #e8e8e8;\ 174 | }\ 175 | \ 176 | .ace-github .ace_indent-guide {\ 177 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 178 | }"; 179 | 180 | var dom = require("../lib/dom"); 181 | dom.importCssString(exports.cssText, exports.cssClass); 182 | }); 183 | -------------------------------------------------------------------------------- /lib/ace/theme/vibrant_ink.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/vibrant_ink', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-vibrant-ink"; 42 | exports.cssText = "\ 43 | .ace-vibrant-ink .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-vibrant-ink .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-vibrant-ink .ace_gutter {\ 52 | background: #1a1a1a;\ 53 | color: #BEBEBE;\ 54 | }\ 55 | \ 56 | .ace-vibrant-ink .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #1a1a1a;\ 59 | }\ 60 | \ 61 | .ace-vibrant-ink .ace_scroller {\ 62 | background-color: #0F0F0F;\ 63 | }\ 64 | \ 65 | .ace-vibrant-ink .ace_text-layer {\ 66 | color: #FFFFFF;\ 67 | }\ 68 | \ 69 | .ace-vibrant-ink .ace_cursor {\ 70 | border-left: 2px solid #FFFFFF;\ 71 | }\ 72 | \ 73 | .ace-vibrant-ink .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #FFFFFF;\ 76 | }\ 77 | \ 78 | .ace-vibrant-ink .ace_marker-layer .ace_selection {\ 79 | background: #6699CC;\ 80 | }\ 81 | \ 82 | .ace-vibrant-ink.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #0F0F0F;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-vibrant-ink .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-vibrant-ink .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #404040;\ 94 | }\ 95 | \ 96 | .ace-vibrant-ink .ace_marker-layer .ace_active_line {\ 97 | background: #333333;\ 98 | }\ 99 | \ 100 | .ace-vibrant-ink .ace_gutter_active_line {\ 101 | background-color: #333333;\ 102 | }\ 103 | \ 104 | .ace-vibrant-ink .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #6699CC;\ 106 | }\ 107 | \ 108 | .ace-vibrant-ink .ace_invisible {\ 109 | color: #404040;\ 110 | }\ 111 | \ 112 | .ace-vibrant-ink .ace_keyword, .ace-vibrant-ink .ace_meta {\ 113 | color:#FF6600;\ 114 | }\ 115 | \ 116 | .ace-vibrant-ink .ace_constant, .ace-vibrant-ink .ace_constant.ace_other {\ 117 | color:#339999;\ 118 | }\ 119 | \ 120 | .ace-vibrant-ink .ace_constant.ace_character, {\ 121 | color:#339999;\ 122 | }\ 123 | \ 124 | .ace-vibrant-ink .ace_constant.ace_character.ace_escape, {\ 125 | color:#339999;\ 126 | }\ 127 | \ 128 | .ace-vibrant-ink .ace_constant.ace_numeric {\ 129 | color:#99CC99;\ 130 | }\ 131 | \ 132 | .ace-vibrant-ink .ace_invalid {\ 133 | color:#CCFF33;\ 134 | background-color:#000000;\ 135 | }\ 136 | \ 137 | .ace-vibrant-ink .ace_invalid.ace_deprecated {\ 138 | color:#CCFF33;\ 139 | background-color:#000000;\ 140 | }\ 141 | \ 142 | .ace-vibrant-ink .ace_fold {\ 143 | background-color: #FFCC00;\ 144 | border-color: #FFFFFF;\ 145 | }\ 146 | \ 147 | .ace-vibrant-ink .ace_support.ace_function {\ 148 | color:#FFCC00;\ 149 | }\ 150 | \ 151 | .ace-vibrant-ink .ace_variable {\ 152 | color:#FFCC00;\ 153 | }\ 154 | \ 155 | .ace-vibrant-ink .ace_variable.ace_parameter {\ 156 | font-style:italic;\ 157 | }\ 158 | \ 159 | .ace-vibrant-ink .ace_string {\ 160 | color:#66FF00;\ 161 | }\ 162 | \ 163 | .ace-vibrant-ink .ace_string.ace_regexp {\ 164 | color:#44B4CC;\ 165 | }\ 166 | \ 167 | .ace-vibrant-ink .ace_comment {\ 168 | color:#9933CC;\ 169 | }\ 170 | \ 171 | .ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name {\ 172 | font-style:italic;\ 173 | color:#99CC99;\ 174 | }\ 175 | \ 176 | .ace-vibrant-ink .ace_entity.ace_name.ace_function {\ 177 | color:#FFCC00;\ 178 | }\ 179 | \ 180 | .ace-vibrant-ink .ace_markup.ace_underline {\ 181 | text-decoration:underline;\ 182 | }\ 183 | \ 184 | .ace-vibrant-ink .ace_indent-guide {\ 185 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPg5+f/z7Bq1ar/AA5lBCqoLxsgAAAAAElFTkSuQmCC) right repeat-y;\ 186 | }"; 187 | 188 | var dom = require("../lib/dom"); 189 | dom.importCssString(exports.cssText, exports.cssClass); 190 | }); 191 | -------------------------------------------------------------------------------- /lib/ace/theme/merbivore_soft.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/merbivore_soft', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-merbivore-soft"; 42 | exports.cssText = "\ 43 | .ace-merbivore-soft .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-merbivore-soft .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-merbivore-soft .ace_gutter {\ 52 | background: #262424;\ 53 | color: #E6E1DC;\ 54 | }\ 55 | \ 56 | .ace-merbivore-soft .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #262424;\ 59 | }\ 60 | \ 61 | .ace-merbivore-soft .ace_scroller {\ 62 | background-color: #1C1C1C;\ 63 | }\ 64 | \ 65 | .ace-merbivore-soft .ace_text-layer {\ 66 | color: #E6E1DC;\ 67 | }\ 68 | \ 69 | .ace-merbivore-soft .ace_cursor {\ 70 | border-left: 2px solid #FFFFFF;\ 71 | }\ 72 | \ 73 | .ace-merbivore-soft .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #FFFFFF;\ 76 | }\ 77 | \ 78 | .ace-merbivore-soft .ace_marker-layer .ace_selection {\ 79 | background: #494949;\ 80 | }\ 81 | \ 82 | .ace-merbivore-soft.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #1C1C1C;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-merbivore-soft .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-merbivore-soft .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #404040;\ 94 | }\ 95 | \ 96 | .ace-merbivore-soft .ace_marker-layer .ace_active_line {\ 97 | background: #333435;\ 98 | }\ 99 | \ 100 | .ace-merbivore-soft .ace_gutter_active_line {\ 101 | background-color: #333435;\ 102 | }\ 103 | \ 104 | .ace-merbivore-soft .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #494949;\ 106 | }\ 107 | \ 108 | .ace-merbivore-soft .ace_invisible {\ 109 | color: #404040;\ 110 | }\ 111 | \ 112 | .ace-merbivore-soft .ace_keyword, .ace-merbivore-soft .ace_meta {\ 113 | color:#FC803A;\ 114 | }\ 115 | \ 116 | .ace-merbivore-soft .ace_constant, .ace-merbivore-soft .ace_constant.ace_other {\ 117 | color:#68C1D8;\ 118 | }\ 119 | \ 120 | .ace-merbivore-soft .ace_constant.ace_character, {\ 121 | color:#68C1D8;\ 122 | }\ 123 | \ 124 | .ace-merbivore-soft .ace_constant.ace_character.ace_escape, {\ 125 | color:#68C1D8;\ 126 | }\ 127 | \ 128 | .ace-merbivore-soft .ace_constant.ace_language {\ 129 | color:#E1C582;\ 130 | }\ 131 | \ 132 | .ace-merbivore-soft .ace_constant.ace_library {\ 133 | color:#8EC65F;\ 134 | }\ 135 | \ 136 | .ace-merbivore-soft .ace_constant.ace_numeric {\ 137 | color:#7FC578;\ 138 | }\ 139 | \ 140 | .ace-merbivore-soft .ace_invalid {\ 141 | color:#FFFFFF;\ 142 | background-color:#FE3838;\ 143 | }\ 144 | \ 145 | .ace-merbivore-soft .ace_invalid.ace_deprecated {\ 146 | color:#FFFFFF;\ 147 | background-color:#FE3838;\ 148 | }\ 149 | \ 150 | .ace-merbivore-soft .ace_support.ace_constant {\ 151 | color:#8EC65F;\ 152 | }\ 153 | \ 154 | .ace-merbivore-soft .ace_fold {\ 155 | background-color: #FC803A;\ 156 | border-color: #E6E1DC;\ 157 | }\ 158 | \ 159 | .ace-merbivore-soft .ace_storage {\ 160 | color:#FC803A;\ 161 | }\ 162 | \ 163 | .ace-merbivore-soft .ace_string {\ 164 | color:#8EC65F;\ 165 | }\ 166 | \ 167 | .ace-merbivore-soft .ace_comment {\ 168 | font-style:italic;\ 169 | color:#AC4BB8;\ 170 | }\ 171 | \ 172 | .ace-merbivore-soft .ace_meta {\ 173 | font-style:italic;\ 174 | color:#AC4BB8;\ 175 | }\ 176 | \ 177 | .ace-merbivore-soft .ace_meta.ace_tag {\ 178 | color:#FC803A;\ 179 | }\ 180 | \ 181 | .ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {\ 182 | color:#EAF1A3;\ 183 | }\ 184 | \ 185 | .ace-merbivore-soft .ace_markup.ace_underline {\ 186 | text-decoration:underline;\ 187 | }\ 188 | \ 189 | .ace-merbivore-soft .ace_indent-guide {\ 190 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkZH5zzBz5sz/AA8EBB6crd1rAAAAAElFTkSuQmCC) right repeat-y;\ 191 | }"; 192 | 193 | var dom = require("../lib/dom"); 194 | dom.importCssString(exports.cssText, exports.cssClass); 195 | }); 196 | -------------------------------------------------------------------------------- /lib/ace/theme/tomorrow.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/tomorrow', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = false; 41 | exports.cssClass = "ace-tomorrow"; 42 | exports.cssText = "\ 43 | .ace-tomorrow .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-tomorrow .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-tomorrow .ace_gutter {\ 52 | background: #f6f6f6;\ 53 | color: #4D4D4C;\ 54 | }\ 55 | \ 56 | .ace-tomorrow .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #f6f6f6;\ 59 | }\ 60 | \ 61 | .ace-tomorrow .ace_scroller {\ 62 | background-color: #FFFFFF;\ 63 | }\ 64 | \ 65 | .ace-tomorrow .ace_text-layer {\ 66 | color: #4D4D4C;\ 67 | }\ 68 | \ 69 | .ace-tomorrow .ace_cursor {\ 70 | border-left: 2px solid #AEAFAD;\ 71 | }\ 72 | \ 73 | .ace-tomorrow .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #AEAFAD;\ 76 | }\ 77 | \ 78 | .ace-tomorrow .ace_marker-layer .ace_selection {\ 79 | background: #D6D6D6;\ 80 | }\ 81 | \ 82 | .ace-tomorrow.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #FFFFFF;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-tomorrow .ace_marker-layer .ace_step {\ 88 | background: rgb(255, 255, 0);\ 89 | }\ 90 | \ 91 | .ace-tomorrow .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #D1D1D1;\ 94 | }\ 95 | \ 96 | .ace-tomorrow .ace_marker-layer .ace_active_line {\ 97 | background: #EFEFEF;\ 98 | }\ 99 | \ 100 | .ace-tomorrow .ace_gutter_active_line {\ 101 | background-color : #dcdcdc;\ 102 | }\ 103 | \ 104 | .ace-tomorrow .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #D6D6D6;\ 106 | }\ 107 | \ 108 | .ace-tomorrow .ace_invisible {\ 109 | color: #D1D1D1;\ 110 | }\ 111 | \ 112 | .ace-tomorrow .ace_keyword, .ace-tomorrow .ace_meta {\ 113 | color:#8959A8;\ 114 | }\ 115 | \ 116 | .ace-tomorrow .ace_keyword.ace_operator {\ 117 | color:#3E999F;\ 118 | }\ 119 | \ 120 | .ace-tomorrow .ace_constant.ace_language {\ 121 | color:#F5871F;\ 122 | }\ 123 | \ 124 | .ace-tomorrow .ace_constant.ace_numeric {\ 125 | color:#F5871F;\ 126 | }\ 127 | \ 128 | .ace-tomorrow .ace_constant.ace_other {\ 129 | color:#666969;\ 130 | }\ 131 | \ 132 | .ace-tomorrow .ace_invalid {\ 133 | color:#FFFFFF;\ 134 | background-color:#C82829;\ 135 | }\ 136 | \ 137 | .ace-tomorrow .ace_invalid.ace_deprecated {\ 138 | color:#FFFFFF;\ 139 | background-color:#8959A8;\ 140 | }\ 141 | \ 142 | .ace-tomorrow .ace_support.ace_constant {\ 143 | color:#F5871F;\ 144 | }\ 145 | \ 146 | .ace-tomorrow .ace_fold {\ 147 | background-color: #4271AE;\ 148 | border-color: #4D4D4C;\ 149 | }\ 150 | \ 151 | .ace-tomorrow .ace_support.ace_function {\ 152 | color:#4271AE;\ 153 | }\ 154 | \ 155 | .ace-tomorrow .ace_storage {\ 156 | color:#8959A8;\ 157 | }\ 158 | \ 159 | .ace-tomorrow .ace_storage.ace_type, .ace-tomorrow .ace_support.ace_type{\ 160 | color:#8959A8;\ 161 | }\ 162 | \ 163 | .ace-tomorrow .ace_variable {\ 164 | color:#4271AE;\ 165 | }\ 166 | \ 167 | .ace-tomorrow .ace_variable.ace_parameter {\ 168 | color:#F5871F;\ 169 | }\ 170 | \ 171 | .ace-tomorrow .ace_string {\ 172 | color:#718C00;\ 173 | }\ 174 | \ 175 | .ace-tomorrow .ace_string.ace_regexp {\ 176 | color:#C82829;\ 177 | }\ 178 | \ 179 | .ace-tomorrow .ace_comment {\ 180 | color:#8E908C;\ 181 | }\ 182 | \ 183 | .ace-tomorrow .ace_variable {\ 184 | color:#C82829;\ 185 | }\ 186 | \ 187 | .ace-tomorrow .ace_meta.ace_tag {\ 188 | color:#C82829;\ 189 | }\ 190 | \ 191 | .ace-tomorrow .ace_entity.ace_other.ace_attribute-name {\ 192 | color:#C82829;\ 193 | }\ 194 | \ 195 | .ace-tomorrow .ace_entity.ace_name.ace_function {\ 196 | color:#4271AE;\ 197 | }\ 198 | \ 199 | .ace-tomorrow .ace_markup.ace_underline {\ 200 | text-decoration:underline;\ 201 | }\ 202 | \ 203 | .ace-tomorrow .ace_markup.ace_heading {\ 204 | color:#718C00;\ 205 | }\ 206 | \ 207 | .ace-tomorrow .ace_indent-guide {\ 208 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y;\ 209 | }"; 210 | 211 | var dom = require("../lib/dom"); 212 | dom.importCssString(exports.cssText, exports.cssClass); 213 | }); 214 | -------------------------------------------------------------------------------- /lib/ace/theme/twilight.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/twilight', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-twilight"; 42 | exports.cssText = "\ 43 | .ace-twilight .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-twilight .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-twilight .ace_gutter {\ 52 | background: #232323;\ 53 | color: #E2E2E2;\ 54 | }\ 55 | \ 56 | .ace-twilight .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #232323;\ 59 | }\ 60 | \ 61 | .ace-twilight .ace_scroller {\ 62 | background-color: #141414;\ 63 | }\ 64 | \ 65 | .ace-twilight .ace_text-layer {\ 66 | color: #F8F8F8;\ 67 | }\ 68 | \ 69 | .ace-twilight .ace_cursor {\ 70 | border-left: 2px solid #A7A7A7;\ 71 | }\ 72 | \ 73 | .ace-twilight .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #A7A7A7;\ 76 | }\ 77 | \ 78 | .ace-twilight .ace_marker-layer .ace_selection {\ 79 | background: rgba(221, 240, 255, 0.20);\ 80 | }\ 81 | \ 82 | .ace-twilight.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #141414;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-twilight .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-twilight .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(255, 255, 255, 0.25);\ 94 | }\ 95 | \ 96 | .ace-twilight .ace_marker-layer .ace_active_line {\ 97 | background: rgba(255, 255, 255, 0.031);\ 98 | }\ 99 | \ 100 | .ace-twilight .ace_gutter_active_line {\ 101 | background-color: rgba(255, 255, 255, 0.031);\ 102 | }\ 103 | \ 104 | .ace-twilight .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid rgba(221, 240, 255, 0.20);\ 106 | }\ 107 | \ 108 | .ace-twilight .ace_invisible {\ 109 | color: rgba(255, 255, 255, 0.25);\ 110 | }\ 111 | \ 112 | .ace-twilight .ace_keyword, .ace-twilight .ace_meta {\ 113 | color:#CDA869;\ 114 | }\ 115 | \ 116 | .ace-twilight .ace_constant, .ace-twilight .ace_constant.ace_other {\ 117 | color:#CF6A4C;\ 118 | }\ 119 | \ 120 | .ace-twilight .ace_constant.ace_character, {\ 121 | color:#CF6A4C;\ 122 | }\ 123 | \ 124 | .ace-twilight .ace_constant.ace_character.ace_escape, {\ 125 | color:#CF6A4C;\ 126 | }\ 127 | \ 128 | .ace-twilight .ace_invalid.ace_illegal {\ 129 | color:#F8F8F8;\ 130 | background-color:rgba(86, 45, 86, 0.75);\ 131 | }\ 132 | \ 133 | .ace-twilight .ace_invalid.ace_deprecated {\ 134 | text-decoration:underline;\ 135 | font-style:italic;\ 136 | color:#D2A8A1;\ 137 | }\ 138 | \ 139 | .ace-twilight .ace_support {\ 140 | color:#9B859D;\ 141 | }\ 142 | \ 143 | .ace-twilight .ace_support.ace_constant {\ 144 | color:#CF6A4C;\ 145 | }\ 146 | \ 147 | .ace-twilight .ace_fold {\ 148 | background-color: #AC885B;\ 149 | border-color: #F8F8F8;\ 150 | }\ 151 | \ 152 | .ace-twilight .ace_support.ace_function {\ 153 | color:#DAD085;\ 154 | }\ 155 | \ 156 | .ace-twilight .ace_storage {\ 157 | color:#F9EE98;\ 158 | }\ 159 | \ 160 | .ace-twilight .ace_variable {\ 161 | color:#AC885B;\ 162 | }\ 163 | \ 164 | .ace-twilight .ace_string {\ 165 | color:#8F9D6A;\ 166 | }\ 167 | \ 168 | .ace-twilight .ace_string.ace_regexp {\ 169 | color:#E9C062;\ 170 | }\ 171 | \ 172 | .ace-twilight .ace_comment {\ 173 | font-style:italic;\ 174 | color:#5F5A60;\ 175 | }\ 176 | \ 177 | .ace-twilight .ace_variable {\ 178 | color:#7587A6;\ 179 | }\ 180 | \ 181 | .ace-twilight .ace_xml_pe {\ 182 | color:#494949;\ 183 | }\ 184 | \ 185 | .ace-twilight .ace_meta.ace_tag {\ 186 | color:#AC885B;\ 187 | }\ 188 | \ 189 | .ace-twilight .ace_entity.ace_name.ace_function {\ 190 | color:#AC885B;\ 191 | }\ 192 | \ 193 | .ace-twilight .ace_markup.ace_underline {\ 194 | text-decoration:underline;\ 195 | }\ 196 | \ 197 | .ace-twilight .ace_markup.ace_heading {\ 198 | color:#CF6A4C;\ 199 | }\ 200 | \ 201 | .ace-twilight .ace_markup.ace_list {\ 202 | color:#F9EE98;\ 203 | }\ 204 | \ 205 | .ace-twilight .ace_indent-guide {\ 206 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERH5zzBz5sz/AA5EBAYqeZXWAAAAAElFTkSuQmCC) right repeat-y;\ 207 | }"; 208 | 209 | var dom = require("../lib/dom"); 210 | dom.importCssString(exports.cssText, exports.cssClass); 211 | }); 212 | -------------------------------------------------------------------------------- /lib/ace/theme/mono_industrial.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/mono_industrial', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-mono-industrial"; 42 | exports.cssText = "\ 43 | .ace-mono-industrial .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-mono-industrial .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-mono-industrial .ace_gutter {\ 52 | background: #1d2521;\ 53 | color: #C5C9C9;\ 54 | }\ 55 | \ 56 | .ace-mono-industrial .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #555651;\ 59 | }\ 60 | \ 61 | .ace-mono-industrial .ace_scroller {\ 62 | background-color: #222C28;\ 63 | }\ 64 | \ 65 | .ace-mono-industrial .ace_text-layer {\ 66 | color: #FFFFFF;\ 67 | }\ 68 | \ 69 | .ace-mono-industrial .ace_cursor {\ 70 | border-left: 2px solid #FFFFFF;\ 71 | }\ 72 | \ 73 | .ace-mono-industrial .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #FFFFFF;\ 76 | }\ 77 | \ 78 | .ace-mono-industrial .ace_marker-layer .ace_selection {\ 79 | background: rgba(145, 153, 148, 0.40);\ 80 | }\ 81 | \ 82 | .ace-mono-industrial.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #222C28;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-mono-industrial .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-mono-industrial .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(102, 108, 104, 0.50);\ 94 | }\ 95 | \ 96 | .ace-mono-industrial .ace_marker-layer .ace_active_line {\ 97 | background: rgba(12, 13, 12, 0.25);\ 98 | }\ 99 | \ 100 | .ace-mono-industrial .ace_gutter_active_line {\ 101 | background-color: rgba(12, 13, 12, 0.25);\ 102 | }\ 103 | \ 104 | .ace-mono-industrial .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid rgba(145, 153, 148, 0.40);\ 106 | }\ 107 | \ 108 | .ace-mono-industrial .ace_invisible {\ 109 | color: rgba(102, 108, 104, 0.50);\ 110 | }\ 111 | \ 112 | .ace-mono-industrial .ace_keyword, .ace-mono-industrial .ace_meta {\ 113 | color:#A39E64;\ 114 | }\ 115 | \ 116 | .ace-mono-industrial .ace_keyword.ace_operator {\ 117 | color:#A8B3AB;\ 118 | }\ 119 | \ 120 | .ace-mono-industrial .ace_constant, .ace-mono-industrial .ace_constant.ace_other {\ 121 | color:#E98800;\ 122 | }\ 123 | \ 124 | .ace-mono-industrial .ace_constant.ace_character, {\ 125 | color:#E98800;\ 126 | }\ 127 | \ 128 | .ace-mono-industrial .ace_constant.ace_character.ace_escape, {\ 129 | color:#E98800;\ 130 | }\ 131 | \ 132 | .ace-mono-industrial .ace_constant.ace_numeric {\ 133 | color:#E98800;\ 134 | }\ 135 | \ 136 | .ace-mono-industrial .ace_invalid {\ 137 | color:#FFFFFF;\ 138 | background-color:rgba(153, 0, 0, 0.68);\ 139 | }\ 140 | \ 141 | .ace-mono-industrial .ace_support.ace_constant {\ 142 | color:#C87500;\ 143 | }\ 144 | \ 145 | .ace-mono-industrial .ace_fold {\ 146 | background-color: #A8B3AB;\ 147 | border-color: #FFFFFF;\ 148 | }\ 149 | \ 150 | .ace-mono-industrial .ace_support.ace_function {\ 151 | color:#588E60;\ 152 | }\ 153 | \ 154 | .ace-mono-industrial .ace_storage {\ 155 | color:#C23B00;\ 156 | }\ 157 | \ 158 | .ace-mono-industrial .ace_variable {\ 159 | color:#A8B3AB;\ 160 | }\ 161 | \ 162 | .ace-mono-industrial .ace_variable.ace_parameter {\ 163 | color:#648BD2;\ 164 | }\ 165 | \ 166 | .ace-mono-industrial .ace_comment {\ 167 | color:#666C68;\ 168 | background-color:#151C19;\ 169 | }\ 170 | \ 171 | .ace-mono-industrial .ace_variable.ace_language {\ 172 | color:#648BD2;\ 173 | }\ 174 | \ 175 | .ace-mono-industrial .ace_entity.ace_other.ace_attribute-name {\ 176 | color:#909993;\ 177 | }\ 178 | \ 179 | .ace-mono-industrial .ace_entity.ace_name {\ 180 | color:#5778B6;\ 181 | }\ 182 | \ 183 | .ace-mono-industrial .ace_entity.ace_name.ace_function {\ 184 | color:#A8B3AB;\ 185 | }\ 186 | \ 187 | .ace-mono-industrial .ace_markup.ace_underline {\ 188 | text-decoration:underline;\ 189 | }\ 190 | \ 191 | .ace-mono-industrial .ace_indent-guide {\ 192 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ0tH4zzBz5sz/ABAOBECKH+evAAAAAElFTkSuQmCC) right repeat-y;\ 193 | }"; 194 | 195 | var dom = require("../lib/dom"); 196 | dom.importCssString(exports.cssText, exports.cssClass); 197 | }); 198 | -------------------------------------------------------------------------------- /lib/ace/theme/pastel_on_dark.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/pastel_on_dark', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-pastel-on-dark"; 42 | exports.cssText = "\ 43 | .ace-pastel-on-dark .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-pastel-on-dark .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-pastel-on-dark .ace_gutter {\ 52 | background: #353030;\ 53 | color: #8F938F;\ 54 | }\ 55 | \ 56 | .ace-pastel-on-dark .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #353030;\ 59 | }\ 60 | \ 61 | .ace-pastel-on-dark .ace_scroller {\ 62 | background-color: #2C2828;\ 63 | }\ 64 | \ 65 | .ace-pastel-on-dark .ace_text-layer {\ 66 | color: #8F938F;\ 67 | }\ 68 | \ 69 | .ace-pastel-on-dark .ace_cursor {\ 70 | border-left: 2px solid #A7A7A7;\ 71 | }\ 72 | \ 73 | .ace-pastel-on-dark .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #A7A7A7;\ 76 | }\ 77 | \ 78 | .ace-pastel-on-dark .ace_marker-layer .ace_selection {\ 79 | background: rgba(221, 240, 255, 0.20);\ 80 | }\ 81 | \ 82 | .ace-pastel-on-dark.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #2C2828;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-pastel-on-dark .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-pastel-on-dark .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid rgba(255, 255, 255, 0.25);\ 94 | }\ 95 | \ 96 | .ace-pastel-on-dark .ace_marker-layer .ace_active_line {\ 97 | background: rgba(255, 255, 255, 0.031);\ 98 | }\ 99 | \ 100 | .ace-pastel-on-dark .ace_gutter_active_line {\ 101 | background-color: rgba(255, 255, 255, 0.031);\ 102 | }\ 103 | \ 104 | .ace-pastel-on-dark .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid rgba(221, 240, 255, 0.20);\ 106 | }\ 107 | \ 108 | .ace-pastel-on-dark .ace_invisible {\ 109 | color: rgba(255, 255, 255, 0.25);\ 110 | }\ 111 | \ 112 | .ace-pastel-on-dark .ace_keyword, .ace-pastel-on-dark .ace_meta {\ 113 | color:#757aD8;\ 114 | }\ 115 | \ 116 | .ace-pastel-on-dark .ace_keyword.ace_operator {\ 117 | color:#797878;\ 118 | }\ 119 | \ 120 | .ace-pastel-on-dark .ace_constant, .ace-pastel-on-dark .ace_constant.ace_other {\ 121 | color:#4FB7C5;\ 122 | }\ 123 | \ 124 | .ace-pastel-on-dark .ace_constant.ace_character, {\ 125 | color:#4FB7C5;\ 126 | }\ 127 | \ 128 | .ace-pastel-on-dark .ace_constant.ace_character.ace_escape, {\ 129 | color:#4FB7C5;\ 130 | }\ 131 | \ 132 | .ace-pastel-on-dark .ace_constant.ace_language {\ 133 | color:#DE8E30;\ 134 | }\ 135 | \ 136 | .ace-pastel-on-dark .ace_constant.ace_numeric {\ 137 | color:#CCCCCC;\ 138 | }\ 139 | \ 140 | .ace-pastel-on-dark .ace_invalid {\ 141 | color:#F8F8F8;\ 142 | background-color:rgba(86, 45, 86, 0.75);\ 143 | }\ 144 | \ 145 | .ace-pastel-on-dark .ace_invalid.ace_illegal {\ 146 | color:#F8F8F8;\ 147 | background-color:rgba(86, 45, 86, 0.75);\ 148 | }\ 149 | \ 150 | .ace-pastel-on-dark .ace_invalid.ace_deprecated {\ 151 | text-decoration:underline;\ 152 | font-style:italic;\ 153 | color:#D2A8A1;\ 154 | }\ 155 | \ 156 | .ace-pastel-on-dark .ace_fold {\ 157 | background-color: #757aD8;\ 158 | border-color: #8F938F;\ 159 | }\ 160 | \ 161 | .ace-pastel-on-dark .ace_support.ace_function {\ 162 | color:#AEB2F8;\ 163 | }\ 164 | \ 165 | .ace-pastel-on-dark .ace_string {\ 166 | color:#66A968;\ 167 | }\ 168 | \ 169 | .ace-pastel-on-dark .ace_string.ace_regexp {\ 170 | color:#E9C062;\ 171 | }\ 172 | \ 173 | .ace-pastel-on-dark .ace_comment {\ 174 | color:#A6C6FF;\ 175 | }\ 176 | \ 177 | .ace-pastel-on-dark .ace_variable {\ 178 | color:#BEBF55;\ 179 | }\ 180 | \ 181 | .ace-pastel-on-dark .ace_variable.ace_language {\ 182 | color:#C1C144;\ 183 | }\ 184 | \ 185 | .ace-pastel-on-dark .ace_xml_pe {\ 186 | color:#494949;\ 187 | }\ 188 | \ 189 | .ace-pastel-on-dark .ace_markup.ace_underline {\ 190 | text-decoration:underline;\ 191 | }\ 192 | \ 193 | .ace-pastel-on-dark .ace_indent-guide {\ 194 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0dD4z9DR0fEfAA+vBBPqhbn1AAAAAElFTkSuQmCC) right repeat-y;\ 195 | }"; 196 | 197 | var dom = require("../lib/dom"); 198 | dom.importCssString(exports.cssText, exports.cssClass); 199 | }); 200 | -------------------------------------------------------------------------------- /lib/ace/theme/textmate.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/textmate', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | 41 | exports.isDark = false; 42 | exports.cssClass = "ace-tm"; 43 | exports.cssText = ".ace-tm .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-tm .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-tm .ace_gutter {\ 52 | background: #f0f0f0;\ 53 | color: #333;\ 54 | }\ 55 | \ 56 | .ace-tm .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #e8e8e8;\ 59 | }\ 60 | \ 61 | .ace-tm .ace_fold {\ 62 | background-color: #6B72E6;\ 63 | }\ 64 | \ 65 | .ace-tm .ace_text-layer {\ 66 | }\ 67 | \ 68 | .ace-tm .ace_cursor {\ 69 | border-left: 2px solid black;\ 70 | }\ 71 | \ 72 | .ace-tm .ace_cursor.ace_overwrite {\ 73 | border-left: 0px;\ 74 | border-bottom: 1px solid black;\ 75 | }\ 76 | \ 77 | .ace-tm .ace_line .ace_invisible {\ 78 | color: rgb(191, 191, 191);\ 79 | }\ 80 | \ 81 | .ace-tm .ace_line .ace_storage,\ 82 | .ace-tm .ace_line .ace_keyword {\ 83 | color: blue;\ 84 | }\ 85 | \ 86 | .ace-tm .ace_line .ace_constant {\ 87 | color: rgb(197, 6, 11);\ 88 | }\ 89 | \ 90 | .ace-tm .ace_line .ace_constant.ace_buildin {\ 91 | color: rgb(88, 72, 246);\ 92 | }\ 93 | \ 94 | .ace-tm .ace_line .ace_constant.ace_language {\ 95 | color: rgb(88, 92, 246);\ 96 | }\ 97 | \ 98 | .ace-tm .ace_line .ace_constant.ace_library {\ 99 | color: rgb(6, 150, 14);\ 100 | }\ 101 | \ 102 | .ace-tm .ace_line .ace_invalid {\ 103 | background-color: rgba(255, 0, 0, 0.1);\ 104 | color: red;\ 105 | }\ 106 | \ 107 | .ace-tm .ace_line .ace_support.ace_function {\ 108 | color: rgb(60, 76, 114);\ 109 | }\ 110 | \ 111 | .ace-tm .ace_line .ace_support.ace_constant {\ 112 | color: rgb(6, 150, 14);\ 113 | }\ 114 | \ 115 | .ace-tm .ace_line .ace_support.ace_type,\ 116 | .ace-tm .ace_line .ace_support.ace_class {\ 117 | color: rgb(109, 121, 222);\ 118 | }\ 119 | \ 120 | .ace-tm .ace_line .ace_keyword.ace_operator {\ 121 | color: rgb(104, 118, 135);\ 122 | }\ 123 | \ 124 | .ace-tm .ace_line .ace_string {\ 125 | color: rgb(3, 106, 7);\ 126 | }\ 127 | \ 128 | .ace-tm .ace_line .ace_comment {\ 129 | color: rgb(76, 136, 107);\ 130 | }\ 131 | \ 132 | .ace-tm .ace_line .ace_comment.ace_doc {\ 133 | color: rgb(0, 102, 255);\ 134 | }\ 135 | \ 136 | .ace-tm .ace_line .ace_comment.ace_doc.ace_tag {\ 137 | color: rgb(128, 159, 191);\ 138 | }\ 139 | \ 140 | .ace-tm .ace_line .ace_constant.ace_numeric {\ 141 | color: rgb(0, 0, 205);\ 142 | }\ 143 | \ 144 | .ace-tm .ace_line .ace_variable {\ 145 | color: rgb(49, 132, 149);\ 146 | }\ 147 | \ 148 | .ace-tm .ace_line .ace_xml_pe {\ 149 | color: rgb(104, 104, 91);\ 150 | }\ 151 | \ 152 | .ace-tm .ace_entity.ace_name.ace_function {\ 153 | color: #0000A2;\ 154 | }\ 155 | \ 156 | .ace-tm .ace_markup.ace_markupine {\ 157 | text-decoration:underline;\ 158 | }\ 159 | \ 160 | .ace-tm .ace_markup.ace_heading {\ 161 | color: rgb(12, 7, 255);\ 162 | }\ 163 | \ 164 | .ace-tm .ace_markup.ace_list {\ 165 | color:rgb(185, 6, 144);\ 166 | }\ 167 | \ 168 | .ace-tm .ace_marker-layer .ace_selection {\ 169 | background: rgb(181, 213, 255);\ 170 | }\ 171 | .ace-tm.multiselect .ace_selection.start {\ 172 | box-shadow: 0 0 3px 0px white;\ 173 | border-radius: 2px;\ 174 | }\ 175 | .ace-tm .ace_marker-layer .ace_step {\ 176 | background: rgb(252, 255, 0);\ 177 | }\ 178 | \ 179 | .ace-tm .ace_marker-layer .ace_stack {\ 180 | background: rgb(164, 229, 101);\ 181 | }\ 182 | \ 183 | .ace-tm .ace_marker-layer .ace_bracket {\ 184 | margin: -1px 0 0 -1px;\ 185 | border: 1px solid rgb(192, 192, 192);\ 186 | }\ 187 | \ 188 | .ace-tm .ace_marker-layer .ace_active_line {\ 189 | background: rgba(0, 0, 0, 0.07);\ 190 | }\ 191 | \ 192 | .ace-tm .ace_gutter_active_line {\ 193 | background-color : #dcdcdc;\ 194 | }\ 195 | \ 196 | .ace-tm .ace_marker-layer .ace_selected_word {\ 197 | background: rgb(250, 250, 255);\ 198 | border: 1px solid rgb(200, 200, 250);\ 199 | }\ 200 | \ 201 | .ace-tm .ace_meta.ace_tag {\ 202 | color:rgb(0, 22, 142);\ 203 | }\ 204 | \ 205 | .ace-tm .ace_string.ace_regex {\ 206 | color: rgb(255, 0, 0)\ 207 | }\ 208 | \ 209 | .ace-tm .ace_indent-guide {\ 210 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 211 | }\ 212 | "; 213 | 214 | var dom = require("../lib/dom"); 215 | dom.importCssString(exports.cssText, exports.cssClass); 216 | }); 217 | -------------------------------------------------------------------------------- /lib/ace/theme/chrome.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/chrome', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.cssClass = "ace-chrome"; 41 | exports.cssText = ".ace-chrome .ace_editor {\ 42 | border: 2px solid rgb(159, 159, 159);\ 43 | }\ 44 | \ 45 | .ace-chrome .ace_editor.ace_focus {\ 46 | border: 2px solid #327fbd;\ 47 | }\ 48 | \ 49 | .ace-chrome .ace_gutter {\ 50 | background: #ebebeb;\ 51 | color: #333;\ 52 | overflow : hidden;\ 53 | }\ 54 | \ 55 | .ace-chrome .ace_print_margin {\ 56 | width: 1px;\ 57 | background: #e8e8e8;\ 58 | }\ 59 | \ 60 | .ace-chrome .ace_text-layer {\ 61 | }\ 62 | \ 63 | .ace-chrome .ace_cursor {\ 64 | border-left: 2px solid black;\ 65 | }\ 66 | \ 67 | .ace-chrome .ace_cursor.ace_overwrite {\ 68 | border-left: 0px;\ 69 | border-bottom: 1px solid black;\ 70 | }\ 71 | \ 72 | .ace-chrome .ace_line .ace_invisible {\ 73 | color: rgb(191, 191, 191);\ 74 | }\ 75 | \ 76 | .ace-chrome .ace_line .ace_constant.ace_buildin {\ 77 | color: rgb(88, 72, 246);\ 78 | }\ 79 | \ 80 | .ace-chrome .ace_line .ace_constant.ace_language {\ 81 | color: rgb(88, 92, 246);\ 82 | }\ 83 | \ 84 | .ace-chrome .ace_line .ace_constant.ace_library {\ 85 | color: rgb(6, 150, 14);\ 86 | }\ 87 | \ 88 | .ace-chrome .ace_line .ace_invalid {\ 89 | background-color: rgb(153, 0, 0);\ 90 | color: white;\ 91 | }\ 92 | \ 93 | .ace-chrome .ace_line .ace_fold {\ 94 | }\ 95 | \ 96 | .ace-chrome .ace_line .ace_support.ace_function {\ 97 | color: rgb(60, 76, 114);\ 98 | }\ 99 | \ 100 | .ace-chrome .ace_line .ace_support.ace_constant {\ 101 | color: rgb(6, 150, 14);\ 102 | }\ 103 | \ 104 | .ace-chrome .ace_line .ace_support.ace_type,\ 105 | .ace-chrome .ace_line .ace_support.ace_class {\ 106 | color: rgb(109, 121, 222);\ 107 | }\ 108 | \ 109 | .ace-chrome .ace_variable.ace_parameter {\ 110 | font-style:italic;\ 111 | color:#FD971F;\ 112 | }\ 113 | .ace-chrome .ace_line .ace_keyword.ace_operator {\ 114 | color: rgb(104, 118, 135);\ 115 | }\ 116 | \ 117 | .ace-chrome .ace_line .ace_comment {\ 118 | color: #236e24;\ 119 | }\ 120 | \ 121 | .ace-chrome .ace_line .ace_comment.ace_doc {\ 122 | color: #236e24;\ 123 | }\ 124 | \ 125 | .ace-chrome .ace_line .ace_comment.ace_doc.ace_tag {\ 126 | color: #236e24;\ 127 | }\ 128 | \ 129 | .ace-chrome .ace_line .ace_constant.ace_numeric {\ 130 | color: rgb(0, 0, 205);\ 131 | }\ 132 | \ 133 | .ace-chrome .ace_line .ace_variable {\ 134 | color: rgb(49, 132, 149);\ 135 | }\ 136 | \ 137 | .ace-chrome .ace_line .ace_xml_pe {\ 138 | color: rgb(104, 104, 91);\ 139 | }\ 140 | \ 141 | .ace-chrome .ace_entity.ace_name.ace_function {\ 142 | color: #0000A2;\ 143 | }\ 144 | \ 145 | .ace-chrome .ace_markup.ace_markupine {\ 146 | text-decoration:underline;\ 147 | }\ 148 | \ 149 | .ace-chrome .ace_markup.ace_heading {\ 150 | color: rgb(12, 7, 255);\ 151 | }\ 152 | \ 153 | .ace-chrome .ace_markup.ace_list {\ 154 | color:rgb(185, 6, 144);\ 155 | }\ 156 | \ 157 | .ace-chrome .ace_marker-layer .ace_selection {\ 158 | background: rgb(181, 213, 255);\ 159 | }\ 160 | \ 161 | .ace-chrome .ace_marker-layer .ace_step {\ 162 | background: rgb(252, 255, 0);\ 163 | }\ 164 | \ 165 | .ace-chrome .ace_marker-layer .ace_stack {\ 166 | background: rgb(164, 229, 101);\ 167 | }\ 168 | \ 169 | .ace-chrome .ace_marker-layer .ace_bracket {\ 170 | margin: -1px 0 0 -1px;\ 171 | border: 1px solid rgb(192, 192, 192);\ 172 | }\ 173 | \ 174 | .ace-chrome .ace_marker-layer .ace_active_line {\ 175 | background: rgba(0, 0, 0, 0.07);\ 176 | }\ 177 | \ 178 | .ace-chrome .ace_gutter_active_line {\ 179 | background-color : #dcdcdc;\ 180 | }\ 181 | \ 182 | .ace-chrome .ace_marker-layer .ace_selected_word {\ 183 | background: rgb(250, 250, 255);\ 184 | border: 1px solid rgb(200, 200, 250);\ 185 | }\ 186 | \ 187 | .ace-chrome .ace_storage,\ 188 | .ace-chrome .ace_line .ace_keyword,\ 189 | .ace-chrome .ace_meta.ace_tag {\ 190 | color: rgb(147, 15, 128);\ 191 | }\ 192 | \ 193 | .ace-chrome .ace_string.ace_regex {\ 194 | color: rgb(255, 0, 0)\ 195 | }\ 196 | \ 197 | .ace-chrome .ace_line .ace_string{\ 198 | color: #1A1AA6;\ 199 | }\ 200 | \ 201 | .ace-chrome .ace_entity.ace_other.ace_attribute-name{\ 202 | color: #994409;\ 203 | }\ 204 | \ 205 | .ace-chrome .ace_indent-guide {\ 206 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 207 | }\ 208 | "; 209 | 210 | var dom = require("../lib/dom"); 211 | dom.importCssString(exports.cssText, exports.cssClass); 212 | 213 | }); 214 | -------------------------------------------------------------------------------- /lib/ace/theme/tomorrow_night.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/tomorrow_night', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-tomorrow-night"; 42 | exports.cssText = "\ 43 | .ace-tomorrow-night .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-tomorrow-night .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-tomorrow-night .ace_gutter {\ 52 | background: #25282c;\ 53 | color: #C5C8C6;\ 54 | }\ 55 | \ 56 | .ace-tomorrow-night .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #25282c;\ 59 | }\ 60 | \ 61 | .ace-tomorrow-night .ace_scroller {\ 62 | background-color: #1D1F21;\ 63 | }\ 64 | \ 65 | .ace-tomorrow-night .ace_text-layer {\ 66 | color: #C5C8C6;\ 67 | }\ 68 | \ 69 | .ace-tomorrow-night .ace_cursor {\ 70 | border-left: 2px solid #AEAFAD;\ 71 | }\ 72 | \ 73 | .ace-tomorrow-night .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #AEAFAD;\ 76 | }\ 77 | \ 78 | .ace-tomorrow-night .ace_marker-layer .ace_selection {\ 79 | background: #373B41;\ 80 | }\ 81 | \ 82 | .ace-tomorrow-night.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #1D1F21;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-tomorrow-night .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-tomorrow-night .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #4B4E55;\ 94 | }\ 95 | \ 96 | .ace-tomorrow-night .ace_marker-layer .ace_active_line {\ 97 | background: #282A2E;\ 98 | }\ 99 | \ 100 | .ace-tomorrow-night .ace_gutter_active_line {\ 101 | background-color: #282A2E;\ 102 | }\ 103 | \ 104 | .ace-tomorrow-night .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #373B41;\ 106 | }\ 107 | \ 108 | .ace-tomorrow-night .ace_invisible {\ 109 | color: #4B4E55;\ 110 | }\ 111 | \ 112 | .ace-tomorrow-night .ace_keyword, .ace-tomorrow-night .ace_meta {\ 113 | color:#B294BB;\ 114 | }\ 115 | \ 116 | .ace-tomorrow-night .ace_keyword.ace_operator {\ 117 | color:#8ABEB7;\ 118 | }\ 119 | \ 120 | .ace-tomorrow-night .ace_constant.ace_language {\ 121 | color:#DE935F;\ 122 | }\ 123 | \ 124 | .ace-tomorrow-night .ace_constant.ace_numeric {\ 125 | color:#DE935F;\ 126 | }\ 127 | \ 128 | .ace-tomorrow-night .ace_constant.ace_other {\ 129 | color:#CED1CF;\ 130 | }\ 131 | \ 132 | .ace-tomorrow-night .ace_invalid {\ 133 | color:#CED2CF;\ 134 | background-color:#DF5F5F;\ 135 | }\ 136 | \ 137 | .ace-tomorrow-night .ace_invalid.ace_deprecated {\ 138 | color:#CED2CF;\ 139 | background-color:#B798BF;\ 140 | }\ 141 | \ 142 | .ace-tomorrow-night .ace_support.ace_constant {\ 143 | color:#DE935F;\ 144 | }\ 145 | \ 146 | .ace-tomorrow-night .ace_fold {\ 147 | background-color: #81A2BE;\ 148 | border-color: #C5C8C6;\ 149 | }\ 150 | \ 151 | .ace-tomorrow-night .ace_support.ace_function {\ 152 | color:#81A2BE;\ 153 | }\ 154 | \ 155 | .ace-tomorrow-night .ace_storage {\ 156 | color:#B294BB;\ 157 | }\ 158 | \ 159 | .ace-tomorrow-night .ace_storage.ace_type, .ace-tomorrow-night .ace_support.ace_type{\ 160 | color:#B294BB;\ 161 | }\ 162 | \ 163 | .ace-tomorrow-night .ace_variable {\ 164 | color:#81A2BE;\ 165 | }\ 166 | \ 167 | .ace-tomorrow-night .ace_variable.ace_parameter {\ 168 | color:#DE935F;\ 169 | }\ 170 | \ 171 | .ace-tomorrow-night .ace_string {\ 172 | color:#B5BD68;\ 173 | }\ 174 | \ 175 | .ace-tomorrow-night .ace_string.ace_regexp {\ 176 | color:#CC6666;\ 177 | }\ 178 | \ 179 | .ace-tomorrow-night .ace_comment {\ 180 | color:#969896;\ 181 | }\ 182 | \ 183 | .ace-tomorrow-night .ace_variable {\ 184 | color:#CC6666;\ 185 | }\ 186 | \ 187 | .ace-tomorrow-night .ace_meta.ace_tag {\ 188 | color:#CC6666;\ 189 | }\ 190 | \ 191 | .ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name {\ 192 | color:#CC6666;\ 193 | }\ 194 | \ 195 | .ace-tomorrow-night .ace_entity.ace_name.ace_function {\ 196 | color:#81A2BE;\ 197 | }\ 198 | \ 199 | .ace-tomorrow-night .ace_markup.ace_underline {\ 200 | text-decoration:underline;\ 201 | }\ 202 | \ 203 | .ace-tomorrow-night .ace_markup.ace_heading {\ 204 | color:#B5BD68;\ 205 | }\ 206 | \ 207 | .ace-tomorrow-night .ace_indent-guide {\ 208 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQlVf8z7Bq1ar/AA/hBFp7egmpAAAAAElFTkSuQmCC) right repeat-y;\ 209 | }"; 210 | 211 | var dom = require("../lib/dom"); 212 | dom.importCssString(exports.cssText, exports.cssClass); 213 | }); 214 | -------------------------------------------------------------------------------- /lib/ace/theme/crimson_editor.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/crimson_editor', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | exports.isDark = false; 40 | exports.cssText = ".ace-crimson-editor .ace_editor {\ 41 | border: 2px solid rgb(159, 159, 159);\ 42 | }\ 43 | \ 44 | .ace-crimson-editor .ace_editor.ace_focus {\ 45 | border: 2px solid #327fbd;\ 46 | }\ 47 | \ 48 | .ace-crimson-editor .ace_gutter {\ 49 | background: #ebebeb;\ 50 | color: #333;\ 51 | overflow : hidden;\ 52 | }\ 53 | \ 54 | .ace-crimson-editor .ace_gutter-layer {\ 55 | width: 100%;\ 56 | text-align: right;\ 57 | }\ 58 | \ 59 | .ace-crimson-editor .ace_print_margin {\ 60 | width: 1px;\ 61 | background: #e8e8e8;\ 62 | }\ 63 | \ 64 | .ace-crimson-editor .ace_text-layer {\ 65 | color: rgb(64, 64, 64);\ 66 | }\ 67 | \ 68 | .ace-crimson-editor .ace_cursor {\ 69 | border-left: 2px solid black;\ 70 | }\ 71 | \ 72 | .ace-crimson-editor .ace_cursor.ace_overwrite {\ 73 | border-left: 0px;\ 74 | border-bottom: 1px solid black;\ 75 | }\ 76 | \ 77 | .ace-crimson-editor .ace_line .ace_invisible {\ 78 | color: rgb(191, 191, 191);\ 79 | }\ 80 | \ 81 | .ace-crimson-editor .ace_line .ace_identifier {\ 82 | color: black;\ 83 | }\ 84 | \ 85 | .ace-crimson-editor .ace_line .ace_keyword {\ 86 | color: blue;\ 87 | }\ 88 | \ 89 | .ace-crimson-editor .ace_line .ace_constant.ace_buildin {\ 90 | color: rgb(88, 72, 246);\ 91 | }\ 92 | \ 93 | .ace-crimson-editor .ace_line .ace_constant.ace_language {\ 94 | color: rgb(255, 156, 0);\ 95 | }\ 96 | \ 97 | .ace-crimson-editor .ace_line .ace_constant.ace_library {\ 98 | color: rgb(6, 150, 14);\ 99 | }\ 100 | \ 101 | .ace-crimson-editor .ace_line .ace_invalid {\ 102 | text-decoration: line-through;\ 103 | color: rgb(224, 0, 0);\ 104 | }\ 105 | \ 106 | .ace-crimson-editor .ace_line .ace_fold {\ 107 | }\ 108 | \ 109 | .ace-crimson-editor .ace_line .ace_support.ace_function {\ 110 | color: rgb(192, 0, 0);\ 111 | }\ 112 | \ 113 | .ace-crimson-editor .ace_line .ace_support.ace_constant {\ 114 | color: rgb(6, 150, 14);\ 115 | }\ 116 | \ 117 | .ace-crimson-editor .ace_line .ace_support.ace_type,\ 118 | .ace-crimson-editor .ace_line .ace_support.ace_class {\ 119 | color: rgb(109, 121, 222);\ 120 | }\ 121 | \ 122 | .ace-crimson-editor .ace_line .ace_keyword.ace_operator {\ 123 | color: rgb(49, 132, 149);\ 124 | }\ 125 | \ 126 | .ace-crimson-editor .ace_line .ace_string {\ 127 | color: rgb(128, 0, 128);\ 128 | }\ 129 | \ 130 | .ace-crimson-editor .ace_line .ace_comment {\ 131 | color: rgb(76, 136, 107);\ 132 | }\ 133 | \ 134 | .ace-crimson-editor .ace_line .ace_comment.ace_doc {\ 135 | color: rgb(0, 102, 255);\ 136 | }\ 137 | \ 138 | .ace-crimson-editor .ace_line .ace_comment.ace_doc.ace_tag {\ 139 | color: rgb(128, 159, 191);\ 140 | }\ 141 | \ 142 | .ace-crimson-editor .ace_line .ace_constant.ace_numeric {\ 143 | color: rgb(0, 0, 64);\ 144 | }\ 145 | \ 146 | .ace-crimson-editor .ace_line .ace_variable {\ 147 | color: rgb(0, 64, 128);\ 148 | }\ 149 | \ 150 | .ace-crimson-editor .ace_line .ace_xml_pe {\ 151 | color: rgb(104, 104, 91);\ 152 | }\ 153 | \ 154 | .ace-crimson-editor .ace_marker-layer .ace_selection {\ 155 | background: rgb(181, 213, 255);\ 156 | }\ 157 | \ 158 | .ace-crimson-editor .ace_marker-layer .ace_step {\ 159 | background: rgb(252, 255, 0);\ 160 | }\ 161 | \ 162 | .ace-crimson-editor .ace_marker-layer .ace_stack {\ 163 | background: rgb(164, 229, 101);\ 164 | }\ 165 | \ 166 | .ace-crimson-editor .ace_marker-layer .ace_bracket {\ 167 | margin: -1px 0 0 -1px;\ 168 | border: 1px solid rgb(192, 192, 192);\ 169 | }\ 170 | \ 171 | .ace-crimson-editor .ace_marker-layer .ace_active_line {\ 172 | background: rgb(232, 242, 254);\ 173 | }\ 174 | \ 175 | .ace-crimson-editor .ace_gutter_active_line {\ 176 | background-color : #dcdcdc;\ 177 | }\ 178 | \ 179 | .ace-crimson-editor .ace_meta.ace_tag {\ 180 | color:rgb(28, 2, 255);\ 181 | }\ 182 | \ 183 | .ace-crimson-editor .ace_marker-layer .ace_selected_word {\ 184 | background: rgb(250, 250, 255);\ 185 | border: 1px solid rgb(200, 200, 250);\ 186 | }\ 187 | \ 188 | .ace-crimson-editor .ace_string.ace_regex {\ 189 | color: rgb(192, 0, 192);\ 190 | }\ 191 | \ 192 | .ace-crimson-editor .ace_indent-guide {\ 193 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 194 | }"; 195 | 196 | exports.cssClass = "ace-crimson-editor"; 197 | 198 | var dom = require("../lib/dom"); 199 | dom.importCssString(exports.cssText, exports.cssClass); 200 | }); 201 | -------------------------------------------------------------------------------- /lib/ace/mode/textile.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Kelley van Evert 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/mode/textile', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/textile_highlight_rules', 'ace/mode/matching_brace_outdent'], function(require, exports, module) { 39 | 40 | 41 | var oop = require("../lib/oop"); 42 | var TextMode = require("./text").Mode; 43 | var Tokenizer = require("../tokenizer").Tokenizer; 44 | var TextileHighlightRules = require("./textile_highlight_rules").TextileHighlightRules; 45 | var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; 46 | 47 | var Mode = function() { 48 | this.$tokenizer = new Tokenizer(new TextileHighlightRules().getRules()); 49 | this.$outdent = new MatchingBraceOutdent(); 50 | }; 51 | oop.inherits(Mode, TextMode); 52 | 53 | (function() { 54 | this.getNextLineIndent = function(state, line, tab) { 55 | if (state == "intag") 56 | return tab; 57 | 58 | return ""; 59 | }; 60 | 61 | this.checkOutdent = function(state, line, input) { 62 | return this.$outdent.checkOutdent(line, input); 63 | }; 64 | 65 | this.autoOutdent = function(state, doc, row) { 66 | this.$outdent.autoOutdent(doc, row); 67 | }; 68 | 69 | }).call(Mode.prototype); 70 | 71 | exports.Mode = Mode; 72 | 73 | }); 74 | 75 | ace.define('ace/mode/textile_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 76 | 77 | 78 | var oop = require("../lib/oop"); 79 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 80 | 81 | var TextileHighlightRules = function() { 82 | this.$rules = { 83 | "start" : [ 84 | { 85 | token : function(value) { 86 | if (value.match(/^h\d$/)) 87 | return "markup.heading." + value.charAt(1); 88 | else 89 | return "markup.heading"; 90 | }, 91 | regex : "h1|h2|h3|h4|h5|h6|bq|p|bc|pre", 92 | next : "blocktag" 93 | }, 94 | { 95 | token : "keyword", 96 | regex : "[\\*]+|[#]+" 97 | }, 98 | { 99 | token : "text", 100 | regex : ".+" 101 | } 102 | ], 103 | "blocktag" : [ 104 | { 105 | token : "keyword", 106 | regex : "\\. ", 107 | next : "start" 108 | }, 109 | { 110 | token : "keyword", 111 | regex : "\\(", 112 | next : "blocktagproperties" 113 | } 114 | ], 115 | "blocktagproperties" : [ 116 | { 117 | token : "keyword", 118 | regex : "\\)", 119 | next : "blocktag" 120 | }, 121 | { 122 | token : "string", 123 | regex : "[a-zA-Z0-9\\-_]+" 124 | }, 125 | { 126 | token : "keyword", 127 | regex : "#" 128 | } 129 | ] 130 | }; 131 | }; 132 | 133 | oop.inherits(TextileHighlightRules, TextHighlightRules); 134 | 135 | exports.TextileHighlightRules = TextileHighlightRules; 136 | 137 | }); 138 | 139 | ace.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { 140 | 141 | 142 | var Range = require("../range").Range; 143 | 144 | var MatchingBraceOutdent = function() {}; 145 | 146 | (function() { 147 | 148 | this.checkOutdent = function(line, input) { 149 | if (! /^\s+$/.test(line)) 150 | return false; 151 | 152 | return /^\s*\}/.test(input); 153 | }; 154 | 155 | this.autoOutdent = function(doc, row) { 156 | var line = doc.getLine(row); 157 | var match = line.match(/^(\s*\})/); 158 | 159 | if (!match) return 0; 160 | 161 | var column = match[1].length; 162 | var openBracePos = doc.findMatchingBracket({row: row, column: column}); 163 | 164 | if (!openBracePos || openBracePos.row == row) return 0; 165 | 166 | var indent = this.$getIndent(doc.getLine(openBracePos.row)); 167 | doc.replace(new Range(row, 0, row, column-1), indent); 168 | }; 169 | 170 | this.$getIndent = function(line) { 171 | var match = line.match(/^(\s+)/); 172 | if (match) { 173 | return match[1]; 174 | } 175 | 176 | return ""; 177 | }; 178 | 179 | }).call(MatchingBraceOutdent.prototype); 180 | 181 | exports.MatchingBraceOutdent = MatchingBraceOutdent; 182 | }); 183 | -------------------------------------------------------------------------------- /lib/ace/theme/tomorrow_night_blue.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/tomorrow_night_blue', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-tomorrow-night-blue"; 42 | exports.cssText = "\ 43 | .ace-tomorrow-night-blue .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-tomorrow-night-blue .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-tomorrow-night-blue .ace_gutter {\ 52 | background: #00204b;\ 53 | color: #7388b5;\ 54 | }\ 55 | \ 56 | .ace-tomorrow-night-blue .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #00204b;\ 59 | }\ 60 | \ 61 | .ace-tomorrow-night-blue .ace_scroller {\ 62 | background-color: #002451;\ 63 | }\ 64 | \ 65 | .ace-tomorrow-night-blue .ace_text-layer {\ 66 | color: #FFFFFF;\ 67 | }\ 68 | \ 69 | .ace-tomorrow-night-blue .ace_cursor {\ 70 | border-left: 2px solid #FFFFFF;\ 71 | }\ 72 | \ 73 | .ace-tomorrow-night-blue .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #FFFFFF;\ 76 | }\ 77 | \ 78 | .ace-tomorrow-night-blue .ace_marker-layer .ace_selection {\ 79 | background: #003F8E;\ 80 | }\ 81 | \ 82 | .ace-tomorrow-night-blue.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #002451;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-tomorrow-night-blue .ace_marker-layer .ace_step {\ 88 | background: rgb(127, 111, 19);\ 89 | }\ 90 | \ 91 | .ace-tomorrow-night-blue .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #404F7D;\ 94 | }\ 95 | \ 96 | .ace-tomorrow-night-blue .ace_marker-layer .ace_active_line {\ 97 | background: #00346E;\ 98 | }\ 99 | \ 100 | .ace-tomorrow-night-blue .ace_gutter_active_line {\ 101 | background-color: #022040;\ 102 | }\ 103 | \ 104 | .ace-tomorrow-night-blue .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #003F8E;\ 106 | }\ 107 | \ 108 | .ace-tomorrow-night-blue .ace_invisible {\ 109 | color: #404F7D;\ 110 | }\ 111 | \ 112 | .ace-tomorrow-night-blue .ace_keyword, .ace-tomorrow-night-blue .ace_meta {\ 113 | color:#EBBBFF;\ 114 | }\ 115 | \ 116 | .ace-tomorrow-night-blue .ace_keyword.ace_operator {\ 117 | color:#99FFFF;\ 118 | }\ 119 | \ 120 | .ace-tomorrow-night-blue .ace_constant.ace_language {\ 121 | color:#FFC58F;\ 122 | }\ 123 | \ 124 | .ace-tomorrow-night-blue .ace_constant.ace_numeric {\ 125 | color:#FFC58F;\ 126 | }\ 127 | \ 128 | .ace-tomorrow-night-blue .ace_constant.ace_other {\ 129 | color:#FFFFFF;\ 130 | }\ 131 | \ 132 | .ace-tomorrow-night-blue .ace_invalid {\ 133 | color:#FFFFFF;\ 134 | background-color:#F99DA5;\ 135 | }\ 136 | \ 137 | .ace-tomorrow-night-blue .ace_invalid.ace_deprecated {\ 138 | color:#FFFFFF;\ 139 | background-color:#EBBBFF;\ 140 | }\ 141 | \ 142 | .ace-tomorrow-night-blue .ace_support.ace_constant {\ 143 | color:#FFC58F;\ 144 | }\ 145 | \ 146 | .ace-tomorrow-night-blue .ace_fold {\ 147 | background-color: #BBDAFF;\ 148 | border-color: #FFFFFF;\ 149 | }\ 150 | \ 151 | .ace-tomorrow-night-blue .ace_support.ace_function {\ 152 | color:#BBDAFF;\ 153 | }\ 154 | \ 155 | .ace-tomorrow-night-blue .ace_storage {\ 156 | color:#EBBBFF;\ 157 | }\ 158 | \ 159 | .ace-tomorrow-night-blue .ace_storage.ace_type, .ace-tomorrow-night-blue .ace_support.ace_type{\ 160 | color:#EBBBFF;\ 161 | }\ 162 | \ 163 | .ace-tomorrow-night-blue .ace_variable {\ 164 | color:#BBDAFF;\ 165 | }\ 166 | \ 167 | .ace-tomorrow-night-blue .ace_variable.ace_parameter {\ 168 | color:#FFC58F;\ 169 | }\ 170 | \ 171 | .ace-tomorrow-night-blue .ace_string {\ 172 | color:#D1F1A9;\ 173 | }\ 174 | \ 175 | .ace-tomorrow-night-blue .ace_string.ace_regexp {\ 176 | color:#FF9DA4;\ 177 | }\ 178 | \ 179 | .ace-tomorrow-night-blue .ace_comment {\ 180 | color:#7285B7;\ 181 | }\ 182 | \ 183 | .ace-tomorrow-night-blue .ace_variable {\ 184 | color:#FF9DA4;\ 185 | }\ 186 | \ 187 | .ace-tomorrow-night-blue .ace_meta.ace_tag {\ 188 | color:#FF9DA4;\ 189 | }\ 190 | \ 191 | .ace-tomorrow-night-blue .ace_entity.ace_other.ace_attribute-name {\ 192 | color:#FF9DA4;\ 193 | }\ 194 | \ 195 | .ace-tomorrow-night-blue .ace_entity.ace_name.ace_function {\ 196 | color:#BBDAFF;\ 197 | }\ 198 | \ 199 | .ace-tomorrow-night-blue .ace_markup.ace_underline {\ 200 | text-decoration:underline;\ 201 | }\ 202 | \ 203 | .ace-tomorrow-night-blue .ace_markup.ace_heading {\ 204 | color:#D1F1A9;\ 205 | }\ 206 | \ 207 | .ace-tomorrow-night-blue .ace_indent-guide {\ 208 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgUAn8z7Bq1ar/ABBUBHJ4/r3JAAAAAElFTkSuQmCC) right repeat-y;\ 209 | }"; 210 | 211 | var dom = require("../lib/dom"); 212 | dom.importCssString(exports.cssText, exports.cssClass); 213 | }); 214 | -------------------------------------------------------------------------------- /lib/ace/theme/tomorrow_night_eighties.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/tomorrow_night_eighties', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-tomorrow-night-eighties"; 42 | exports.cssText = "\ 43 | .ace-tomorrow-night-eighties .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-tomorrow-night-eighties .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-tomorrow-night-eighties .ace_gutter {\ 52 | background: #272727;\ 53 | color: #CCC;\ 54 | }\ 55 | \ 56 | .ace-tomorrow-night-eighties .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #272727;\ 59 | }\ 60 | \ 61 | .ace-tomorrow-night-eighties .ace_scroller {\ 62 | background-color: #2D2D2D;\ 63 | }\ 64 | \ 65 | .ace-tomorrow-night-eighties .ace_text-layer {\ 66 | color: #CCCCCC;\ 67 | }\ 68 | \ 69 | .ace-tomorrow-night-eighties .ace_cursor {\ 70 | border-left: 2px solid #CCCCCC;\ 71 | }\ 72 | \ 73 | .ace-tomorrow-night-eighties .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #CCCCCC;\ 76 | }\ 77 | \ 78 | .ace-tomorrow-night-eighties .ace_marker-layer .ace_selection {\ 79 | background: #515151;\ 80 | }\ 81 | \ 82 | .ace-tomorrow-night-eighties.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #2D2D2D;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-tomorrow-night-eighties .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #6A6A6A;\ 94 | }\ 95 | \ 96 | .ace-tomorrow-night-eighties .ace_marker-layer .ace_active_line {\ 97 | background: #393939;\ 98 | }\ 99 | \ 100 | .ace-tomorrow-night-eighties .ace_gutter_active_line {\ 101 | background-color: #393939;\ 102 | }\ 103 | \ 104 | .ace-tomorrow-night-eighties .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #515151;\ 106 | }\ 107 | \ 108 | .ace-tomorrow-night-eighties .ace_invisible {\ 109 | color: #6A6A6A;\ 110 | }\ 111 | \ 112 | .ace-tomorrow-night-eighties .ace_keyword, .ace-tomorrow-night-eighties .ace_meta {\ 113 | color:#CC99CC;\ 114 | }\ 115 | \ 116 | .ace-tomorrow-night-eighties .ace_keyword.ace_operator {\ 117 | color:#66CCCC;\ 118 | }\ 119 | \ 120 | .ace-tomorrow-night-eighties .ace_constant.ace_language {\ 121 | color:#F99157;\ 122 | }\ 123 | \ 124 | .ace-tomorrow-night-eighties .ace_constant.ace_numeric {\ 125 | color:#F99157;\ 126 | }\ 127 | \ 128 | .ace-tomorrow-night-eighties .ace_constant.ace_other {\ 129 | color:#CCCCCC;\ 130 | }\ 131 | \ 132 | .ace-tomorrow-night-eighties .ace_invalid {\ 133 | color:#CDCDCD;\ 134 | background-color:#F2777A;\ 135 | }\ 136 | \ 137 | .ace-tomorrow-night-eighties .ace_invalid.ace_deprecated {\ 138 | color:#CDCDCD;\ 139 | background-color:#CC99CC;\ 140 | }\ 141 | \ 142 | .ace-tomorrow-night-eighties .ace_support.ace_constant {\ 143 | color:#F99157;\ 144 | }\ 145 | \ 146 | .ace-tomorrow-night-eighties .ace_fold {\ 147 | background-color: #6699CC;\ 148 | border-color: #CCCCCC;\ 149 | }\ 150 | \ 151 | .ace-tomorrow-night-eighties .ace_support.ace_function {\ 152 | color:#6699CC;\ 153 | }\ 154 | \ 155 | .ace-tomorrow-night-eighties .ace_storage {\ 156 | color:#CC99CC;\ 157 | }\ 158 | \ 159 | .ace-tomorrow-night-eighties .ace_storage.ace_type, .ace-tomorrow-night-eighties .ace_support.ace_type{\ 160 | color:#CC99CC;\ 161 | }\ 162 | \ 163 | .ace-tomorrow-night-eighties .ace_variable {\ 164 | color:#6699CC;\ 165 | }\ 166 | \ 167 | .ace-tomorrow-night-eighties .ace_variable.ace_parameter {\ 168 | color:#F99157;\ 169 | }\ 170 | \ 171 | .ace-tomorrow-night-eighties .ace_string {\ 172 | color:#99CC99;\ 173 | }\ 174 | \ 175 | .ace-tomorrow-night-eighties .ace_comment {\ 176 | color:#999999;\ 177 | }\ 178 | \ 179 | .ace-tomorrow-night-eighties .ace_variable {\ 180 | color:#F2777A;\ 181 | }\ 182 | \ 183 | .ace-tomorrow-night-eighties .ace_meta.ace_tag {\ 184 | color:#F2777A;\ 185 | }\ 186 | \ 187 | .ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name {\ 188 | color:#F2777A;\ 189 | }\ 190 | \ 191 | .ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function {\ 192 | color:#6699CC;\ 193 | }\ 194 | \ 195 | .ace-tomorrow-night-eighties .ace_markup.ace_underline {\ 196 | text-decoration:underline;\ 197 | }\ 198 | \ 199 | .ace-tomorrow-night-eighties .ace_markup.ace_heading {\ 200 | color:#99CC99;\ 201 | }\ 202 | \ 203 | .ace-tomorrow-night-eighties .ace_indent-guide {\ 204 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ1dX9z7Bq1ar/ABE1BITwhhuFAAAAAElFTkSuQmCC) right repeat-y;\ 205 | }"; 206 | 207 | var dom = require("../lib/dom"); 208 | dom.importCssString(exports.cssText, exports.cssClass); 209 | }); 210 | -------------------------------------------------------------------------------- /lib/ace/theme/tomorrow_night_bright.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/tomorrow_night_bright', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | 40 | exports.isDark = true; 41 | exports.cssClass = "ace-tomorrow-night-bright"; 42 | exports.cssText = "\ 43 | .ace-tomorrow-night-bright .ace_editor {\ 44 | border: 2px solid rgb(159, 159, 159);\ 45 | }\ 46 | \ 47 | .ace-tomorrow-night-bright .ace_editor.ace_focus {\ 48 | border: 2px solid #327fbd;\ 49 | }\ 50 | \ 51 | .ace-tomorrow-night-bright .ace_gutter {\ 52 | background: #1a1a1a;\ 53 | color: #DEDEDE;\ 54 | }\ 55 | \ 56 | .ace-tomorrow-night-bright .ace_print_margin {\ 57 | width: 1px;\ 58 | background: #1a1a1a;\ 59 | }\ 60 | \ 61 | .ace-tomorrow-night-bright .ace_scroller {\ 62 | background-color: #000000;\ 63 | }\ 64 | \ 65 | .ace-tomorrow-night-bright .ace_text-layer {\ 66 | color: #DEDEDE;\ 67 | }\ 68 | \ 69 | .ace-tomorrow-night-bright .ace_cursor {\ 70 | border-left: 2px solid #9F9F9F;\ 71 | }\ 72 | \ 73 | .ace-tomorrow-night-bright .ace_cursor.ace_overwrite {\ 74 | border-left: 0px;\ 75 | border-bottom: 1px solid #9F9F9F;\ 76 | }\ 77 | \ 78 | .ace-tomorrow-night-bright .ace_marker-layer .ace_selection {\ 79 | background: #424242;\ 80 | }\ 81 | \ 82 | .ace-tomorrow-night-bright.multiselect .ace_selection.start {\ 83 | box-shadow: 0 0 3px 0px #000000;\ 84 | border-radius: 2px;\ 85 | }\ 86 | \ 87 | .ace-tomorrow-night-bright .ace_marker-layer .ace_step {\ 88 | background: rgb(102, 82, 0);\ 89 | }\ 90 | \ 91 | .ace-tomorrow-night-bright .ace_marker-layer .ace_bracket {\ 92 | margin: -1px 0 0 -1px;\ 93 | border: 1px solid #343434;\ 94 | }\ 95 | \ 96 | .ace-tomorrow-night-bright .ace_marker-layer .ace_active_line {\ 97 | background: #2A2A2A;\ 98 | }\ 99 | \ 100 | .ace-tomorrow-night-bright .ace_gutter_active_line {\ 101 | background-color: #2A2A2A;\ 102 | }\ 103 | \ 104 | .ace-tomorrow-night-bright .ace_marker-layer .ace_selected_word {\ 105 | border: 1px solid #424242;\ 106 | }\ 107 | \ 108 | .ace-tomorrow-night-bright .ace_invisible {\ 109 | color: #343434;\ 110 | }\ 111 | \ 112 | .ace-tomorrow-night-bright .ace_keyword, .ace-tomorrow-night-bright .ace_meta {\ 113 | color:#C397D8;\ 114 | }\ 115 | \ 116 | .ace-tomorrow-night-bright .ace_keyword.ace_operator {\ 117 | color:#70C0B1;\ 118 | }\ 119 | \ 120 | .ace-tomorrow-night-bright .ace_constant.ace_language {\ 121 | color:#E78C45;\ 122 | }\ 123 | \ 124 | .ace-tomorrow-night-bright .ace_constant.ace_numeric {\ 125 | color:#E78C45;\ 126 | }\ 127 | \ 128 | .ace-tomorrow-night-bright .ace_constant.ace_other {\ 129 | color:#EEEEEE;\ 130 | }\ 131 | \ 132 | .ace-tomorrow-night-bright .ace_invalid {\ 133 | color:#CED2CF;\ 134 | background-color:#DF5F5F;\ 135 | }\ 136 | \ 137 | .ace-tomorrow-night-bright .ace_invalid.ace_deprecated {\ 138 | color:#CED2CF;\ 139 | background-color:#B798BF;\ 140 | }\ 141 | \ 142 | .ace-tomorrow-night-bright .ace_support.ace_constant {\ 143 | color:#E78C45;\ 144 | }\ 145 | \ 146 | .ace-tomorrow-night-bright .ace_fold {\ 147 | background-color: #7AA6DA;\ 148 | border-color: #DEDEDE;\ 149 | }\ 150 | \ 151 | .ace-tomorrow-night-bright .ace_support.ace_function {\ 152 | color:#7AA6DA;\ 153 | }\ 154 | \ 155 | .ace-tomorrow-night-bright .ace_storage {\ 156 | color:#C397D8;\ 157 | }\ 158 | \ 159 | .ace-tomorrow-night-bright .ace_storage.ace_type, .ace-tomorrow-night-bright .ace_support.ace_type{\ 160 | color:#C397D8;\ 161 | }\ 162 | \ 163 | .ace-tomorrow-night-bright .ace_variable {\ 164 | color:#7AA6DA;\ 165 | }\ 166 | \ 167 | .ace-tomorrow-night-bright .ace_variable.ace_parameter {\ 168 | color:#E78C45;\ 169 | }\ 170 | \ 171 | .ace-tomorrow-night-bright .ace_string {\ 172 | color:#B9CA4A;\ 173 | }\ 174 | \ 175 | .ace-tomorrow-night-bright .ace_string.ace_regexp {\ 176 | color:#D54E53;\ 177 | }\ 178 | \ 179 | .ace-tomorrow-night-bright .ace_comment {\ 180 | color:#969896;\ 181 | }\ 182 | \ 183 | .ace-tomorrow-night-bright .ace_variable {\ 184 | color:#D54E53;\ 185 | }\ 186 | \ 187 | .ace-tomorrow-night-bright .ace_meta.ace_tag {\ 188 | color:#D54E53;\ 189 | }\ 190 | \ 191 | .ace-tomorrow-night-bright .ace_entity.ace_other.ace_attribute-name {\ 192 | color:#D54E53;\ 193 | }\ 194 | \ 195 | .ace-tomorrow-night-bright .ace_entity.ace_name.ace_function {\ 196 | color:#7AA6DA;\ 197 | }\ 198 | \ 199 | .ace-tomorrow-night-bright .ace_markup.ace_underline {\ 200 | text-decoration:underline;\ 201 | }\ 202 | \ 203 | .ace-tomorrow-night-bright .ace_markup.ace_heading {\ 204 | color:#B9CA4A;\ 205 | }\ 206 | \ 207 | .ace-tomorrow-night-bright .ace_indent-guide {\ 208 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGD4z7Bq1ar/AAz9A/2naJQKAAAAAElFTkSuQmCC) right repeat-y;\ 209 | }"; 210 | 211 | var dom = require("../lib/dom"); 212 | dom.importCssString(exports.cssText, exports.cssClass); 213 | }); 214 | -------------------------------------------------------------------------------- /lib/ace/mode/yaml.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * The Original Code is Ajax.org Code Editor (ACE). 3 | * 4 | * Contributor(s): 5 | * Meg Sharkey 6 | * 7 | * Alternatively, the contents of this file may be used under the terms of 8 | * either the GNU General Public License Version 2 or later (the "GPL"), or 9 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 10 | * in which case the provisions of the GPL or the LGPL are applicable instead 11 | * of those above. If you wish to allow use of your version of this file only 12 | * under the terms of either the GPL or the LGPL, and not to allow others to 13 | * use your version of this file under the terms of the MPL, indicate your 14 | * decision by deleting the provisions above and replace them with the notice 15 | * and other provisions required by the GPL or the LGPL. If you do not delete 16 | * the provisions above, a recipient may use your version of this file under 17 | * the terms of any one of the MPL, the GPL or the LGPL. 18 | * 19 | * ***** END LICENSE BLOCK ***** */ 20 | 21 | ace.define('ace/mode/yaml', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/yaml_highlight_rules', 'ace/mode/matching_brace_outdent'], function(require, exports, module) { 22 | 23 | 24 | var oop = require("../lib/oop"); 25 | var TextMode = require("./text").Mode; 26 | var Tokenizer = require("../tokenizer").Tokenizer; 27 | var YamlHighlightRules = require("./yaml_highlight_rules").YamlHighlightRules; 28 | var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; 29 | 30 | var Mode = function() { 31 | this.$tokenizer = new Tokenizer(new YamlHighlightRules().getRules()); 32 | this.$outdent = new MatchingBraceOutdent(); 33 | }; 34 | oop.inherits(Mode, TextMode); 35 | 36 | (function() { 37 | 38 | this.getNextLineIndent = function(state, line, tab) { 39 | var indent = this.$getIndent(line); 40 | 41 | if (state == "start") { 42 | var match = line.match(/^.*[\{\(\[]\s*$/); 43 | if (match) { 44 | indent += tab; 45 | } 46 | } 47 | 48 | return indent; 49 | }; 50 | 51 | this.checkOutdent = function(state, line, input) { 52 | return this.$outdent.checkOutdent(line, input); 53 | }; 54 | 55 | this.autoOutdent = function(state, doc, row) { 56 | this.$outdent.autoOutdent(doc, row); 57 | }; 58 | 59 | 60 | }).call(Mode.prototype); 61 | 62 | exports.Mode = Mode; 63 | 64 | }); 65 | 66 | ace.define('ace/mode/yaml_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 67 | 68 | 69 | var oop = require("../lib/oop"); 70 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 71 | 72 | var YamlHighlightRules = function() { 73 | 74 | // regexp must not have capturing parentheses. Use (?:) instead. 75 | // regexps are ordered -> the first match is used 76 | this.$rules = { 77 | "start" : [ 78 | { 79 | token : "comment", 80 | regex : "#.*$" 81 | }, { 82 | token : "comment", 83 | regex : "^---" 84 | }, { 85 | token: "variable", 86 | regex: "[&\\*][a-zA-Z0-9-_]+" 87 | }, { 88 | token: ["identifier", "text"], 89 | regex: "(\\w+\\s*:)(\\w*)" 90 | }, { 91 | token : "keyword.operator", 92 | regex : "<<\\w*:\\w*" 93 | }, { 94 | token : "keyword.operator", 95 | regex : "-\\s*(?=[{])" 96 | }, { 97 | token : "string", // single line 98 | regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' 99 | }, { 100 | token : "string", // multi line string start 101 | merge : true, 102 | regex : '[\\|>]\\w*', 103 | next : "qqstring" 104 | }, { 105 | token : "string", // single quoted string 106 | regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']" 107 | }, { 108 | token : "constant.numeric", // float 109 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" 110 | }, { 111 | token : "constant.language.boolean", 112 | regex : "(?:true|false|yes|no)\\b" 113 | }, { 114 | token : "invalid.illegal", // comments are not allowed 115 | regex : "\\/\\/.*$" 116 | }, { 117 | token : "paren.lparen", 118 | regex : "[[({]" 119 | }, { 120 | token : "paren.rparen", 121 | regex : "[\\])}]" 122 | }, { 123 | token : "text", 124 | regex : "\\s+" 125 | } 126 | ], 127 | "qqstring" : [ 128 | { 129 | token : "string", 130 | regex : '(?=(?:(?:\\\\.)|(?:[^:]))*?:)', 131 | next : "start" 132 | }, { 133 | token : "string", 134 | merge : true, 135 | regex : '.+' 136 | } 137 | ]} 138 | 139 | }; 140 | 141 | oop.inherits(YamlHighlightRules, TextHighlightRules); 142 | 143 | exports.YamlHighlightRules = YamlHighlightRules; 144 | }); 145 | 146 | ace.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { 147 | 148 | 149 | var Range = require("../range").Range; 150 | 151 | var MatchingBraceOutdent = function() {}; 152 | 153 | (function() { 154 | 155 | this.checkOutdent = function(line, input) { 156 | if (! /^\s+$/.test(line)) 157 | return false; 158 | 159 | return /^\s*\}/.test(input); 160 | }; 161 | 162 | this.autoOutdent = function(doc, row) { 163 | var line = doc.getLine(row); 164 | var match = line.match(/^(\s*\})/); 165 | 166 | if (!match) return 0; 167 | 168 | var column = match[1].length; 169 | var openBracePos = doc.findMatchingBracket({row: row, column: column}); 170 | 171 | if (!openBracePos || openBracePos.row == row) return 0; 172 | 173 | var indent = this.$getIndent(doc.getLine(openBracePos.row)); 174 | doc.replace(new Range(row, 0, row, column-1), indent); 175 | }; 176 | 177 | this.$getIndent = function(line) { 178 | var match = line.match(/^(\s+)/); 179 | if (match) { 180 | return match[1]; 181 | } 182 | 183 | return ""; 184 | }; 185 | 186 | }).call(MatchingBraceOutdent.prototype); 187 | 188 | exports.MatchingBraceOutdent = MatchingBraceOutdent; 189 | }); 190 | -------------------------------------------------------------------------------- /lib/ace/theme/dreamweaver.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Adam Jimenez 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/theme/dreamweaver', ['require', 'exports', 'module', 'ace/lib/dom'], function(require, exports, module) { 39 | exports.isDark = false; 40 | exports.cssClass = "ace-dreamweaver"; 41 | exports.cssText = ".ace-dreamweaver .ace_editor {\ 42 | border: 2px solid rgb(159, 159, 159);\ 43 | }\ 44 | \ 45 | .ace-dreamweaver .ace_editor.ace_focus {\ 46 | border: 2px solid #327fbd;\ 47 | }\ 48 | \ 49 | .ace-dreamweaver .ace_gutter {\ 50 | background: #e8e8e8;\ 51 | color: #333;\ 52 | }\ 53 | \ 54 | .ace-dreamweaver .ace_print_margin {\ 55 | width: 1px;\ 56 | background: #e8e8e8;\ 57 | }\ 58 | \ 59 | .ace-dreamweaver .ace_fold {\ 60 | background-color: #757AD8;\ 61 | }\ 62 | \ 63 | .ace-dreamweaver .ace_text-layer {\ 64 | }\ 65 | \ 66 | .ace-dreamweaver .ace_cursor {\ 67 | border-left: 2px solid black;\ 68 | }\ 69 | \ 70 | .ace-dreamweaver .ace_cursor.ace_overwrite {\ 71 | border-left: 0px;\ 72 | border-bottom: 1px solid black;\ 73 | }\ 74 | \ 75 | .ace-dreamweaver .ace_line .ace_invisible {\ 76 | color: rgb(191, 191, 191);\ 77 | }\ 78 | \ 79 | .ace-dreamweaver .ace_line .ace_storage,\ 80 | .ace-dreamweaver .ace_line .ace_keyword {\ 81 | color: blue;\ 82 | }\ 83 | \ 84 | .ace-dreamweaver .ace_line .ace_constant.ace_buildin {\ 85 | color: rgb(88, 72, 246);\ 86 | }\ 87 | \ 88 | .ace-dreamweaver .ace_line .ace_constant.ace_language {\ 89 | color: rgb(88, 92, 246);\ 90 | }\ 91 | \ 92 | .ace-dreamweaver .ace_line .ace_constant.ace_library {\ 93 | color: rgb(6, 150, 14);\ 94 | }\ 95 | \ 96 | .ace-dreamweaver .ace_line .ace_invalid {\ 97 | background-color: rgb(153, 0, 0);\ 98 | color: white;\ 99 | }\ 100 | \ 101 | .ace-dreamweaver .ace_line .ace_support.ace_function {\ 102 | color: rgb(60, 76, 114);\ 103 | }\ 104 | \ 105 | .ace-dreamweaver .ace_line .ace_support.ace_constant {\ 106 | color: rgb(6, 150, 14);\ 107 | }\ 108 | \ 109 | .ace-dreamweaver .ace_line .ace_support.ace_type,\ 110 | .ace-dreamweaver .ace_line .ace_support.ace_class {\ 111 | color: #009;\ 112 | }\ 113 | \ 114 | .ace-dreamweaver .ace_line .ace_support.ace_php_tag {\ 115 | color: #f00;\ 116 | }\ 117 | \ 118 | .ace-dreamweaver .ace_line .ace_keyword.ace_operator {\ 119 | color: rgb(104, 118, 135);\ 120 | }\ 121 | \ 122 | .ace-dreamweaver .ace_line .ace_string {\ 123 | color: #00F;\ 124 | }\ 125 | \ 126 | .ace-dreamweaver .ace_line .ace_comment {\ 127 | color: rgb(76, 136, 107);\ 128 | }\ 129 | \ 130 | .ace-dreamweaver .ace_line .ace_comment.ace_doc {\ 131 | color: rgb(0, 102, 255);\ 132 | }\ 133 | \ 134 | .ace-dreamweaver .ace_line .ace_comment.ace_doc.ace_tag {\ 135 | color: rgb(128, 159, 191);\ 136 | }\ 137 | \ 138 | .ace-dreamweaver .ace_line .ace_constant.ace_numeric {\ 139 | color: rgb(0, 0, 205);\ 140 | }\ 141 | \ 142 | .ace-dreamweaver .ace_line .ace_variable {\ 143 | color: #06F\ 144 | }\ 145 | \ 146 | .ace-dreamweaver .ace_line .ace_xml_pe {\ 147 | color: rgb(104, 104, 91);\ 148 | }\ 149 | \ 150 | .ace-dreamweaver .ace_entity.ace_name.ace_function {\ 151 | color: #00F;\ 152 | }\ 153 | \ 154 | .ace-dreamweaver .ace_markup.ace_markupine {\ 155 | text-decoration:underline;\ 156 | }\ 157 | \ 158 | .ace-dreamweaver .ace_markup.ace_heading {\ 159 | color: rgb(12, 7, 255);\ 160 | }\ 161 | \ 162 | .ace-dreamweaver .ace_markup.ace_list {\ 163 | color:rgb(185, 6, 144);\ 164 | }\ 165 | \ 166 | .ace-dreamweaver .ace_marker-layer .ace_selection {\ 167 | background: rgb(181, 213, 255);\ 168 | }\ 169 | \ 170 | .ace-dreamweaver .ace_marker-layer .ace_step {\ 171 | background: rgb(252, 255, 0);\ 172 | }\ 173 | \ 174 | .ace-dreamweaver .ace_marker-layer .ace_stack {\ 175 | background: rgb(164, 229, 101);\ 176 | }\ 177 | \ 178 | .ace-dreamweaver .ace_marker-layer .ace_bracket {\ 179 | margin: -1px 0 0 -1px;\ 180 | border: 1px solid rgb(192, 192, 192);\ 181 | }\ 182 | \ 183 | .ace-dreamweaver .ace_marker-layer .ace_active_line {\ 184 | background: rgba(0, 0, 0, 0.07);\ 185 | }\ 186 | \ 187 | .ace-dreamweaver .ace_marker-layer .ace_selected_word {\ 188 | background: rgb(250, 250, 255);\ 189 | border: 1px solid rgb(200, 200, 250);\ 190 | }\ 191 | \ 192 | .ace-dreamweaver .ace_meta.ace_tag {\ 193 | color:#009;\ 194 | }\ 195 | \ 196 | .ace-dreamweaver .ace_meta.ace_tag.ace_anchor {\ 197 | color:#060;\ 198 | }\ 199 | \ 200 | .ace-dreamweaver .ace_meta.ace_tag.ace_form {\ 201 | color:#F90;\ 202 | }\ 203 | \ 204 | .ace-dreamweaver .ace_meta.ace_tag.ace_image {\ 205 | color:#909;\ 206 | }\ 207 | \ 208 | .ace-dreamweaver .ace_meta.ace_tag.ace_script {\ 209 | color:#900;\ 210 | }\ 211 | \ 212 | .ace-dreamweaver .ace_meta.ace_tag.ace_style {\ 213 | color:#909;\ 214 | }\ 215 | \ 216 | .ace-dreamweaver .ace_meta.ace_tag.ace_table {\ 217 | color:#099;\ 218 | }\ 219 | \ 220 | .ace-dreamweaver .ace_string.ace_regex {\ 221 | color: rgb(255, 0, 0)\ 222 | }\ 223 | \ 224 | .ace-dreamweaver .ace_indent-guide {\ 225 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 226 | }"; 227 | 228 | var dom = require("../lib/dom"); 229 | dom.importCssString(exports.cssText, exports.cssClass); 230 | }); 231 | -------------------------------------------------------------------------------- /lib/ace/mode/sh.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Rich Healey 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/mode/sh', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/sh_highlight_rules', 'ace/range'], function(require, exports, module) { 39 | 40 | 41 | var oop = require("../lib/oop"); 42 | var TextMode = require("./text").Mode; 43 | var Tokenizer = require("../tokenizer").Tokenizer; 44 | var ShHighlightRules = require("./sh_highlight_rules").ShHighlightRules; 45 | var Range = require("../range").Range; 46 | 47 | var Mode = function() { 48 | this.$tokenizer = new Tokenizer(new ShHighlightRules().getRules()); 49 | }; 50 | oop.inherits(Mode, TextMode); 51 | 52 | (function() { 53 | 54 | this.toggleCommentLines = function(state, doc, startRow, endRow) { 55 | var outdent = true; 56 | var re = /^(\s*)#/; 57 | 58 | for (var i=startRow; i<= endRow; i++) { 59 | if (!re.test(doc.getLine(i))) { 60 | outdent = false; 61 | break; 62 | } 63 | } 64 | 65 | if (outdent) { 66 | var deleteRange = new Range(0, 0, 0, 0); 67 | for (var i=startRow; i<= endRow; i++) 68 | { 69 | var line = doc.getLine(i); 70 | var m = line.match(re); 71 | deleteRange.start.row = i; 72 | deleteRange.end.row = i; 73 | deleteRange.end.column = m[0].length; 74 | doc.replace(deleteRange, m[1]); 75 | } 76 | } 77 | else { 78 | doc.indentRows(startRow, endRow, "#"); 79 | } 80 | }; 81 | 82 | this.getNextLineIndent = function(state, line, tab) { 83 | var indent = this.$getIndent(line); 84 | 85 | var tokenizedLine = this.$tokenizer.getLineTokens(line, state); 86 | var tokens = tokenizedLine.tokens; 87 | 88 | if (tokens.length && tokens[tokens.length-1].type == "comment") { 89 | return indent; 90 | } 91 | 92 | if (state == "start") { 93 | var match = line.match(/^.*[\{\(\[\:]\s*$/); 94 | if (match) { 95 | indent += tab; 96 | } 97 | } 98 | 99 | return indent; 100 | }; 101 | 102 | var outdents = { 103 | "pass": 1, 104 | "return": 1, 105 | "raise": 1, 106 | "break": 1, 107 | "continue": 1 108 | }; 109 | 110 | this.checkOutdent = function(state, line, input) { 111 | if (input !== "\r\n" && input !== "\r" && input !== "\n") 112 | return false; 113 | 114 | var tokens = this.$tokenizer.getLineTokens(line.trim(), state).tokens; 115 | 116 | if (!tokens) 117 | return false; 118 | 119 | // ignore trailing comments 120 | do { 121 | var last = tokens.pop(); 122 | } while (last && (last.type == "comment" || (last.type == "text" && last.value.match(/^\s+$/)))); 123 | 124 | if (!last) 125 | return false; 126 | 127 | return (last.type == "keyword" && outdents[last.value]); 128 | }; 129 | 130 | this.autoOutdent = function(state, doc, row) { 131 | // outdenting in sh is slightly different because it always applies 132 | // to the next line and only of a new line is inserted 133 | 134 | row += 1; 135 | var indent = this.$getIndent(doc.getLine(row)); 136 | var tab = doc.getTabString(); 137 | if (indent.slice(-tab.length) == tab) 138 | doc.remove(new Range(row, indent.length-tab.length, row, indent.length)); 139 | }; 140 | 141 | }).call(Mode.prototype); 142 | 143 | exports.Mode = Mode; 144 | }); 145 | ace.define('ace/mode/sh_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 146 | 147 | 148 | var oop = require("../lib/oop"); 149 | var lang = require("../lib/lang"); 150 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 151 | 152 | var ShHighlightRules = function() { 153 | 154 | var reservedKeywords = lang.arrayToMap( 155 | ('!|{|}|case|do|done|elif|else|'+ 156 | 'esac|fi|for|if|in|then|until|while|'+ 157 | '&|;|export|local|read|typeset|unset|'+ 158 | 'elif|select|set' 159 | ).split('|') 160 | ); 161 | 162 | var languageConstructs = lang.arrayToMap( 163 | ('[|]|alias|bg|bind|break|builtin|'+ 164 | 'cd|command|compgen|complete|continue|'+ 165 | 'dirs|disown|echo|enable|eval|exec|'+ 166 | 'exit|fc|fg|getopts|hash|help|history|'+ 167 | 'jobs|kill|let|logout|popd|printf|pushd|'+ 168 | 'pwd|return|set|shift|shopt|source|'+ 169 | 'suspend|test|times|trap|type|ulimit|'+ 170 | 'umask|unalias|wait' 171 | ).split('|') 172 | ); 173 | 174 | var integer = "(?:(?:[1-9]\\d*)|(?:0))"; 175 | // var integer = "(?:" + decimalInteger + ")"; 176 | 177 | var fraction = "(?:\\.\\d+)"; 178 | var intPart = "(?:\\d+)"; 179 | var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))"; 180 | var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + ")"; 181 | var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")"; 182 | var fileDescriptor = "(?:&" + intPart + ")"; 183 | 184 | var variableName = "[a-zA-Z][a-zA-Z0-9_]*"; 185 | var variable = "(?:(?:\\$" + variableName + ")|(?:" + variableName + "=))"; 186 | 187 | var builtinVariable = "(?:\\$(?:SHLVL|\\$|\\!|\\?))"; 188 | 189 | var func = "(?:" + variableName + "\\s*\\(\\))"; 190 | 191 | this.$rules = { 192 | "start" : [ { 193 | token : "comment", 194 | regex : "#.*$" 195 | }, { 196 | token : "string", // " string 197 | regex : '"(?:[^\\\\]|\\\\.)*?"' 198 | }, { 199 | token : "variable.language", 200 | regex : builtinVariable 201 | }, { 202 | token : "variable", 203 | regex : variable 204 | }, { 205 | token : "support.function", 206 | regex : func, 207 | }, { 208 | token : "support.function", 209 | regex : fileDescriptor 210 | }, { 211 | token : "string", // ' string 212 | regex : "'(?:[^\\\\]|\\\\.)*?'" 213 | }, { 214 | token : "constant.numeric", // float 215 | regex : floatNumber 216 | }, { 217 | token : "constant.numeric", // integer 218 | regex : integer + "\\b" 219 | }, { 220 | token : function(value) { 221 | if (reservedKeywords.hasOwnProperty(value)) 222 | return "keyword"; 223 | else if (languageConstructs.hasOwnProperty(value)) 224 | return "constant.language"; 225 | else if (value == "debugger") 226 | return "invalid.deprecated"; 227 | else 228 | return "identifier"; 229 | }, 230 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 231 | }, { 232 | token : "keyword.operator", 233 | regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=" 234 | }, { 235 | token : "paren.lparen", 236 | regex : "[\\[\\(\\{]" 237 | }, { 238 | token : "paren.rparen", 239 | regex : "[\\]\\)\\}]" 240 | }, { 241 | token : "text", 242 | regex : "\\s+" 243 | } ] 244 | }; 245 | }; 246 | 247 | oop.inherits(ShHighlightRules, TextHighlightRules); 248 | 249 | exports.ShHighlightRules = ShHighlightRules; 250 | }); 251 | -------------------------------------------------------------------------------- /lib/ace/mode/diff.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * 23 | * Alternatively, the contents of this file may be used under the terms of 24 | * either the GNU General Public License Version 2 or later (the "GPL"), or 25 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 26 | * in which case the provisions of the GPL or the LGPL are applicable instead 27 | * of those above. If you wish to allow use of your version of this file only 28 | * under the terms of either the GPL or the LGPL, and not to allow others to 29 | * use your version of this file under the terms of the MPL, indicate your 30 | * decision by deleting the provisions above and replace them with the notice 31 | * and other provisions required by the GPL or the LGPL. If you do not delete 32 | * the provisions above, a recipient may use your version of this file under 33 | * the terms of any one of the MPL, the GPL or the LGPL. 34 | * 35 | * ***** END LICENSE BLOCK ***** */ 36 | 37 | ace.define('ace/mode/diff', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/diff_highlight_rules', 'ace/mode/folding/diff'], function(require, exports, module) { 38 | 39 | 40 | var oop = require("../lib/oop"); 41 | var TextMode = require("./text").Mode; 42 | var Tokenizer = require("../tokenizer").Tokenizer; 43 | var HighlightRules = require("./diff_highlight_rules").DiffHighlightRules; 44 | var FoldMode = require("./folding/diff").FoldMode; 45 | 46 | var Mode = function() { 47 | this.$tokenizer = new Tokenizer(new HighlightRules().getRules(), "i"); 48 | this.foldingRules = new FoldMode(["diff", "index", "\\+{3}", "@@|\\*{5}"], "i"); 49 | }; 50 | oop.inherits(Mode, TextMode); 51 | 52 | (function() { 53 | 54 | }).call(Mode.prototype); 55 | 56 | exports.Mode = Mode; 57 | 58 | }); 59 | 60 | ace.define('ace/mode/diff_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 61 | 62 | 63 | var oop = require("../lib/oop"); 64 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 65 | 66 | var DiffHighlightRules = function() { 67 | // regexp must not have capturing parentheses. Use (?:) instead. 68 | // regexps are ordered -> the first match is used 69 | 70 | this.$rules = { 71 | "start" : [{ 72 | "regex": "^(?:\\*{15}|={67}|-{3}|\\+{3})$", 73 | "token": "punctuation.definition.separator.diff", 74 | "name": "keyword" 75 | }, { //diff.range.unified 76 | "regex": "^(@@)(\\s*.+?\\s*)(@@)(.*)$", 77 | "token": [ 78 | "constant", 79 | "constant.numeric", 80 | "constant", 81 | "comment.doc.tag" 82 | ] 83 | }, { //diff.range.normal 84 | "regex": "^(\\d+)([,\\d]+)(a|d|c)(\\d+)([,\\d]+)(.*)$", 85 | "token": [ 86 | "constant.numeric", 87 | "punctuation.definition.range.diff", 88 | "constant.function", 89 | "constant.numeric", 90 | "punctuation.definition.range.diff", 91 | "invalid" 92 | ], 93 | "name": "meta." 94 | }, { 95 | "regex": "^(?:(\\-{3}|\\+{3}|\\*{3})( .+))$", 96 | "token": [ 97 | "constant.numeric", 98 | "meta.tag" 99 | ] 100 | }, { // added 101 | "regex": "^([!+>])(.*?)(\\s*)$", 102 | "token": [ 103 | "support.constant", 104 | "text", 105 | "invalid" 106 | ], 107 | }, { // removed 108 | "regex": "^([<\\-])(.*?)(\\s*)$", 109 | "token": [ 110 | "support.function", 111 | "string", 112 | "invalid" 113 | ], 114 | }, { 115 | "regex": "^(diff)(\\s+--\\w+)?(.+?)( .+)?$", 116 | "token": ["variable", "variable", "keyword", "variable"] 117 | }, { 118 | "regex": "^Index.+$", 119 | "token": "variable" 120 | }, { 121 | "regex": "^(.*?)(\\s*)$", 122 | "token": ["invisible", "invalid"] 123 | } 124 | ] 125 | }; 126 | }; 127 | 128 | oop.inherits(DiffHighlightRules, TextHighlightRules); 129 | 130 | exports.DiffHighlightRules = DiffHighlightRules; 131 | }); 132 | 133 | ace.define('ace/mode/folding/diff', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode', 'ace/range'], function(require, exports, module) { 134 | 135 | 136 | var oop = require("../../lib/oop"); 137 | var BaseFoldMode = require("./fold_mode").FoldMode; 138 | var Range = require("../../range").Range; 139 | 140 | var FoldMode = exports.FoldMode = function(levels, flag) { 141 | this.regExpList = levels; 142 | this.flag = flag; 143 | this.foldingStartMarker = RegExp("^(" + levels.join("|") + ")", this.flag); 144 | }; 145 | oop.inherits(FoldMode, BaseFoldMode); 146 | 147 | (function() { 148 | this.getFoldWidgetRange = function(session, foldStyle, row) { 149 | var line = session.getLine(row); 150 | var start = {row: row, column: line.length}; 151 | 152 | var regList = this.regExpList; 153 | for (var i = 1; i <= regList.length; i++) { 154 | var re = RegExp("^(" + regList.slice(0, i).join("|") + ")", this.flag); 155 | if (re.test(line)) 156 | break; 157 | } 158 | 159 | for (var l = session.getLength(); ++row < l; ) { 160 | line = session.getLine(row); 161 | if (re.test(line)) 162 | break; 163 | } 164 | if (row == start.row + 1) 165 | return; 166 | return Range.fromPoints(start, {row: row - 1, column: line.length}); 167 | }; 168 | 169 | }).call(FoldMode.prototype); 170 | 171 | }); 172 | 173 | ace.define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { 174 | 175 | 176 | var Range = require("../../range").Range; 177 | 178 | var FoldMode = exports.FoldMode = function() {}; 179 | 180 | (function() { 181 | 182 | this.foldingStartMarker = null; 183 | this.foldingStopMarker = null; 184 | 185 | // must return "" if there's no fold, to enable caching 186 | this.getFoldWidget = function(session, foldStyle, row) { 187 | var line = session.getLine(row); 188 | if (this.foldingStartMarker.test(line)) 189 | return "start"; 190 | if (foldStyle == "markbeginend" 191 | && this.foldingStopMarker 192 | && this.foldingStopMarker.test(line)) 193 | return "end"; 194 | return ""; 195 | }; 196 | 197 | this.getFoldWidgetRange = function(session, foldStyle, row) { 198 | return null; 199 | }; 200 | 201 | this.indentationBlock = function(session, row, column) { 202 | var re = /\S/; 203 | var line = session.getLine(row); 204 | var startLevel = line.search(re); 205 | if (startLevel == -1) 206 | return; 207 | 208 | var startColumn = column || line.length; 209 | var maxRow = session.getLength(); 210 | var startRow = row; 211 | var endRow = row; 212 | 213 | while (++row < maxRow) { 214 | var level = session.getLine(row).search(re); 215 | 216 | if (level == -1) 217 | continue; 218 | 219 | if (level <= startLevel) 220 | break; 221 | 222 | endRow = row; 223 | } 224 | 225 | if (endRow > startRow) { 226 | var endColumn = session.getLine(endRow).length; 227 | return new Range(startRow, startColumn, endRow, endColumn); 228 | } 229 | }; 230 | 231 | this.openingBracketBlock = function(session, bracket, row, column, typeRe) { 232 | var start = {row: row, column: column + 1}; 233 | var end = session.$findClosingBracket(bracket, start, typeRe); 234 | if (!end) 235 | return; 236 | 237 | var fw = session.foldWidgets[end.row]; 238 | if (fw == null) 239 | fw = this.getFoldWidget(session, end.row); 240 | 241 | if (fw == "start" && end.row > start.row) { 242 | end.row --; 243 | end.column = session.getLine(end.row).length; 244 | } 245 | return Range.fromPoints(start, end); 246 | }; 247 | 248 | }).call(FoldMode.prototype); 249 | 250 | }); 251 | -------------------------------------------------------------------------------- /lib/ace/mode/c9search.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Garen J. Torikian 23 | * 24 | * Alternatively, the contents of this file may be used under the terms of 25 | * either the GNU General Public License Version 2 or later (the "GPL"), or 26 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 27 | * in which case the provisions of the GPL or the LGPL are applicable instead 28 | * of those above. If you wish to allow use of your version of this file only 29 | * under the terms of either the GPL or the LGPL, and not to allow others to 30 | * use your version of this file under the terms of the MPL, indicate your 31 | * decision by deleting the provisions above and replace them with the notice 32 | * and other provisions required by the GPL or the LGPL. If you do not delete 33 | * the provisions above, a recipient may use your version of this file under 34 | * the terms of any one of the MPL, the GPL or the LGPL. 35 | * 36 | * ***** END LICENSE BLOCK ***** */ 37 | 38 | ace.define('ace/mode/c9search', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/c9search_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/folding/c9search'], function(require, exports, module) { 39 | 40 | 41 | var oop = require("../lib/oop"); 42 | var TextMode = require("./text").Mode; 43 | var Tokenizer = require("../tokenizer").Tokenizer; 44 | var C9SearchHighlightRules = require("./c9search_highlight_rules").C9SearchHighlightRules; 45 | var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; 46 | var C9StyleFoldMode = require("./folding/c9search").FoldMode; 47 | 48 | var Mode = function() { 49 | this.$tokenizer = new Tokenizer(new C9SearchHighlightRules().getRules(), "i"); 50 | this.$outdent = new MatchingBraceOutdent(); 51 | this.foldingRules = new C9StyleFoldMode(); 52 | }; 53 | oop.inherits(Mode, TextMode); 54 | 55 | (function() { 56 | 57 | this.getNextLineIndent = function(state, line, tab) { 58 | var indent = this.$getIndent(line); 59 | return indent; 60 | }; 61 | 62 | this.checkOutdent = function(state, line, input) { 63 | return this.$outdent.checkOutdent(line, input); 64 | }; 65 | 66 | this.autoOutdent = function(state, doc, row) { 67 | this.$outdent.autoOutdent(doc, row); 68 | }; 69 | 70 | }).call(Mode.prototype); 71 | 72 | exports.Mode = Mode; 73 | 74 | }); 75 | 76 | ace.define('ace/mode/c9search_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 77 | 78 | 79 | var oop = require("../lib/oop"); 80 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 81 | 82 | var C9SearchHighlightRules = function() { 83 | 84 | // regexp must not have capturing parentheses. Use (?:) instead. 85 | // regexps are ordered -> the first match is used 86 | this.$rules = { 87 | "start" : [ 88 | { 89 | token : ["c9searchresults.constant.numeric", "c9searchresults.text", "c9searchresults.text"], 90 | regex : "(^\\s+[0-9]+)(:\\s*)(.+)" 91 | }, 92 | { 93 | token : ["string", "text"], // single line 94 | regex : "(.+)(:$)" 95 | } 96 | ] 97 | }; 98 | }; 99 | 100 | oop.inherits(C9SearchHighlightRules, TextHighlightRules); 101 | 102 | exports.C9SearchHighlightRules = C9SearchHighlightRules; 103 | 104 | }); 105 | 106 | ace.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { 107 | 108 | 109 | var Range = require("../range").Range; 110 | 111 | var MatchingBraceOutdent = function() {}; 112 | 113 | (function() { 114 | 115 | this.checkOutdent = function(line, input) { 116 | if (! /^\s+$/.test(line)) 117 | return false; 118 | 119 | return /^\s*\}/.test(input); 120 | }; 121 | 122 | this.autoOutdent = function(doc, row) { 123 | var line = doc.getLine(row); 124 | var match = line.match(/^(\s*\})/); 125 | 126 | if (!match) return 0; 127 | 128 | var column = match[1].length; 129 | var openBracePos = doc.findMatchingBracket({row: row, column: column}); 130 | 131 | if (!openBracePos || openBracePos.row == row) return 0; 132 | 133 | var indent = this.$getIndent(doc.getLine(openBracePos.row)); 134 | doc.replace(new Range(row, 0, row, column-1), indent); 135 | }; 136 | 137 | this.$getIndent = function(line) { 138 | var match = line.match(/^(\s+)/); 139 | if (match) { 140 | return match[1]; 141 | } 142 | 143 | return ""; 144 | }; 145 | 146 | }).call(MatchingBraceOutdent.prototype); 147 | 148 | exports.MatchingBraceOutdent = MatchingBraceOutdent; 149 | }); 150 | 151 | 152 | ace.define('ace/mode/folding/c9search', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/range', 'ace/mode/folding/fold_mode'], function(require, exports, module) { 153 | 154 | 155 | var oop = require("../../lib/oop"); 156 | var Range = require("../../range").Range; 157 | var BaseFoldMode = require("./fold_mode").FoldMode; 158 | 159 | var FoldMode = exports.FoldMode = function() {}; 160 | oop.inherits(FoldMode, BaseFoldMode); 161 | 162 | (function() { 163 | 164 | this.foldingStartMarker = /^(\S.*\:|Searching for.*)$/; 165 | this.foldingStopMarker = /^(\s+|Found.*)$/; 166 | 167 | this.getFoldWidgetRange = function(session, foldStyle, row) { 168 | var lines = session.doc.getAllLines(row); 169 | var line = lines[row]; 170 | var level1 = /^(Found.*|Searching for.*)$/; 171 | var level2 = /^(\S.*\:|\s*)$/; 172 | var re = level1.test(line) ? level1 : level2; 173 | 174 | if (this.foldingStartMarker.test(line)) { 175 | for (var i = row + 1, l = session.getLength(); i < l; i++) { 176 | if (re.test(lines[i])) 177 | break; 178 | } 179 | 180 | return new Range(row, line.length, i, 0); 181 | } 182 | 183 | if (this.foldingStopMarker.test(line)) { 184 | for (var i = row - 1; i >= 0; i--) { 185 | line = lines[i]; 186 | if (re.test(line)) 187 | break; 188 | } 189 | 190 | return new Range(i, line.length, row, 0); 191 | } 192 | }; 193 | 194 | }).call(FoldMode.prototype); 195 | 196 | }); 197 | 198 | ace.define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { 199 | 200 | 201 | var Range = require("../../range").Range; 202 | 203 | var FoldMode = exports.FoldMode = function() {}; 204 | 205 | (function() { 206 | 207 | this.foldingStartMarker = null; 208 | this.foldingStopMarker = null; 209 | 210 | // must return "" if there's no fold, to enable caching 211 | this.getFoldWidget = function(session, foldStyle, row) { 212 | var line = session.getLine(row); 213 | if (this.foldingStartMarker.test(line)) 214 | return "start"; 215 | if (foldStyle == "markbeginend" 216 | && this.foldingStopMarker 217 | && this.foldingStopMarker.test(line)) 218 | return "end"; 219 | return ""; 220 | }; 221 | 222 | this.getFoldWidgetRange = function(session, foldStyle, row) { 223 | return null; 224 | }; 225 | 226 | this.indentationBlock = function(session, row, column) { 227 | var re = /\S/; 228 | var line = session.getLine(row); 229 | var startLevel = line.search(re); 230 | if (startLevel == -1) 231 | return; 232 | 233 | var startColumn = column || line.length; 234 | var maxRow = session.getLength(); 235 | var startRow = row; 236 | var endRow = row; 237 | 238 | while (++row < maxRow) { 239 | var level = session.getLine(row).search(re); 240 | 241 | if (level == -1) 242 | continue; 243 | 244 | if (level <= startLevel) 245 | break; 246 | 247 | endRow = row; 248 | } 249 | 250 | if (endRow > startRow) { 251 | var endColumn = session.getLine(endRow).length; 252 | return new Range(startRow, startColumn, endRow, endColumn); 253 | } 254 | }; 255 | 256 | this.openingBracketBlock = function(session, bracket, row, column, typeRe) { 257 | var start = {row: row, column: column + 1}; 258 | var end = session.$findClosingBracket(bracket, start, typeRe); 259 | if (!end) 260 | return; 261 | 262 | var fw = session.foldWidgets[end.row]; 263 | if (fw == null) 264 | fw = this.getFoldWidget(session, end.row); 265 | 266 | if (fw == "start" && end.row > start.row) { 267 | end.row --; 268 | end.column = session.getLine(end.row).length; 269 | } 270 | return Range.fromPoints(start, end); 271 | }; 272 | 273 | }).call(FoldMode.prototype); 274 | 275 | }); 276 | -------------------------------------------------------------------------------- /lib/ace/mode/tcl.js: -------------------------------------------------------------------------------- 1 | /* ***** BEGIN LICENSE BLOCK ***** 2 | * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 | * 4 | * The contents of this file are subject to the Mozilla Public License Version 5 | * 1.1 (the "License"); you may not use this file except in compliance with 6 | * the License. You may obtain a copy of the License at 7 | * http://www.mozilla.org/MPL/ 8 | * 9 | * Software distributed under the License is distributed on an "AS IS" basis, 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 11 | * for the specific language governing rights and limitations under the 12 | * License. 13 | * 14 | * The Original Code is Ajax.org Code Editor (ACE). 15 | * 16 | * The Initial Developer of the Original Code is 17 | * Ajax.org B.V. 18 | * Portions created by the Initial Developer are Copyright (C) 2010 19 | * the Initial Developer. All Rights Reserved. 20 | * 21 | * Contributor(s): 22 | * Fabian Jakobs 23 | * Shlomo Zalman Heigh 24 | * 25 | * Alternatively, the contents of this file may be used under the terms of 26 | * either the GNU General Public License Version 2 or later (the "GPL"), or 27 | * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 28 | * in which case the provisions of the GPL or the LGPL are applicable instead 29 | * of those above. If you wish to allow use of your version of this file only 30 | * under the terms of either the GPL or the LGPL, and not to allow others to 31 | * use your version of this file under the terms of the MPL, indicate your 32 | * decision by deleting the provisions above and replace them with the notice 33 | * and other provisions required by the GPL or the LGPL. If you do not delete 34 | * the provisions above, a recipient may use your version of this file under 35 | * the terms of any one of the MPL, the GPL or the LGPL. 36 | * 37 | * ***** END LICENSE BLOCK ***** */ 38 | 39 | ace.define('ace/mode/tcl', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/tcl_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range'], function(require, exports, module) { 40 | 41 | 42 | var oop = require("../lib/oop"); 43 | var TextMode = require("./text").Mode; 44 | var Tokenizer = require("../tokenizer").Tokenizer; 45 | var TclHighlightRules = require("./tcl_highlight_rules").TclHighlightRules; 46 | var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; 47 | var Range = require("../range").Range; 48 | 49 | var Mode = function() { 50 | this.$tokenizer = new Tokenizer(new TclHighlightRules().getRules()); 51 | this.$outdent = new MatchingBraceOutdent(); 52 | }; 53 | oop.inherits(Mode, TextMode); 54 | 55 | (function() { 56 | 57 | this.toggleCommentLines = function(state, doc, startRow, endRow) { 58 | var outdent = true; 59 | var re = /^(\s*)#/; 60 | 61 | for (var i=startRow; i<= endRow; i++) { 62 | if (!re.test(doc.getLine(i))) { 63 | outdent = false; 64 | break; 65 | } 66 | } 67 | 68 | if (outdent) { 69 | var deleteRange = new Range(0, 0, 0, 0); 70 | for (var i=startRow; i<= endRow; i++) 71 | { 72 | var line = doc.getLine(i); 73 | var m = line.match(re); 74 | deleteRange.start.row = i; 75 | deleteRange.end.row = i; 76 | deleteRange.end.column = m[0].length; 77 | doc.replace(deleteRange, m[1]); 78 | } 79 | } 80 | else { 81 | doc.indentRows(startRow, endRow, "#"); 82 | } 83 | }; 84 | 85 | this.getNextLineIndent = function(state, line, tab) { 86 | var indent = this.$getIndent(line); 87 | 88 | var tokenizedLine = this.$tokenizer.getLineTokens(line, state); 89 | var tokens = tokenizedLine.tokens; 90 | 91 | if (tokens.length && tokens[tokens.length-1].type == "comment") { 92 | return indent; 93 | } 94 | 95 | if (state == "start") { 96 | var match = line.match(/^.*[\{\(\[]\s*$/); 97 | if (match) { 98 | indent += tab; 99 | } 100 | } 101 | 102 | return indent; 103 | }; 104 | 105 | this.checkOutdent = function(state, line, input) { 106 | return this.$outdent.checkOutdent(line, input); 107 | }; 108 | 109 | this.autoOutdent = function(state, doc, row) { 110 | this.$outdent.autoOutdent(doc, row); 111 | }; 112 | 113 | }).call(Mode.prototype); 114 | 115 | exports.Mode = Mode; 116 | }); 117 | 118 | ace.define('ace/mode/tcl_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) { 119 | 120 | 121 | var oop = require("../lib/oop"); 122 | var lang = require("../lib/lang"); 123 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 124 | 125 | var TclHighlightRules = function() { 126 | 127 | var builtinFunctions = lang.arrayToMap( 128 | ("").split("|") 129 | 130 | ); 131 | this.$rules = { 132 | "start" : [ 133 | { 134 | token : "comment", 135 | merge : true, 136 | regex : "#.*\\\\$", 137 | next : "commentfollow" 138 | }, { 139 | token : "comment", 140 | regex : "#.*$" 141 | }, { 142 | token : "support.function", 143 | regex : '[\\\\]$', 144 | next : "splitlineStart" 145 | }, { 146 | token : "text", 147 | regex : '[\\\\](?:["]|[{]|[}]|[[]|[]]|[$]|[\])' 148 | }, { 149 | token : "text", // last value before command 150 | regex : '^|[^{][;][^}]|[/\r/]', 151 | next : "commandItem" 152 | }, { 153 | token : "string", // single line 154 | regex : '[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' 155 | }, { 156 | token : "string", // multi line """ string start 157 | merge : true, 158 | regex : '[ ]*["]', 159 | next : "qqstring" 160 | }, { 161 | token : "variable.instancce", // variable xotcl with braces 162 | merge : true, 163 | regex : "[$]", 164 | next : "variable" 165 | }, { 166 | token : "support.function", 167 | regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::" 168 | }, { 169 | token : function(value) { 170 | if (builtinFunctions.hasOwnProperty(value)) 171 | return "keyword"; 172 | else 173 | return "identifier"; 174 | }, 175 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 176 | }, { 177 | token : "paren.lparen", 178 | regex : "[[{]", 179 | next : "commandItem" 180 | }, { 181 | token : "paren.lparen", 182 | regex : "[(]" 183 | }, { 184 | token : "paren.rparen", 185 | regex : "[\\])}]" 186 | }, { 187 | token : "text", 188 | regex : "\\s+" 189 | } 190 | ], 191 | "commandItem" : [ 192 | { 193 | token : "comment", 194 | merge : true, 195 | regex : "#.*\\\\$", 196 | next : "commentfollow" 197 | }, { 198 | token : "comment", 199 | regex : "#.*$", 200 | next : "start" 201 | }, { 202 | token : "string", // single line 203 | regex : '[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' 204 | }, { 205 | token : "variable.instancce", // variable xotcl with braces 206 | merge : true, 207 | regex : "[$]", 208 | next : "variable" 209 | }, { 210 | token : "support.function", 211 | regex : "(?:[:][:])[a-zA-Z0-9_/]+(?:[:][:])", 212 | next : "commandItem" 213 | }, { 214 | token : "support.function", 215 | regex : "[a-zA-Z0-9_/]+(?:[:][:])", 216 | next : "commandItem" 217 | }, { 218 | token : "support.function", 219 | regex : "(?:[:][:])", 220 | next : "commandItem" 221 | }, { 222 | token : "support.function", 223 | regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::" 224 | }, { 225 | token : "keyword", 226 | regex : "[a-zA-Z0-9_/]+", 227 | next : "start" 228 | } ], 229 | "commentfollow" : [ 230 | { 231 | token : "comment", 232 | regex : ".*\\\\$", 233 | next : "commentfollow" 234 | }, { 235 | token : "comment", 236 | merge : true, 237 | regex : '.+', 238 | next : "start" 239 | } ], 240 | "splitlineStart" : [ 241 | { 242 | token : "text", 243 | regex : "^.", 244 | next : "start" 245 | }], 246 | "variable" : [ 247 | { 248 | token : "variable.instancce", // variable xotcl with braces 249 | regex : "(?:[:][:])?(?:[a-zA-Z_]|\d)+(?:(?:[:][:])?(?:[a-zA-Z_]|\d)+)?(?:[(](?:[a-zA-Z_]|\d)+[)])?", 250 | next : "start" 251 | }, { 252 | token : "variable.instancce", // variable tcl 253 | regex : "(?:[a-zA-Z_]|\d)+(?:[(](?:[a-zA-Z_]|\d)+[)])?", 254 | next : "start" 255 | }, { 256 | token : "variable.instancce", // variable tcl with braces 257 | regex : "{?(?:[a-zA-Z_]|\d)+}?", 258 | next : "start" 259 | }], 260 | "qqstring" : [ { 261 | token : "string", // multi line """ string end 262 | regex : '(?:[^\\\\]|\\\\.)*?["]', 263 | next : "start" 264 | }, { 265 | token : "string", 266 | merge : true, 267 | regex : '.+' 268 | } ] 269 | }; 270 | }; 271 | 272 | oop.inherits(TclHighlightRules, TextHighlightRules); 273 | 274 | exports.TclHighlightRules = TclHighlightRules; 275 | }); 276 | 277 | ace.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) { 278 | 279 | 280 | var Range = require("../range").Range; 281 | 282 | var MatchingBraceOutdent = function() {}; 283 | 284 | (function() { 285 | 286 | this.checkOutdent = function(line, input) { 287 | if (! /^\s+$/.test(line)) 288 | return false; 289 | 290 | return /^\s*\}/.test(input); 291 | }; 292 | 293 | this.autoOutdent = function(doc, row) { 294 | var line = doc.getLine(row); 295 | var match = line.match(/^(\s*\})/); 296 | 297 | if (!match) return 0; 298 | 299 | var column = match[1].length; 300 | var openBracePos = doc.findMatchingBracket({row: row, column: column}); 301 | 302 | if (!openBracePos || openBracePos.row == row) return 0; 303 | 304 | var indent = this.$getIndent(doc.getLine(openBracePos.row)); 305 | doc.replace(new Range(row, 0, row, column-1), indent); 306 | }; 307 | 308 | this.$getIndent = function(line) { 309 | var match = line.match(/^(\s+)/); 310 | if (match) { 311 | return match[1]; 312 | } 313 | 314 | return ""; 315 | }; 316 | 317 | }).call(MatchingBraceOutdent.prototype); 318 | 319 | exports.MatchingBraceOutdent = MatchingBraceOutdent; 320 | }); 321 | --------------------------------------------------------------------------------