Save everything in case computer melts
This commit is contained in:
parent
5a081f748e
commit
ff2ac65b2b
55 changed files with 2437 additions and 1289 deletions
|
|
@ -75,7 +75,7 @@ var Mode = function(name, desc, extensions) {
|
|||
this.name = name;
|
||||
this.desc = desc;
|
||||
this.mode = "ace/mode/" + name;
|
||||
this.extRe = new RegExp("^.*\\.(" + extensions + ")$", "g");
|
||||
this.extRe = new RegExp("^.*\\.(" + extensions + ")$" , "g");
|
||||
};
|
||||
|
||||
Mode.prototype.supportsFile = function(filename) {
|
||||
|
|
@ -83,49 +83,50 @@ Mode.prototype.supportsFile = function(filename) {
|
|||
};
|
||||
|
||||
var modesByName = {
|
||||
c9search: ["C9Search" , "c9search_results"],
|
||||
coffee: ["CoffeeScript" , "coffee|^Cakefile"],
|
||||
coldfusion: ["ColdFusion" , "cfm"],
|
||||
csharp: ["C#" , "cs"],
|
||||
css: ["CSS" , "css"],
|
||||
diff: ["Diff" , "diff|patch"],
|
||||
glsl: ["Glsl" , "glsl|frag|vert"],
|
||||
golang: ["Go" , "go"],
|
||||
groovy: ["Groovy" , "groovy"],
|
||||
haxe: ["haXe" , "hx"],
|
||||
html: ["HTML" , "htm|html|xhtml"],
|
||||
c_cpp: ["C/C++" , "c|cc|cpp|cxx|h|hh|hpp"],
|
||||
clojure: ["Clojure" , "clj"],
|
||||
jade: ["Jade" , "jade"],
|
||||
java: ["Java" , "java"],
|
||||
javascript: ["JavaScript" , "js"],
|
||||
json: ["JSON" , "json"],
|
||||
jsx: ["JSX" , "jsx"],
|
||||
latex: ["LaTeX" , "latex|tex|ltx|bib"],
|
||||
less: ["LESS" , "less"],
|
||||
liquid: ["Liquid" , "liquid"],
|
||||
lua: ["Lua" , "lua"],
|
||||
luapage: ["LuaPage" , "lp"], // http://keplerproject.github.com/cgilua/manual.html#templates
|
||||
markdown: ["Markdown" , "md|markdown"],
|
||||
ocaml: ["OCaml" , "ml|mli"],
|
||||
perl: ["Perl" , "pl|pm"],
|
||||
pgsql: ["pgSQL" , "pgsql"],
|
||||
php: ["PHP" , "php|phtml"],
|
||||
powershell: ["Powershell" , "ps1"],
|
||||
python: ["Python" , "py"],
|
||||
ruby: ["Ruby" , "ru|gemspec|rake|rb"],
|
||||
scad: ["OpenSCAD" , "scad"],
|
||||
scala: ["Scala" , "scala"],
|
||||
scss: ["SCSS" , "scss|sass"],
|
||||
sh: ["SH" , "sh|bash|bat"],
|
||||
sql: ["SQL" , "sql"],
|
||||
svg: ["SVG" , "svg"],
|
||||
tcl: ["Tcl" , "tcl"],
|
||||
text: ["Text" , "txt"],
|
||||
textile: ["Textile" , "textile"],
|
||||
xml: ["XML" , "xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],
|
||||
xquery: ["XQuery" , "xq"],
|
||||
yaml: ["YAML" , "yaml"]
|
||||
c9search: ["C9Search" , "c9search_results"],
|
||||
coffee: ["CoffeeScript" , "coffee|^Cakefile"],
|
||||
coldfusion: ["ColdFusion" , "cfm"],
|
||||
csharp: ["C#" , "cs"],
|
||||
css: ["CSS" , "css"],
|
||||
diff: ["Diff" , "diff|patch"],
|
||||
glsl: ["Glsl" , "glsl|frag|vert"],
|
||||
golang: ["Go" , "go"],
|
||||
groovy: ["Groovy" , "groovy"],
|
||||
haxe: ["haXe" , "hx"],
|
||||
html: ["HTML" , "htm|html|xhtml"],
|
||||
c_cpp: ["C/C++" , "c|cc|cpp|cxx|h|hh|hpp"],
|
||||
clojure: ["Clojure" , "clj"],
|
||||
jade: ["Jade" , "jade"],
|
||||
java: ["Java" , "java"],
|
||||
javascript: ["JavaScript" , "js"],
|
||||
json: ["JSON" , "json"],
|
||||
jsx: ["JSX" , "jsx"],
|
||||
latex: ["LaTeX" , "latex|tex|ltx|bib"],
|
||||
less: ["LESS" , "less"],
|
||||
liquid: ["Liquid" , "liquid"],
|
||||
lua: ["Lua" , "lua"],
|
||||
luapage: ["LuaPage" , "lp"], // http://keplerproject.github.com/cgilua/manual.html#templates
|
||||
markdown: ["Markdown" , "md|markdown"],
|
||||
objectivec: ["Objective-C/C++" , "m"],
|
||||
ocaml: ["OCaml" , "ml|mli"],
|
||||
perl: ["Perl" , "pl|pm"],
|
||||
pgsql: ["pgSQL" , "pgsql"],
|
||||
php: ["PHP" , "php|phtml"],
|
||||
powershell: ["Powershell" , "ps1"],
|
||||
python: ["Python" , "py"],
|
||||
ruby: ["Ruby" , "ru|gemspec|rake|rb"],
|
||||
scad: ["OpenSCAD" , "scad"],
|
||||
scala: ["Scala" , "scala"],
|
||||
scss: ["SCSS" , "scss|sass"],
|
||||
sh: ["SH" , "sh|bash|bat"],
|
||||
sql: ["SQL" , "sql"],
|
||||
svg: ["SVG" , "svg"],
|
||||
tcl: ["Tcl" , "tcl"],
|
||||
text: ["Text" , "txt"],
|
||||
textile: ["Textile" , "textile"],
|
||||
xml: ["XML" , "xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],
|
||||
xquery: ["XQuery" , "xq"],
|
||||
yaml: ["YAML" , "yaml"]
|
||||
};
|
||||
|
||||
for (var name in modesByName) {
|
||||
|
|
@ -187,6 +188,7 @@ var docs = {
|
|||
"docs/lua.lua": "Lua",
|
||||
"docs/luapage.lp": "LuaPage",
|
||||
"docs/markdown.md": {name: "Markdown", wrapped: true},
|
||||
"docs/objectivec.m": "Objective-C",
|
||||
"docs/ocaml.ml": "OCaml",
|
||||
"docs/OpenSCAD.scad": "OpenSCAD",
|
||||
"docs/perl.pl": "Perl",
|
||||
|
|
@ -236,7 +238,7 @@ function prepareDocList(docs) {
|
|||
doc = {name: doc || path};
|
||||
|
||||
doc.path = path;
|
||||
doc.desc = doc.name.replace(/^(ace|docs|demo|build)\//, "");
|
||||
doc.desc = doc.name.replace(/^(ace|docs|demo|build)\// , "");
|
||||
if (doc.desc.length > 18)
|
||||
doc.desc = doc.desc.slice(0, 7) + ".." + doc.desc.slice(-9)
|
||||
|
||||
|
|
@ -325,7 +327,7 @@ cmdLine.commands.bindKeys({
|
|||
},
|
||||
})
|
||||
|
||||
cmdLine.commands.removeCommands(["find", "gotoline", "findall", "replace", "replaceall"])
|
||||
cmdLine.commands.removeCommands(["find" , "gotoline" , "findall" , "replace" , "replaceall"])
|
||||
|
||||
/**
|
||||
* This demonstrates how you can define commands and bind shortcuts to them.
|
||||
|
|
@ -389,15 +391,15 @@ var softTabEl = document.getElementById("soft_tab");
|
|||
var behavioursEl = document.getElementById("enable_behaviours");
|
||||
|
||||
var group = document.createElement("optgroup");
|
||||
group.setAttribute("label", "Mode Examples");
|
||||
group.setAttribute("label" , "Mode Examples");
|
||||
fillDropdown(docs, group);
|
||||
docEl.appendChild(group);
|
||||
var group = document.createElement("optgroup");
|
||||
group.setAttribute("label", "Huge documents");
|
||||
group.setAttribute("label" , "Huge documents");
|
||||
fillDropdown(hugeDocs, group);
|
||||
docEl.appendChild(group);
|
||||
var group = document.createElement("optgroup");
|
||||
group.setAttribute("label", "own source");
|
||||
group.setAttribute("label" , "own source");
|
||||
fillDropdown(ownSource, group);
|
||||
docEl.appendChild(group);
|
||||
|
||||
|
|
@ -479,13 +481,13 @@ function saveOption(el, val) {
|
|||
}
|
||||
}
|
||||
|
||||
event.addListener(themeEl, "mouseover", function(e){
|
||||
event.addListener(themeEl , "mouseover", function(e){
|
||||
this.desiredValue = e.target.value;
|
||||
if (!this.$timer)
|
||||
this.$timer = setTimeout(this.updateTheme);
|
||||
})
|
||||
|
||||
event.addListener(themeEl, "mouseout", function(e){
|
||||
event.addListener(themeEl , "mouseout", function(e){
|
||||
this.desiredValue = null;
|
||||
if (!this.$timer)
|
||||
this.$timer = setTimeout(this.updateTheme, 20);
|
||||
|
|
@ -653,11 +655,11 @@ function fillDropdown(list, el) {
|
|||
|
||||
|
||||
/************** dragover ***************************/
|
||||
event.addListener(container, "dragover", function(e) {
|
||||
event.addListener(container , "dragover", function(e) {
|
||||
return event.preventDefault(e);
|
||||
});
|
||||
|
||||
event.addListener(container, "drop", function(e) {
|
||||
event.addListener(container , "drop", function(e) {
|
||||
var file;
|
||||
try {
|
||||
file = e.dataTransfer.files[0];
|
||||
|
|
@ -753,7 +755,7 @@ var statusUpdate = lang.deferredCall(function() {
|
|||
add("REC");
|
||||
|
||||
var c = editor.selection.lead;
|
||||
add(c.row + ":" + c.column, " ");
|
||||
add(c.row + ":" + c.column , " ");
|
||||
if (!editor.selection.isEmpty()) {
|
||||
var r = editor.getSelectionRange()
|
||||
add("(" + (r.end.row - r.start.row) + ":" +(r.end.column - r.start.column) + ")");
|
||||
|
|
|
|||
|
|
@ -1,158 +1,45 @@
|
|||
!!!doctype
|
||||
!!!5
|
||||
!!!
|
||||
|
||||
- var methodSection, constructorSection, propertySection, eventSection;
|
||||
include something
|
||||
|
||||
-function renameMemberTitle(title, count)
|
||||
if title.indexOf("ethods") >= 0
|
||||
span Functions (#{count})
|
||||
else if title.indexOf("ropert") >= 0
|
||||
span Properties (#{count})
|
||||
else
|
||||
span.AS.AS.AS #{title} (#{count})
|
||||
include another_thing
|
||||
|
||||
// let's talk about it
|
||||
|
||||
//
|
||||
here it is. a block comment!
|
||||
and another row!
|
||||
but not here.
|
||||
|
||||
//
|
||||
a far spaced
|
||||
should be lack of block
|
||||
|
||||
// also not a comment
|
||||
div.attemptAtBlock
|
||||
|
||||
span#myName
|
||||
|
||||
#{implicit}
|
||||
!{more_explicit}
|
||||
|
||||
#idDiv
|
||||
|
||||
.idDiv
|
||||
|
||||
test(id="tag")
|
||||
header(id="tag", blah="foo", meh="aads")
|
||||
mixin article(obj, parents)
|
||||
if typeof obj === 'string'
|
||||
obj = list[obj]
|
||||
|
||||
title = obj.id + (obj.type ? ' (' + obj.type + ')' : '')
|
||||
article.article(id=obj.path, data-title=title)
|
||||
if obj.type === 'section' || obj.type === 'namespace' || obj.type === 'class' || obj.type === 'mixin'
|
||||
mixin bleh()
|
||||
|
||||
if obj.stability
|
||||
mixin markdown
|
||||
|
||||
span.label.deprecated
|
||||
| Deprecated
|
||||
if obj.deprecated.from
|
||||
| (since #{obj.deprecated.from})
|
||||
if obj.deprecated.off
|
||||
| and will be removed on #{obj.deprecated.off}
|
||||
if obj.alias_of
|
||||
li
|
||||
span.label.alias.single
|
||||
| Aliased as:
|
||||
!= link(obj.alias_of)
|
||||
div.sideToggler
|
||||
mixin clever-name
|
||||
|
||||
div(id='ellipsis_#{obj.id}', class='ellipsis_description')
|
||||
mixin markdown(obj.short_description)
|
||||
-var x = "0";
|
||||
- y each z
|
||||
|
||||
h3(id='#{obj.id}', class='methodToggle methodClicker inactive')
|
||||
|
||||
div.description
|
||||
|
||||
mixin markdown(obj.description)
|
||||
|
||||
if obj.bound && ~obj.bound.indexOf('#')
|
||||
p.note.methodized
|
||||
| This method can be called <em>either</em> as an
|
||||
!= link(obj.bound, ['link-short'], 'instance method')
|
||||
| <em>or</em> as a generic method. If calling as generic, pass the instance in as the first argument.
|
||||
else if obj.bound && !~obj.bound.indexOf('#')
|
||||
p.note.functionalized
|
||||
| This method can be called <em>either</em> as an instance method <em>or</em> as a
|
||||
!= link(obj.bound, ['link-short'], 'generic method')
|
||||
|. If calling as generic, pass the instance in as the first argument.
|
||||
|
||||
if obj.arguments
|
||||
h4 Arguments
|
||||
!= argumentTable(obj.arguments, ["argument-list", "table", "table-striped", "table-bordered"])
|
||||
|
||||
|
||||
if obj.returns
|
||||
h4 Returns
|
||||
!= returnTable(obj.returns, ["return-list", "table", "table-striped", "table-bordered"])
|
||||
|
||||
//- children
|
||||
for child in obj.children.filter(function(x){return x.type === 'section'})
|
||||
mixin article(child, parents.concat(obj))
|
||||
for child in obj.children.filter(function(x){return x.type === 'utility'})
|
||||
mixin article(child, parents.concat(obj))
|
||||
|
||||
for child in obj.children.filter(function(x){return x.type === 'constructor'})
|
||||
- if (!constructorSection)
|
||||
- constructorSection = true
|
||||
h3.sectionHeader Constructors
|
||||
mixin article(child, parents.concat(obj))
|
||||
|
||||
for child in obj.children.filter(function(x){return x.type === 'namespace' || x.type === 'class' || x.type === 'mixin'})
|
||||
mixin article(child, parents.concat(obj))
|
||||
|
||||
for child in obj.children.filter(function(x){return x.type === 'event'})
|
||||
- if (!eventSection)
|
||||
- eventSection = true
|
||||
h3.sectionHeader Events
|
||||
mixin article(child, parents.concat(obj), 'event')
|
||||
|
||||
for child in obj.children.filter(function(x){return x.type === 'class method'})
|
||||
- if (!methodSection)
|
||||
- methodSection = true
|
||||
h3.sectionHeader Methods
|
||||
mixin article(child, parents.concat(obj))
|
||||
|
||||
for child in obj.children.filter(function(x){return x.type === 'class property'})
|
||||
- if (!propertySection)
|
||||
- propertySection = true
|
||||
h3.sectionHeader Properties
|
||||
mixin article(child, parents.concat(obj))
|
||||
|
||||
for child in obj.children.filter(function(x){return x.type === 'instance method'})
|
||||
mixin article(child, parents.concat(obj))
|
||||
for child in obj.children.filter(function(x){return x.type === 'instance property'})
|
||||
mixin article(child, parents.concat(obj))
|
||||
for child in obj.children.filter(function(x){return x.type === 'constant'})
|
||||
mixin article(child, parents.concat(obj))
|
||||
|
||||
|
||||
|
||||
mixin api()
|
||||
-pos = 0
|
||||
for obj in tree.children
|
||||
.classContent
|
||||
.membersBackground
|
||||
|
||||
div(class=' members pos#{pos}')
|
||||
div(class=' membersContent pos#{pos}')
|
||||
h1.memberHeader
|
||||
-var heading = obj.path
|
||||
span.name #{heading}
|
||||
|
||||
-if (true || obj.filename.indexOf("index") < 0)
|
||||
ul(class='nav tabs pos#{pos}', data-tabs='tabs')
|
||||
for selector, title in {'Events': ['event', 'events'], 'Constructors': ['constructor', 'constructors'], 'Class methods': ['class method', 'class_methods'], 'Class properties': ['class property', 'class_properties'], 'Instance methods': ['instance method', 'instance_methods'], 'Instance properties': ['instance property', 'instance_properties'], 'Constants': ['constant', 'constants']}
|
||||
members = obj.children.filter(function(x){return x.type === selector[0]})
|
||||
li(class="dropdown", data-dropdown="dropdown")
|
||||
if members.length
|
||||
a(href="\#", class="dropdown-toggle", data-toggle="dropdown")
|
||||
!= renameMemberTitle(title, members.length)
|
||||
b.caret
|
||||
ul.dropdown-menu
|
||||
for m in members
|
||||
li(data-id='#{m.id}', class='memberLink')
|
||||
mixin link(m, [], true)
|
||||
-pos++
|
||||
-methodSection = constructorSection = propertySection = eventSection = false;
|
||||
mixin article(obj, [])
|
||||
|
||||
|
||||
mixin short_description_list(collection)
|
||||
ul.method-details-list
|
||||
for obj in collection
|
||||
if typeof obj === 'string'
|
||||
obj = list[obj]
|
||||
li.method-description
|
||||
h4
|
||||
mixin link(obj)
|
||||
if obj.short_description
|
||||
mixin markdown(obj.short_description)
|
||||
|
||||
mixin link(obj, classes, short)
|
||||
l = link(obj, classes, short)
|
||||
!= l
|
||||
|
||||
mixin links(collection)
|
||||
ul.method-list
|
||||
for obj in collection
|
||||
li
|
||||
mixin link(obj)
|
||||
- var items = ["one", "two", "three"]
|
||||
each item in items
|
||||
li= item
|
||||
11
demo/kitchen-sink/docs/objectivec.m
Normal file
11
demo/kitchen-sink/docs/objectivec.m
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
@protocol Printing: someParent
|
||||
-(void) print;
|
||||
@end
|
||||
|
||||
@interface Fraction: NSObject <Printing, NSCopying> {
|
||||
int numerator;
|
||||
int denominator;
|
||||
}
|
||||
@end
|
||||
|
||||
@"blah" @"asd\d" @"\fawn\\"
|
||||
|
|
@ -1,38 +1,35 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* Distributed under the BSD license:
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
* Copyright (c) 2012, Ajax.org B.V.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Ajax.org B.V. nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Garen J. Torikian <gjtorikian AT gmail DOT com>
|
||||
* Alexander Hanhikoski <https://github.com/alexhanh>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* Garen J. Torikian <gjtorikian @ gmail DOT com>
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Distributed under the BSD license:
|
||||
*
|
||||
* Copyright (c) 2010, Ajax.org B.V.
|
||||
* Copyright (c) 2012, Ajax.org B.V.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Garen J. Torikian <gjtorikian @ gmail DOT com>
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
|
|
@ -38,9 +38,30 @@ define(function(require, exports, module) {
|
|||
|
||||
var oop = require("../lib/oop");
|
||||
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
||||
var MarkdownHighlightRules = require("./markdown_highlight_rules").MarkdownHighlightRules;
|
||||
var SassHighlightRules = require("./scss_highlight_rules").ScssHighlightRules;
|
||||
var LessHighlightRules = require("./less_highlight_rules").LessHighlightRules;
|
||||
var CoffeeHighlightRules = require("./coffee_highlight_rules").CoffeeHighlightRules;
|
||||
var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
|
||||
|
||||
function mixin_embed(tag, prefix) {
|
||||
return {
|
||||
token : "entity.name.function.jade",
|
||||
regex : "^\\s*\\:" + tag,
|
||||
next : prefix + "start"
|
||||
};
|
||||
}
|
||||
|
||||
var JadeHighlightRules = function() {
|
||||
|
||||
var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
|
||||
"u[0-9a-fA-F]{4}|" + // unicode
|
||||
"[0-2][0-7]{0,2}|" + // oct
|
||||
"3[0-6][0-7]?|" + // oct
|
||||
"37[0-7]?|" + // oct
|
||||
"[4-7][0-7]?|" + //oct
|
||||
".)";
|
||||
|
||||
// regexp must not have capturing parentheses. Use (?:) instead.
|
||||
// regexps are ordered -> the first match is used
|
||||
|
||||
|
|
@ -49,151 +70,104 @@ var JadeHighlightRules = function() {
|
|||
"start": [
|
||||
{
|
||||
"token": "keyword.control.import.include.jade",
|
||||
"regex": "^\\s*\\binclude\\b"
|
||||
"regex": "\\s*\\binclude\\b"
|
||||
},
|
||||
{
|
||||
"token": "keyword.other.doctype.jade",
|
||||
"regex": "^!!!\\s*[a-zA-Z0-9-_]+?"
|
||||
"regex": "^!!!\\s*(?:[a-zA-Z0-9-_]+)?"
|
||||
},
|
||||
{
|
||||
"token": "punctuation.section.comment.jade",
|
||||
"regex": "^ *//\\s*\\S.*$\\n?"
|
||||
"token" : "punctuation.section.comment",
|
||||
"regex" : "^\\s*\/\/(?:\\s*[^-\\s]|\\s+\\S)(?:.*$)",
|
||||
},
|
||||
{
|
||||
"token": "punctuation.section.comment.jade",
|
||||
"regex": "^\\s*//\\s*$",
|
||||
"next": "block_comment"
|
||||
},
|
||||
/*{
|
||||
"token": "entity.name.function.jade",
|
||||
"regex": "^\\s*\\:markdown",
|
||||
"next": "markdown_filter"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function.jade",
|
||||
"regex": "^\\s*\\:sass",
|
||||
"next": "sass_filter"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function.jade",
|
||||
"regex": "^\\s*\\:less",
|
||||
"next": "less_filter"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function.jade",
|
||||
"regex": "^\\s*\\:coffeescript",
|
||||
"next": "coffeescript_filter"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function.jade",
|
||||
"regex": "^\\s*\\:cdata",
|
||||
"next": "cdata_9"
|
||||
},*/
|
||||
// match stuff like: mixin dialog-title-desc(title, desc)
|
||||
{
|
||||
"token": [ "storage.type.function.jade",
|
||||
"entity.name.function.jade",
|
||||
"punctuation.definition.parameters.begin.jade",
|
||||
"variable.parameter.function.jade",
|
||||
"punctuation.definition.parameters.end.jade"
|
||||
],
|
||||
"regex": "^(\\s*mixin) ([\\w\\-]+)(\\s*\\()(.*?)(\\))"
|
||||
},
|
||||
// match stuff like: mixin dialog-title-desc
|
||||
{
|
||||
"token": ["storage.type.function.jade",
|
||||
"entity.name.function.jade"
|
||||
],
|
||||
"regex": "^(\\s*mixin)( [\\w\\-]+)"
|
||||
},
|
||||
{
|
||||
"regex": "^\\s*(-|=|!=)",
|
||||
"next": "state_12"
|
||||
"token" : function(space, text) {
|
||||
return "punctuation.section.comment";
|
||||
},
|
||||
"regex" : "^((\\s*)\/\/)(?:\\s*$)",
|
||||
"next": "comment_block"
|
||||
},
|
||||
mixin_embed("markdown", "markdown-"),
|
||||
mixin_embed("sass", "sass-"),
|
||||
mixin_embed("less", "less-"),
|
||||
mixin_embed("coffee", "coffee-"),
|
||||
/*
|
||||
{
|
||||
"token": {
|
||||
"2": {
|
||||
"name": "entity.name.tag.script.jade"
|
||||
"name": "entity.name.function.jade"
|
||||
}
|
||||
},
|
||||
"regex": "^(\\s*)(script)",
|
||||
"next": "state_13"
|
||||
"regex": "^(\\s*)(\\:cdata)",
|
||||
"next": "state_9"
|
||||
},*/
|
||||
// match stuff like: mixin dialog-title-desc(title, desc)
|
||||
{
|
||||
"token": [ "storage.type.function.jade",
|
||||
"entity.name.function.jade",
|
||||
"punctuation.definition.parameters.begin.jade",
|
||||
"variable.parameter.function.jade",
|
||||
"punctuation.definition.parameters.end.jade"
|
||||
],
|
||||
"regex": "^(\\s*mixin)( [\\w\\-]+)(\\s*\\()(.*?)(\\))"
|
||||
},
|
||||
// match stuff like: mixin dialog-title-desc
|
||||
{
|
||||
"token": [ "storage.type.function.jade", "entity.name.function.jade"],
|
||||
"regex": "^(\\s*mixin)( [\\w\\-]+)"
|
||||
},
|
||||
/* {
|
||||
"token": "source.js.embedded.jade",
|
||||
"regex": "^\\s*-|=|!=",
|
||||
"next": "js_code"
|
||||
},*/
|
||||
/*{
|
||||
"token": "entity.name.tag.script.jade",
|
||||
"regex": "^\\s*script",
|
||||
"next": "js_code_tag"
|
||||
},*/
|
||||
{
|
||||
"token": "string.interpolated.jade",
|
||||
"regex": "[#!]\\{[^\\}]+\\}"
|
||||
},
|
||||
// Match any tag, id or class. skip AST filters
|
||||
{
|
||||
"token": {
|
||||
"1": {
|
||||
"name": "meta.tag.any.jade"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.tag.jade"
|
||||
}
|
||||
"token": ["meta.tag.any.jade", "entity.variable.tag.jade"],
|
||||
"regex": /^\s*(?!\w+\:)(?:[\w]+|(?=\.|#)])/,
|
||||
"next": "tag_single"
|
||||
},
|
||||
{
|
||||
"token": "suport.type.attribute.id.jade",
|
||||
"regex": "#\\w+"
|
||||
},
|
||||
{
|
||||
"token": "suport.type.attribute.class.jade",
|
||||
"regex": "\\.\\w+"
|
||||
},
|
||||
{
|
||||
"token": "punctuation",
|
||||
"regex": "\\s*(?:\\()",
|
||||
"next": "tag_attributes"
|
||||
}
|
||||
],
|
||||
"comment_block": [
|
||||
{
|
||||
"token": function(text) {
|
||||
return "text";
|
||||
},
|
||||
"regex": "^\\s*(?!\\w+\\:)(?:(([\\w]+))|(?=\\.|#))",
|
||||
"next": "state_15"
|
||||
},
|
||||
{
|
||||
"regex": "(?<=\\w)\\s*\\(", // ERROR: This contains a lookbehind, which JS does not support :(",
|
||||
"next": "state_16"
|
||||
}
|
||||
],
|
||||
"block_comment": [
|
||||
{
|
||||
"token": "text",
|
||||
"regex": "^(?!\\1\\s+|$)",
|
||||
"regex": "^(\\1\\S|$)",
|
||||
"captures": "1",
|
||||
"next": "start"
|
||||
},
|
||||
{
|
||||
"token": "text",
|
||||
"regex": ".+",
|
||||
"next": "block_comment"
|
||||
"token": "comment.block.jade",
|
||||
"merge" : true,
|
||||
"regex" : ".+"
|
||||
}
|
||||
],
|
||||
/*"markdown_filter": [
|
||||
{
|
||||
"include": "text.html.markdown"
|
||||
},
|
||||
{
|
||||
"token": "TODO",
|
||||
"regex": "^(?!\\1\\s+)",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"sass_filter": [
|
||||
{
|
||||
"include": "source.sass"
|
||||
},
|
||||
{
|
||||
"token": "TODO",
|
||||
"regex": "^(?!\\1\\s+)",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"less_filter": [
|
||||
{
|
||||
"include": "source.css.less"
|
||||
},
|
||||
{
|
||||
"token": "TODO",
|
||||
"regex": "^(?!\\1\\s+)",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"coffee_filter": [
|
||||
{
|
||||
"include": "source.coffee"
|
||||
},
|
||||
{
|
||||
"token": "TODO",
|
||||
"regex": "^(?!\\1\\s+)",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"cdata_filter": [
|
||||
/*
|
||||
|
||||
"state_9": [
|
||||
{
|
||||
"token": "TODO",
|
||||
"regex": "^(?!\\1\\s+)",
|
||||
|
|
@ -205,22 +179,18 @@ var JadeHighlightRules = function() {
|
|||
"next": "state_9"
|
||||
}
|
||||
],*/
|
||||
"state_12": [
|
||||
{
|
||||
"include": "source.js"
|
||||
},
|
||||
/*"js_code": [
|
||||
{
|
||||
"token": "keyword.control.js",
|
||||
"regex": "\\b(each)\\b"
|
||||
"regex": "\\beach\\b"
|
||||
},
|
||||
{
|
||||
"token": "TODO",
|
||||
"token": "text",
|
||||
"regex": "$",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"state_13": [
|
||||
{},
|
||||
],*/
|
||||
/*"js_code_tag": [
|
||||
{
|
||||
"include": "source.js"
|
||||
},
|
||||
|
|
@ -229,33 +199,122 @@ var JadeHighlightRules = function() {
|
|||
"regex": "^((?=(\\1)([\\w#\\.]|$\\n?))|^$\\n?)",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"state_15": [
|
||||
],*/
|
||||
"tag_single": [
|
||||
{
|
||||
"token": "meta.tag.attribute.class.jade",
|
||||
"token": "suport.type.attribute.class.jade",
|
||||
"regex": "\\.[\\w-]+"
|
||||
},
|
||||
{
|
||||
"token": "meta.tag.attribute.id.jade",
|
||||
"token": "suport.type.attribute.id.jade",
|
||||
"regex": "#[\\w-]+"
|
||||
},
|
||||
{
|
||||
"token": "TODO",
|
||||
"regex": "$|(?!\\.|#|=|-)",
|
||||
"token": ["text", "punctuation"],
|
||||
"regex": "($)|((?!\\.|#|=|-))",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"state_16": [
|
||||
"tag_attributes": [
|
||||
{
|
||||
"include": "#tag-stuff"
|
||||
"token": ["entity.other.attribute-name.jade", "punctuation"],
|
||||
"regex": "\\b([a-zA-Z:\\.-]+)(=)",
|
||||
"next": "attribute_strings"
|
||||
},
|
||||
{
|
||||
"token": "TODO",
|
||||
"token": "punctuation",
|
||||
"regex": "\\)",
|
||||
"next": "start"
|
||||
}
|
||||
],
|
||||
"attribute_strings": [
|
||||
{
|
||||
"token" : "string",
|
||||
"regex" : "'(?=.)",
|
||||
"next" : "qstring"
|
||||
},
|
||||
{
|
||||
"token" : "string",
|
||||
"regex" : '"(?=.)',
|
||||
"next" : "qqstring"
|
||||
}
|
||||
],
|
||||
"qqstring" : [
|
||||
{
|
||||
token : "constant.language.escape",
|
||||
regex : escapedRe
|
||||
}, {
|
||||
token : "string",
|
||||
regex : '[^"\\\\]+',
|
||||
merge : true
|
||||
}, {
|
||||
token : "string",
|
||||
regex : "\\\\$",
|
||||
next : "qqstring",
|
||||
merge : true
|
||||
}, {
|
||||
token : "string",
|
||||
regex : '"|$',
|
||||
next : "tag_attributes",
|
||||
merge : true
|
||||
}
|
||||
],
|
||||
"qstring" : [
|
||||
{
|
||||
token : "constant.language.escape",
|
||||
regex : escapedRe
|
||||
}, {
|
||||
token : "string",
|
||||
regex : "[^'\\\\]+",
|
||||
merge : true
|
||||
}, {
|
||||
token : "string",
|
||||
regex : "\\\\$",
|
||||
next : "qstring",
|
||||
merge : true
|
||||
}, {
|
||||
token : "string",
|
||||
regex : "'|$",
|
||||
next : "tag_attributes",
|
||||
merge : true
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
/*
|
||||
this.embedRules(MarkdownHighlightRules, "markdown-", [{
|
||||
token : "support.function",
|
||||
regex : "^\\1\\s+",
|
||||
captures: "1",
|
||||
next : "start"
|
||||
}]);
|
||||
|
||||
this.embedRules(SassHighlightRules, "sass-", [{
|
||||
token : "support.function",
|
||||
regex : "^(?!\\1\\s+)",
|
||||
captures: "1",
|
||||
next : "start"
|
||||
}]);
|
||||
|
||||
this.embedRules(LessHighlightRules, "less-", [{
|
||||
token : "support.function",
|
||||
regex : "^(?!\\1\\s+)",
|
||||
captures: "1",
|
||||
next : "start"
|
||||
}]);
|
||||
|
||||
this.embedRules(CoffeeHighlightRules, "coffee-", [{
|
||||
token : "support.function",
|
||||
regex : "^(?!\\1\\s+)",
|
||||
captures: "1",
|
||||
next : "start"
|
||||
}]);
|
||||
|
||||
this.embedRules(JavaScriptHighlightRules, "js-", [{
|
||||
token : "support.function",
|
||||
regex : "$",
|
||||
captures: "1",
|
||||
next : "start"
|
||||
}]); */
|
||||
};
|
||||
|
||||
oop.inherits(JadeHighlightRules, TextHighlightRules);
|
||||
|
|
|
|||
60
lib/ace/mode/objectivec.js
Normal file
60
lib/ace/mode/objectivec.js
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Distributed under the BSD license:
|
||||
*
|
||||
* Copyright (c) 2012, Ajax.org B.V.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Ajax.org B.V. nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
THIS FILE WAS AUTOGENERATED BY mode.tmpl.js
|
||||
*/
|
||||
|
||||
define(function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var oop = require("../lib/oop");
|
||||
var TextMode = require("./text").Mode;
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var ObjectiveCHighlightRules = require("./objectivec_highlight_rules").ObjectiveCHighlightRules;
|
||||
|
||||
var Mode = function() {
|
||||
var highlighter = new ObjectiveCHighlightRules();
|
||||
|
||||
this.$tokenizer = new Tokenizer(highlighter.getRules());
|
||||
};
|
||||
oop.inherits(Mode, TextMode);
|
||||
|
||||
(function() {
|
||||
// Extra logic goes here. (see below)
|
||||
}).call(Mode.prototype);
|
||||
|
||||
exports.Mode = Mode;
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-clouds .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,7 +9,7 @@
|
|||
}
|
||||
|
||||
.ace-clouds .ace_gutter {
|
||||
background: #ebebeb;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-clouds .ace_marker-layer .ace_step {
|
||||
background: rgb(255, 255, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-clouds .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-clouds .ace_gutter_active_line {
|
||||
background-color : #dcdcdc;
|
||||
background-color: #FFFBD1;
|
||||
}
|
||||
|
||||
.ace-clouds .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -115,8 +116,4 @@
|
|||
|
||||
.ace-clouds .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-clouds .ace_indent-guide {
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = false;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-clouds-midnight .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-clouds-midnight .ace_gutter {
|
||||
background: #232323;
|
||||
color: #929292;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-clouds-midnight .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #232323;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-clouds-midnight .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-clouds-midnight .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-clouds-midnight .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -116,8 +117,4 @@ background-color:#E92E2E;
|
|||
|
||||
.ace-clouds-midnight .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-clouds-midnight .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQlJT8z1BeXv4fAA2KA6+h9Z+2AAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-cobalt .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-cobalt .ace_gutter {
|
||||
background: #011e3a;
|
||||
color: #fff;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #011e3a;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-cobalt .ace_marker-layer .ace_step {
|
||||
background: rgb(127, 111, 19);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-cobalt .ace_gutter_active_line {
|
||||
background-color : rgba(0, 0, 0, 0.35);
|
||||
background-color: rgba(0, 0, 0, 0.35);
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:#FF628C;
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_constant.ace_character, {
|
||||
color:#FF628C;
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_constant.ace_character.ace_escape, {
|
||||
color:#FF628C;
|
||||
}
|
||||
|
|
@ -142,8 +139,4 @@ background-color:#001221;
|
|||
|
||||
.ace-cobalt .ace_markup.ace_list {
|
||||
background-color:#130D26;
|
||||
}
|
||||
|
||||
.ace-cobalt .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgUHL4zzBz5sz/AA80BCzv+WXhAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-dawn .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,7 +9,7 @@
|
|||
}
|
||||
|
||||
.ace-dawn .ace_gutter {
|
||||
background: #ebebeb;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-dawn .ace_marker-layer .ace_step {
|
||||
background: rgb(255, 255, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-dawn .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-dawn .ace_gutter_active_line {
|
||||
background-color : #dcdcdc;
|
||||
background-color: rgba(36, 99, 180, 0.12);
|
||||
}
|
||||
|
||||
.ace-dawn .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:#811F24;
|
||||
}
|
||||
|
||||
.ace-dawn .ace_constant.ace_character, {
|
||||
color:#811F24;
|
||||
}
|
||||
|
||||
.ace-dawn .ace_constant.ace_character.ace_escape, {
|
||||
color:#811F24;
|
||||
}
|
||||
|
|
@ -146,8 +143,4 @@ color:#5A525F;
|
|||
|
||||
.ace-dawn .ace_markup.ace_list {
|
||||
color:#693A17;
|
||||
}
|
||||
|
||||
.ace-dawn .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4+fPnf4ZVq1b9BwAkVQboFQv98gAAAABJRU5ErkJggg==) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = false;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-idle-fingers .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-idle-fingers .ace_gutter {
|
||||
background: #3b3b3b;
|
||||
color: #fff;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-idle-fingers .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #3b3b3b;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-idle-fingers .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-idle-fingers .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-idle-fingers .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:#6C99BB;
|
||||
}
|
||||
|
||||
.ace-idle-fingers .ace_constant.ace_character, {
|
||||
color:#6C99BB;
|
||||
}
|
||||
|
||||
.ace-idle-fingers .ace_constant.ace_character.ace_escape, {
|
||||
color:#6C99BB;
|
||||
}
|
||||
|
|
@ -133,9 +130,5 @@ color:#BC9458;
|
|||
|
||||
.ace-idle-fingers .ace_collab.ace_user1 {
|
||||
color:#323232;
|
||||
background-color:#FFF980;
|
||||
}
|
||||
|
||||
.ace-idle-fingers .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjL6zzBz5sz/ABEUBGCqhK6UAAAAAElFTkSuQmCC) right repeat-y;
|
||||
background-color:#FFF980;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-kr-theme .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-kr-theme .ace_gutter {
|
||||
background: #1c1917;
|
||||
color: #FCFFE0;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #1c1917;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-kr-theme .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-kr-theme .ace_gutter_active_line {
|
||||
background-color : #38403D;
|
||||
background-color: #38403D;
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:rgba(210, 117, 24, 0.76);
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_constant.ace_character, {
|
||||
color:rgba(210, 117, 24, 0.76);
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_constant.ace_character.ace_escape, {
|
||||
color:rgba(210, 117, 24, 0.76);
|
||||
}
|
||||
|
|
@ -137,8 +134,4 @@ color:#706D5B;
|
|||
|
||||
.ace-kr-theme .ace_markup.ace_list {
|
||||
background-color:#0F0040;
|
||||
}
|
||||
|
||||
.ace-kr-theme .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPg5uL8zzBz5sz/AA1WA+hUYIqjAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-merbivore .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-merbivore .ace_gutter {
|
||||
background: #202020;
|
||||
color: #E6E1DC;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #555651;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-merbivore .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-merbivore .ace_gutter_active_line {
|
||||
background-color : #333435;
|
||||
background-color: #333435;
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:#1EDAFB;
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_constant.ace_character, {
|
||||
color:#1EDAFB;
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_constant.ace_character.ace_escape, {
|
||||
color:#1EDAFB;
|
||||
}
|
||||
|
|
@ -137,8 +134,4 @@ color:#AD2EA4;
|
|||
|
||||
.ace-merbivore .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-merbivore .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQExP7zzBz5sz/AA50BAyDznYhAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-merbivore-soft .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-merbivore-soft .ace_gutter {
|
||||
background: #262424;
|
||||
color: #E6E1DC;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-merbivore-soft .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #262424;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-merbivore-soft .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-merbivore-soft .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-merbivore-soft .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:#68C1D8;
|
||||
}
|
||||
|
||||
.ace-merbivore-soft .ace_constant.ace_character, {
|
||||
color:#68C1D8;
|
||||
}
|
||||
|
||||
.ace-merbivore-soft .ace_constant.ace_character.ace_escape, {
|
||||
color:#68C1D8;
|
||||
}
|
||||
|
|
@ -143,8 +140,4 @@ color:#AC4BB8;
|
|||
|
||||
.ace-merbivore-soft .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-merbivore-soft .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkZH5zzBz5sz/AA8EBB6crd1rAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-mono-industrial .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-mono-industrial .ace_gutter {
|
||||
background: #1d2521;
|
||||
color: #C5C9C9;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-mono-industrial .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #555651;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-mono-industrial .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-mono-industrial .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-mono-industrial .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -80,10 +81,6 @@
|
|||
color:#E98800;
|
||||
}
|
||||
|
||||
.ace-mono-industrial .ace_constant.ace_character, {
|
||||
color:#E98800;
|
||||
}
|
||||
|
||||
.ace-mono-industrial .ace_constant.ace_character.ace_escape, {
|
||||
color:#E98800;
|
||||
}
|
||||
|
|
@ -145,8 +142,4 @@ background-color:#151C19;
|
|||
|
||||
.ace-mono-industrial .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-mono-industrial .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ0tH4zzBz5sz/ABAOBECKH+evAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-monokai .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-monokai .ace_gutter {
|
||||
background: #2f3129;
|
||||
color: #f1f1f1;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-monokai .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #555651;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-monokai .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-monokai .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-monokai .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -55,8 +56,9 @@
|
|||
.ace-monokai .ace_marker-layer .ace_active_line {
|
||||
background: #49483E;
|
||||
}
|
||||
|
||||
.ace-monokai .ace_gutter_active_line {
|
||||
background-color: #191916;
|
||||
background-color: #49483E;
|
||||
}
|
||||
|
||||
.ace-monokai .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -71,6 +73,10 @@
|
|||
color:#F92672;
|
||||
}
|
||||
|
||||
.ace-monokai .ace_constant.ace_character, {
|
||||
color:#AE81FF;
|
||||
}
|
||||
|
||||
.ace-monokai .ace_constant.ace_language {
|
||||
color:#AE81FF;
|
||||
}
|
||||
|
|
@ -142,8 +148,4 @@ color:#FD971F;
|
|||
|
||||
.ace-monokai .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-monokai .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ11D6z7Bq1ar/ABCKBG6g04U2AAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-pastel-on-dark .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_gutter {
|
||||
background: #353030;
|
||||
color: #8F938F;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #353030;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -81,7 +82,7 @@
|
|||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_constant.ace_character, {
|
||||
color:#4FB7C5;
|
||||
color:#AFA472;
|
||||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_constant.ace_character.ace_escape, {
|
||||
|
|
@ -147,8 +148,4 @@ color:#D2A8A1;
|
|||
|
||||
.ace-pastel-on-dark .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-pastel-on-dark .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0dD4z9DR0fEfAA+vBBPqhbn1AAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-solarized-dark .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-solarized-dark .ace_gutter {
|
||||
background: #01313f;
|
||||
color: #d0edf7;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #33555E;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-solarized-dark .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-solarized-dark .ace_gutter_active_line {
|
||||
background-color: #0d3440;
|
||||
background-color: #073642;
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -72,6 +73,10 @@
|
|||
color:#859900;
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_constant.ace_character, {
|
||||
color:#CB4B16;
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_constant.ace_language {
|
||||
color:#B58900;
|
||||
}
|
||||
|
|
@ -128,8 +133,4 @@ color:#657B83;
|
|||
|
||||
.ace-solarized-dark .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-solarized-dark .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db7zzBz5sz/AA82BCv7wOIDAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-solarized-light .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,7 +9,7 @@
|
|||
}
|
||||
|
||||
.ace-solarized-light .ace_gutter {
|
||||
background: #fbf1d3;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-solarized-light .ace_marker-layer .ace_step {
|
||||
background: rgb(255, 255, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-solarized-light .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-solarized-light .ace_gutter_active_line {
|
||||
background-color : #dcdcdc;
|
||||
background-color: #EEE8D5;
|
||||
}
|
||||
|
||||
.ace-solarized-light .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -72,6 +73,10 @@
|
|||
color:#859900;
|
||||
}
|
||||
|
||||
.ace-solarized-light .ace_constant.ace_character, {
|
||||
color:#CB4B16;
|
||||
}
|
||||
|
||||
.ace-solarized-light .ace_constant.ace_language {
|
||||
color:#B58900;
|
||||
}
|
||||
|
|
@ -127,8 +132,4 @@
|
|||
|
||||
.ace-solarized-light .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-solarized-light .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4++3xf4ZVq1b9BwAjxwbT1g3hiwAAAABJRU5ErkJggg==) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = false;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-tomorrow .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow .ace_gutter {
|
||||
background: #f6f6f6;
|
||||
color: #4D4D4C;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #f6f6f6;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow .ace_marker-layer .ace_step {
|
||||
background: rgb(255, 255, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow .ace_gutter_active_line {
|
||||
background-color : #dcdcdc;
|
||||
background-color: #EFEFEF;
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -76,6 +77,10 @@
|
|||
color:#3E999F;
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_constant.ace_character, {
|
||||
color:#F5871F;
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_constant.ace_language {
|
||||
color:#F5871F;
|
||||
}
|
||||
|
|
@ -161,8 +166,4 @@ background-color:#8959A8;
|
|||
|
||||
.ace-tomorrow .ace_markup.ace_heading {
|
||||
color:#718C00;
|
||||
}
|
||||
|
||||
.ace-tomorrow .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = false;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-tomorrow-night .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night .ace_gutter {
|
||||
background: #25282c;
|
||||
color: #C5C8C6;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #25282c;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-tomorrow-night .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -76,6 +77,10 @@
|
|||
color:#8ABEB7;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night .ace_constant.ace_character, {
|
||||
color:#DE935F;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night .ace_constant.ace_language {
|
||||
color:#DE935F;
|
||||
}
|
||||
|
|
@ -161,8 +166,4 @@ background-color:#B798BF;
|
|||
|
||||
.ace-tomorrow-night .ace_markup.ace_heading {
|
||||
color:#B5BD68;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQlVf8z7Bq1ar/AA/hBFp7egmpAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-tomorrow-night-blue .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_gutter {
|
||||
background: #00204b;
|
||||
color: #7388b5;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #00204b;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_marker-layer .ace_step {
|
||||
background: rgb(127, 111, 19);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -57,7 +58,7 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_gutter_active_line {
|
||||
background-color: #022040;
|
||||
background-color: #00346E;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_marker-layer .ace_selected_word {
|
||||
|
|
@ -76,6 +77,10 @@
|
|||
color:#99FFFF;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_constant.ace_character, {
|
||||
color:#FFC58F;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_constant.ace_language {
|
||||
color:#FFC58F;
|
||||
}
|
||||
|
|
@ -161,8 +166,4 @@ background-color:#EBBBFF;
|
|||
|
||||
.ace-tomorrow-night-blue .ace_markup.ace_heading {
|
||||
color:#D1F1A9;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-blue .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgUAn8z7Bq1ar/ABBUBHJ4/r3JAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-tomorrow-night-bright .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_gutter {
|
||||
background: #1a1a1a;
|
||||
color: #DEDEDE;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #1a1a1a;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -76,6 +77,10 @@
|
|||
color:#70C0B1;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_constant.ace_character, {
|
||||
color:#E78C45;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_constant.ace_language {
|
||||
color:#E78C45;
|
||||
}
|
||||
|
|
@ -161,8 +166,4 @@ background-color:#B798BF;
|
|||
|
||||
.ace-tomorrow-night-bright .ace_markup.ace_heading {
|
||||
color:#B9CA4A;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-bright .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGD4z7Bq1ar/AAz9A/2naJQKAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_gutter {
|
||||
background: #272727;
|
||||
color: #CCC;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #272727;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -76,6 +77,10 @@
|
|||
color:#66CCCC;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_constant.ace_character, {
|
||||
color:#F99157;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_constant.ace_language {
|
||||
color:#F99157;
|
||||
}
|
||||
|
|
@ -157,8 +162,4 @@ background-color:#CC99CC;
|
|||
|
||||
.ace-tomorrow-night-eighties .ace_markup.ace_heading {
|
||||
color:#99CC99;
|
||||
}
|
||||
|
||||
.ace-tomorrow-night-eighties .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ1dX9z7Bq1ar/ABE1BITwhhuFAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-twilight .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-twilight .ace_gutter {
|
||||
background: #232323;
|
||||
color: #E2E2E2;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-twilight .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #232323;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-twilight .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-twilight .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-twilight .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:#CF6A4C;
|
||||
}
|
||||
|
||||
.ace-twilight .ace_constant.ace_character, {
|
||||
color:#CF6A4C;
|
||||
}
|
||||
|
||||
.ace-twilight .ace_constant.ace_character.ace_escape, {
|
||||
color:#CF6A4C;
|
||||
}
|
||||
|
|
@ -159,8 +156,4 @@ color:#5F5A60;
|
|||
|
||||
.ace-twilight .ace_markup.ace_list {
|
||||
color:#F9EE98;
|
||||
}
|
||||
|
||||
.ace-twilight .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERH5zzBz5sz/AA5EBAYqeZXWAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css */
|
||||
|
||||
.ace-vibrant-ink .ace_editor {
|
||||
border: 2px solid rgb(159, 159, 159);
|
||||
|
|
@ -8,13 +9,13 @@
|
|||
}
|
||||
|
||||
.ace-vibrant-ink .ace_gutter {
|
||||
background: #1a1a1a;
|
||||
color: #BEBEBE;
|
||||
background: #e8e8e8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ace-vibrant-ink .ace_print_margin {
|
||||
width: 1px;
|
||||
background: #1a1a1a;
|
||||
background: #e8e8e8;
|
||||
}
|
||||
|
||||
.ace-vibrant-ink .ace_scroller {
|
||||
|
|
@ -44,7 +45,7 @@
|
|||
}
|
||||
|
||||
.ace-vibrant-ink .ace_marker-layer .ace_step {
|
||||
background: rgb(102, 82, 0);
|
||||
background: rgb(198, 219, 174);
|
||||
}
|
||||
|
||||
.ace-vibrant-ink .ace_marker-layer .ace_bracket {
|
||||
|
|
@ -76,10 +77,6 @@
|
|||
color:#339999;
|
||||
}
|
||||
|
||||
.ace-vibrant-ink .ace_constant.ace_character, {
|
||||
color:#339999;
|
||||
}
|
||||
|
||||
.ace-vibrant-ink .ace_constant.ace_character.ace_escape, {
|
||||
color:#339999;
|
||||
}
|
||||
|
|
@ -138,8 +135,4 @@ color:#99CC99;
|
|||
|
||||
.ace-vibrant-ink .ace_markup.ace_underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.ace-vibrant-ink .ace_indent-guide {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPg5+f/z7Bq1ar/AA5lBCqoLxsgAAAAAElFTkSuQmCC) right repeat-y;
|
||||
}
|
||||
|
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js
|
||||
|
||||
define(function(require, exports, module) {
|
||||
|
||||
exports.isDark = true;
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ var Tokenizer = function(rules, flag) {
|
|||
});
|
||||
|
||||
if (matchcount > 1 && state[i].token.length !== matchcount-1)
|
||||
throw new Error("Matching groups and length of the token array don't match in rule #" + i + " of state " + key);
|
||||
throw new Error("For " + state[i].regex + " the matching groups and length of the token array don't match (rule #" + i + " of state " + key + ")");
|
||||
|
||||
mapping[matchTotal] = {
|
||||
rule: i,
|
||||
|
|
@ -139,6 +139,11 @@ var Tokenizer = function(rules, flag) {
|
|||
lastIndex = re.lastIndex;
|
||||
|
||||
re = this.regExps[currentState];
|
||||
|
||||
if (re === undefined) {
|
||||
throw new Error("You indicated a state of " + rule.next + " to go to, but it doesn't exist!");
|
||||
}
|
||||
|
||||
re.lastIndex = lastIndex;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1,513 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>fileTypes</key>
|
||||
<array>
|
||||
<string>jade</string>
|
||||
</array>
|
||||
<key>keyEquivalent</key>
|
||||
<string>^~J</string>
|
||||
<key>name</key>
|
||||
<string>Jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>keyword.control.import.include.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>^\s*\b(include)\b</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>^(!!!)(\s*[a-zA-Z0-9-_]+)?</string>
|
||||
<key>name</key>
|
||||
<string>keyword.other.doctype.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.section.comment.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>^\s*(//-?)(?:\s*[^-\s]|\s+\S).*$\n?</string>
|
||||
<key>name</key>
|
||||
<string>comment.line.double-slash.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)(//-?)\s*$</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.section.comment.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>^(?!\1\s+|$)</string>
|
||||
<key>name</key>
|
||||
<string>comment.block.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)(\:markdown)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>^(?!\1\s+)</string>
|
||||
<key>name</key>
|
||||
<string>meta.filter.markdown.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>text.html.markdown</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)(\:sass)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>^(?!\1\s+)</string>
|
||||
<key>name</key>
|
||||
<string>meta.filter.sass.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>source.sass</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)(\:less)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>^(?!\1\s+)</string>
|
||||
<key>name</key>
|
||||
<string>meta.filter.less.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>source.css.less</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)(\:coffeescript)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>^(?!\1\s+)(?=\s*.)</string>
|
||||
<key>name</key>
|
||||
<string>meta.filter.coffee.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>source.coffee</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)(\:cdata)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>^(?!\1\s+)</string>
|
||||
<key>name</key>
|
||||
<string>meta.filter.cdata.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>storage.type.function.jade</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.jade</string>
|
||||
</dict>
|
||||
<key>3</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.parameters.begin.jade</string>
|
||||
</dict>
|
||||
<key>4</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>variable.parameter.function.jade</string>
|
||||
</dict>
|
||||
<key>5</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.parameters.end.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>comment</key>
|
||||
<string>match stuff like: mixin dialog-title-desc(title, desc)</string>
|
||||
<key>match</key>
|
||||
<string>^\s*(mixin) ([\w\-]+)\s*(\()(.*?)(\))</string>
|
||||
<key>name</key>
|
||||
<string>meta.mixin.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>storage.type.function.jade</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>comment</key>
|
||||
<string>match stuff like: mixin dialog-title-desc</string>
|
||||
<key>match</key>
|
||||
<string>^\s*(mixin) ([\w\-]+)</string>
|
||||
<key>name</key>
|
||||
<string>meta.mixin.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^\s*(-|=|!=)</string>
|
||||
<key>end</key>
|
||||
<string>$</string>
|
||||
<key>name</key>
|
||||
<string>source.js.embedded.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>source.js</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(each)\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.control.js</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)(script)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.tag.script.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>^((?=(\1)([\w#\.]|$\n?))|^$\n?)</string>
|
||||
<key>name</key>
|
||||
<string>source.js.embedded.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>(?<=script)\s*\(</string>
|
||||
<key>end</key>
|
||||
<string>\)</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#tag-stuff</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>source.js</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>[#!]\{[^\}]+\}</string>
|
||||
<key>name</key>
|
||||
<string>string.interpolated.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^\s*(?!\w+\:)(?:(([\w]+))|(?=\.|#))</string>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>meta.tag.any.jade</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.tag.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>comment</key>
|
||||
<string>Match any tag, id or class. skip AST filters</string>
|
||||
<key>end</key>
|
||||
<string>$|(?!\.|#|=|-)</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\.[\w-]+</string>
|
||||
<key>name</key>
|
||||
<string>meta.tag.attribute.class.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>#[\w-]+</string>
|
||||
<key>name</key>
|
||||
<string>meta.tag.attribute.id.jade</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>(?<=\w)\s*\(</string>
|
||||
<key>end</key>
|
||||
<string>\)</string>
|
||||
<key>name</key>
|
||||
<string>meta.tag.attribute.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#tag-stuff</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>repository</key>
|
||||
<dict>
|
||||
<key>entities</key>
|
||||
<dict>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.entity.jade</string>
|
||||
</dict>
|
||||
<key>3</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.entity.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string>
|
||||
<key>name</key>
|
||||
<string>constant.character.entity.jade</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>&</string>
|
||||
<key>name</key>
|
||||
<string>invalid.illegal.bad-ampersand.jade</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>filter-langs</key>
|
||||
<dict>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#markdown</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#sass</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>markdown</key>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>markdown\s*$\n?</string>
|
||||
<key>end</key>
|
||||
<string>(?!^\1\s+)</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>text.html.markdown</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>sass</key>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(\s*)\:sass</string>
|
||||
<key>end</key>
|
||||
<string>(?!^\1\s+)</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>source.sass</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>string-double-quoted</key>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>"</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.string.begin.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>"</string>
|
||||
<key>endCaptures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.string.end.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>name</key>
|
||||
<string>string.quoted.double.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#entities</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>string-single-quoted</key>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>'</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.string.begin.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>'</string>
|
||||
<key>endCaptures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.string.end.jade</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>name</key>
|
||||
<string>string.quoted.single.jade</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#entities</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>tag-generic-attribute</key>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b([a-zA-Z\-:]+)</string>
|
||||
<key>name</key>
|
||||
<string>entity.other.attribute-name.jade</string>
|
||||
</dict>
|
||||
<key>tag-stuff</key>
|
||||
<dict>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#string-double-quoted</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#string-single-quoted</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#tag-generic-attribute</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>scopeName</key>
|
||||
<string>source.jade</string>
|
||||
<key>uuid</key>
|
||||
<string>C5B73B98-5F2A-42E3-9F0E-028A74A9FE4B</string>
|
||||
</dict>
|
||||
</plist>
|
||||
1511
tool/Objective-C.tmLanguage
Normal file
1511
tool/Objective-C.tmLanguage
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -82,7 +82,7 @@
|
|||
}
|
||||
|
||||
.%cssClass% .ace_constant.ace_character, {
|
||||
%constant%
|
||||
%constant.character%
|
||||
}
|
||||
|
||||
.%cssClass% .ace_constant.ace_character.ace_escape, {
|
||||
|
|
|
|||
60
tool/mode.tmpl.js
Normal file
60
tool/mode.tmpl.js
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Distributed under the BSD license:
|
||||
*
|
||||
* Copyright (c) 2012, Ajax.org B.V.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Ajax.org B.V. nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
THIS FILE WAS AUTOGENERATED BY mode.tmpl.js
|
||||
*/
|
||||
|
||||
define(function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var oop = require("../lib/oop");
|
||||
var TextMode = require("./text").Mode;
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var %language%HighlightRules = require("./%languageHighlightFilename%_highlight_rules").%language%HighlightRules;
|
||||
|
||||
var Mode = function() {
|
||||
var highlighter = new %language%HighlightRules();
|
||||
|
||||
this.$tokenizer = new Tokenizer(highlighter.getRules());
|
||||
};
|
||||
oop.inherits(Mode, TextMode);
|
||||
|
||||
(function() {
|
||||
// Extra logic goes here. (see below)
|
||||
}).call(Mode.prototype);
|
||||
|
||||
exports.Mode = Mode;
|
||||
});
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Distributed under the BSD license:
|
||||
*
|
||||
* Copyright (c) 2010, Ajax.org B.V.
|
||||
* Copyright (c) 2012, Ajax.org B.V.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
|
@ -33,6 +33,24 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
THIS FILE WAS AUTOGENERATED BY mode_highlight_rules.tmpl.js
|
||||
|
||||
IT MIGHT NOT BE PERFECT, PARTICULARLY:
|
||||
|
||||
IN DECIDING STATES TO TRANSITION TO,
|
||||
|
||||
IGNORING WHITESPACE,
|
||||
|
||||
EXTENDING EXISTING MODES,
|
||||
|
||||
GATHERING KEYWORDS, OR
|
||||
|
||||
RULE PREFERENCE ORDER.
|
||||
|
||||
...But it's a good start from an existing *.tmlanguage file.
|
||||
*/
|
||||
|
||||
define(function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
89
tool/tmlanguage.js
Executable file → Normal file
89
tool/tmlanguage.js
Executable file → Normal file
|
|
@ -4,11 +4,16 @@ var util = require("util");
|
|||
// for tracking token states
|
||||
var startState = { start: [] }, statesObj = { };
|
||||
|
||||
|
||||
var args = process.argv.splice(2);
|
||||
var tmLanguageFile = args[0];
|
||||
var devMode = args[1];
|
||||
|
||||
var parseString = require("plist").parseString;
|
||||
function parseLanguage(languageXml, callback) {
|
||||
parseString(languageXml, function(_, language) {
|
||||
callback(language[0])
|
||||
});
|
||||
parseString(languageXml, function(_, language) {
|
||||
callback(language[0])
|
||||
});
|
||||
}
|
||||
|
||||
function logDebug(string, obj) {
|
||||
|
|
@ -80,12 +85,12 @@ function checkForLookBehind(str) {
|
|||
function assembleStateObjs(strState, pattern) {
|
||||
var patterns = pattern.patterns;
|
||||
var stateObj = {};
|
||||
|
||||
var tokenElem = [];
|
||||
|
||||
if (patterns) {
|
||||
for (var p in patterns) {
|
||||
stateObj = {}; // this is apparently necessary
|
||||
|
||||
|
||||
if (patterns[p].include) {
|
||||
stateObj.include = patterns[p].include;
|
||||
}
|
||||
|
|
@ -123,7 +128,7 @@ function extractPatterns(patterns) {
|
|||
state++;
|
||||
var i = 1;
|
||||
var tokenArray = [];
|
||||
var tokenObj = {};
|
||||
var tokenObj = { token: [] };
|
||||
var stateObj = {};
|
||||
|
||||
if (pattern.comment) {
|
||||
|
|
@ -134,13 +139,24 @@ function extractPatterns(patterns) {
|
|||
if (pattern.begin && pattern.end) {
|
||||
var strState = "state_" + state;
|
||||
if ( pattern.beginCaptures === undefined && pattern.endCaptures === undefined) {
|
||||
tokenObj.token = pattern.captures;
|
||||
tokenObj.token.push(pattern.captures);
|
||||
}
|
||||
else if (pattern.beginCaptures) {
|
||||
tokenObj.token = pattern.beginCaptures;
|
||||
tokenObj.token.push(pattern.beginCaptures);
|
||||
}
|
||||
else if (pattern.endCaptures) {
|
||||
tokenObj.token = pattern.endCaptures;
|
||||
tokenObj.token.push(pattern.endCaptures);
|
||||
}
|
||||
|
||||
if (tokenObj.token === undefined) {
|
||||
if (pattern.name)
|
||||
tokenObj.token.push(pattern.name);
|
||||
else
|
||||
logDebug("There's no token name for this state transition", pattern)
|
||||
}
|
||||
|
||||
if (tokenObj.token === undefined) {
|
||||
tokenObj.token.push(pattern.name);
|
||||
}
|
||||
|
||||
statesObj[strState] = [ ];
|
||||
|
|
@ -155,18 +171,27 @@ function extractPatterns(patterns) {
|
|||
}
|
||||
|
||||
else if (pattern.captures) {
|
||||
tokenObj.token = pattern.captures;
|
||||
tokenObj.token.push([]);
|
||||
tokenObj.token.push(pattern.captures);
|
||||
tokenObj.regex = checkForLookBehind(pattern.match);
|
||||
|
||||
startState.start.push(tokenObj);
|
||||
}
|
||||
|
||||
else if (pattern.match) {
|
||||
tokenObj.token = pattern.name;
|
||||
tokenObj.token.push(pattern.name);
|
||||
tokenObj.regex = checkForLookBehind(pattern.match);
|
||||
|
||||
startState.start.push(tokenObj);
|
||||
}
|
||||
|
||||
else if (pattern.include) {
|
||||
tokenObj.token.push(pattern.include);
|
||||
tokenObj.regex = "";
|
||||
|
||||
startState.start.push(tokenObj);
|
||||
}
|
||||
|
||||
else {
|
||||
logDebug("I've gone through every choice, and have no clue what this is:", pattern);
|
||||
}
|
||||
|
|
@ -187,28 +212,44 @@ function fillTemplate(template, replacements) {
|
|||
});
|
||||
}
|
||||
|
||||
var modeTemplate = fs.readFileSync(__dirname + "/theme_mode.tmpl.js", "utf8");
|
||||
var modeTemplate = fs.readFileSync(__dirname + "/mode.tmpl.js", "utf8");
|
||||
var modeHighlightTemplate = fs.readFileSync(__dirname + "/mode_highlight_rules.tmpl.js", "utf8");
|
||||
|
||||
function convertLanguage(name) {
|
||||
var tmLanguage = fs.readFileSync(__dirname + "/" + name, "utf8");
|
||||
parseLanguage(tmLanguage, function(language) {
|
||||
var outFile = __dirname + "/../lib/ace/mode/" + language.name.replace(/-/g, "_").toLowerCase() + "_highlight_rules.js";
|
||||
console.log("Converting " + name + " to " + outFile);
|
||||
|
||||
//console.log(util.inspect(language.patterns, false, 4));
|
||||
var languageHighlightFilename = language.name.replace(/[-_]/g, "").toLowerCase();
|
||||
var languageNameSanitized = language.name.replace(/-/g, "");
|
||||
|
||||
var languageHighlightFile = __dirname + "/../lib/ace/mode/" + languageHighlightFilename + "_highlight_rules.js";
|
||||
var languageModeFile = __dirname + "/../lib/ace/mode/" + languageHighlightFilename + ".js";
|
||||
|
||||
console.log("Converting " + name + " to " + languageHighlightFile);
|
||||
|
||||
if (devMode)
|
||||
console.log(util.inspect(language.patterns, false, 4));
|
||||
|
||||
var patterns = extractPatterns(language.patterns);
|
||||
var lang = fillTemplate(modeTemplate, {
|
||||
language: language.name.replace(/-/g, ""),
|
||||
languageTokens: patterns
|
||||
});
|
||||
var patterns = extractPatterns(language.patterns);
|
||||
var languageHighlightRules = fillTemplate(modeHighlightTemplate, {
|
||||
language: languageNameSanitized,
|
||||
languageTokens: patterns
|
||||
});
|
||||
|
||||
fs.writeFileSync(outFile, lang);
|
||||
var languageMode = fillTemplate(modeTemplate, {
|
||||
language: languageNameSanitized,
|
||||
languageHighlightFilename: languageHighlightFilename
|
||||
});
|
||||
|
||||
if (devMode) {
|
||||
console.log("Not writing, 'cause we're in dev mode, baby.");
|
||||
}
|
||||
else {
|
||||
fs.writeFileSync(languageHighlightFile, languageHighlightRules);
|
||||
fs.writeFileSync(languageModeFile, languageMode);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var tmLanguageFile = process.argv.splice(2)[0];
|
||||
|
||||
if (tmLanguageFile === undefined) {
|
||||
console.error("Please pass in a language file via the command line.");
|
||||
process.exit(1);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ var fs = require("fs");
|
|||
var parseString = require("plist").parseString;
|
||||
function parseTheme(themeXml, callback) {
|
||||
parseString(themeXml, function(_, theme) {
|
||||
console.log(theme)
|
||||
callback(theme[0])
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue