From ff2ac65b2b0856091d01ce96e8662a98683d038d Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Sat, 8 Sep 2012 19:37:24 -0700 Subject: [PATCH] Save everything in case computer melts --- demo/kitchen-sink/demo.js | 110 +- demo/kitchen-sink/docs/jade.jade | 183 +- demo/kitchen-sink/docs/objectivec.m | 11 + lib/ace/mode/jade.js | 57 +- lib/ace/mode/jade_highlight_rules.js | 339 ++-- lib/ace/mode/objectivec.js | 60 + ...rules.js => objectivec_highlight_rules.js} | 382 +++-- lib/ace/theme/clouds.css | 11 +- lib/ace/theme/clouds.js | 2 + lib/ace/theme/clouds_midnight.css | 13 +- lib/ace/theme/clouds_midnight.js | 2 + lib/ace/theme/cobalt.css | 19 +- lib/ace/theme/cobalt.js | 2 + lib/ace/theme/dawn.css | 15 +- lib/ace/theme/dawn.js | 2 + lib/ace/theme/idle_fingers.css | 19 +- lib/ace/theme/idle_fingers.js | 2 + lib/ace/theme/kr_theme.css | 19 +- lib/ace/theme/kr_theme.js | 2 + lib/ace/theme/merbivore.css | 19 +- lib/ace/theme/merbivore.js | 2 + lib/ace/theme/merbivore_soft.css | 17 +- lib/ace/theme/merbivore_soft.js | 2 + lib/ace/theme/mono_industrial.css | 17 +- lib/ace/theme/mono_industrial.js | 2 + lib/ace/theme/monokai.css | 20 +- lib/ace/theme/monokai.js | 2 + lib/ace/theme/pastel_on_dark.css | 15 +- lib/ace/theme/pastel_on_dark.js | 2 + lib/ace/theme/solarized_dark.css | 19 +- lib/ace/theme/solarized_dark.js | 2 + lib/ace/theme/solarized_light.css | 15 +- lib/ace/theme/solarized_light.js | 2 + lib/ace/theme/tomorrow.css | 19 +- lib/ace/theme/tomorrow.js | 2 + lib/ace/theme/tomorrow_night.css | 17 +- lib/ace/theme/tomorrow_night.js | 2 + lib/ace/theme/tomorrow_night_blue.css | 19 +- lib/ace/theme/tomorrow_night_blue.js | 2 + lib/ace/theme/tomorrow_night_bright.css | 17 +- lib/ace/theme/tomorrow_night_bright.js | 2 + lib/ace/theme/tomorrow_night_eighties.css | 17 +- lib/ace/theme/tomorrow_night_eighties.js | 2 + lib/ace/theme/twilight.css | 17 +- lib/ace/theme/twilight.js | 2 + lib/ace/theme/vibrant_ink.css | 17 +- lib/ace/theme/vibrant_ink.js | 2 + lib/ace/tokenizer.js | 7 +- tool/Jade.tmLanguage | 513 ------ tool/Objective-C.tmLanguage | 1511 +++++++++++++++++ tool/Theme.tmpl.css | 2 +- tool/mode.tmpl.js | 60 + ...e.tmpl.js => mode_highlight_rules.tmpl.js} | 20 +- tool/tmlanguage.js | 89 +- tool/tmtheme.js | 1 - 55 files changed, 2437 insertions(+), 1289 deletions(-) create mode 100644 demo/kitchen-sink/docs/objectivec.m create mode 100644 lib/ace/mode/objectivec.js rename lib/ace/mode/{objective_c_highlight_rules.js => objectivec_highlight_rules.js} (84%) delete mode 100755 tool/Jade.tmLanguage create mode 100644 tool/Objective-C.tmLanguage create mode 100644 tool/mode.tmpl.js rename tool/{theme_mode.tmpl.js => mode_highlight_rules.tmpl.js} (85%) mode change 100755 => 100644 tool/tmlanguage.js diff --git a/demo/kitchen-sink/demo.js b/demo/kitchen-sink/demo.js index 48f0c74d..075e4f02 100644 --- a/demo/kitchen-sink/demo.js +++ b/demo/kitchen-sink/demo.js @@ -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) + ")"); diff --git a/demo/kitchen-sink/docs/jade.jade b/demo/kitchen-sink/docs/jade.jade index 97f4e22e..d9fb7e30 100644 --- a/demo/kitchen-sink/docs/jade.jade +++ b/demo/kitchen-sink/docs/jade.jade @@ -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 either as an - != link(obj.bound, ['link-short'], 'instance method') - | or 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 either as an instance method or 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 \ No newline at end of file diff --git a/demo/kitchen-sink/docs/objectivec.m b/demo/kitchen-sink/docs/objectivec.m new file mode 100644 index 00000000..ce09279d --- /dev/null +++ b/demo/kitchen-sink/docs/objectivec.m @@ -0,0 +1,11 @@ +@protocol Printing: someParent +-(void) print; +@end + +@interface Fraction: NSObject { + int numerator; + int denominator; +} +@end + +@"blah" @"asd\d" @"\fawn\\" \ No newline at end of file diff --git a/lib/ace/mode/jade.js b/lib/ace/mode/jade.js index 3886179d..57e68b9f 100644 --- a/lib/ace/mode/jade.js +++ b/lib/ace/mode/jade.js @@ -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 - * Alexander Hanhikoski - * - * 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 * * ***** END LICENSE BLOCK ***** */ diff --git a/lib/ace/mode/jade_highlight_rules.js b/lib/ace/mode/jade_highlight_rules.js index e70755ba..5fa61ead 100644 --- a/lib/ace/mode/jade_highlight_rules.js +++ b/lib/ace/mode/jade_highlight_rules.js @@ -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 * * ***** 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); diff --git a/lib/ace/mode/objectivec.js b/lib/ace/mode/objectivec.js new file mode 100644 index 00000000..a659d836 --- /dev/null +++ b/lib/ace/mode/objectivec.js @@ -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; +}); \ No newline at end of file diff --git a/lib/ace/mode/objective_c_highlight_rules.js b/lib/ace/mode/objectivec_highlight_rules.js similarity index 84% rename from lib/ace/mode/objective_c_highlight_rules.js rename to lib/ace/mode/objectivec_highlight_rules.js index a5329c16..1903d2ab 100644 --- a/lib/ace/mode/objective_c_highlight_rules.js +++ b/lib/ace/mode/objectivec_highlight_rules.js @@ -1,43 +1,40 @@ /* ***** 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): + * * * - * - * 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. - * * ***** END LICENSE BLOCK ***** */ /* - THIS FILE WAS AUTOGENERATED BY theme_mode.tmpl.js + THIS FILE WAS AUTOGENERATED BY mode_highlight_rules.tmpl.js IT MIGHT NOT BE PERFECT, PARTICULARLY: @@ -60,6 +57,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; +var escapedConstRe = "\\\\(?:[abefnrtv]|" + // hex + "[0-3]\\d{0,2}|" + + "[0-2][0-7]{0,2}|" + + "[4-7]\\d?|" + + "x[a-zA-Z0-9]+)"; + var ObjectiveCHighlightRules = function() { // regexp must not have capturing parentheses. Use (?:) instead. @@ -69,271 +72,302 @@ var ObjectiveCHighlightRules = function() { { "start": [ { - "token": { - "1": { - "name": "storage.type.objc" - }, - "2": { - "name": "punctuation.definition.storage.type.objc" - }, - "4": { - "name": "entity.name.type.objc" - }, - "6": { - "name": "punctuation.definition.entity.other.inherited-class.objc" - }, - "7": { - "name": "entity.other.inherited-class.objc" - }, - "8": { - "name": "meta.divider.objc" - }, - "9": { - "name": "meta.inherited-class.objc" - } - }, - "regex": "((@)(interface|protocol))(?!.+;)\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*((:)(?:\\s*)([A-Za-z][A-Za-z0-9]*))?(\\s|\\n)?", - "next": "state_1" + "token": [ "storage.type.objc", "punctuation.definition.storage.type.objc", + "entity.name.type.objc", "text", "punctuation.definition.entity.other.inherited-class.objc", + "entity.other.inherited-class.objc", "meta.divider.objc", "meta.inherited-class.objc" + ], + "regex": "(@)(interface|protocol)(?!.+;)(\\s+[A-Za-z_][A-Za-z0-9_]*)(\s*)((:)(?:\s*)([A-Za-z][A-Za-z0-9]*))?(\s|\n)?", + "next": "interface_protocol" }, { - "token": { - "1": { - "name": "storage.type.objc" - }, - "2": { - "name": "punctuation.definition.storage.type.objc" - }, - "4": { - "name": "entity.name.type.objc" - }, - "5": { - "name": "entity.other.inherited-class.objc" - } - }, - "regex": "((@)(implementation))\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*(?::\\s*([A-Za-z][A-Za-z0-9]*))?", - "next": "state_2" + "token": [ "storage.type.objc", "punctuation.definition.storage.type.objc", + "entity.name.type.objc", "entity.other.inherited-class.objc" + ], + "regex": "@(implementation)(\\s+[A-Za-z_][A-Za-z0-9_]*)(\\s*?::\\s*([A-Za-z][A-Za-z0-9]*))?", + "next": "implementation" }, { - "token": { - "0": { - "name": "punctuation.definition.string.begin.objc" - } - }, - "regex": "@\"", - "next": "state_3" - }, + "token": "string.begin.objc", + "regex": '@"', + "next": "constant_NSString" + }/*, { - "token": { - "1": { - "name": "storage.type.objc" + "token": [ + { + "1": { + "name": "storage.type.objc" + } } - }, + ], "regex": "\\b(id)\\s*(?=<)", "next": "state_4" }, { - "token": "keyword.control.macro.objc", + "token": [ + "keyword.control.macro.objc" + ], "regex": "\\b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\\b" }, { - "token": { - "1": { - "name": "punctuation.definition.keyword.objc" + "token": [ + [], + { + "1": { + "name": "punctuation.definition.keyword.objc" + } } - }, + ], "regex": "(@)(try|catch|finally|throw)\\b" }, { - "token": { - "1": { - "name": "punctuation.definition.keyword.objc" + "token": [ + [], + { + "1": { + "name": "punctuation.definition.keyword.objc" + } } - }, + ], "regex": "(@)(synchronized)\\b" }, { - "token": { - "1": { - "name": "punctuation.definition.keyword.objc" + "token": [ + [], + { + "1": { + "name": "punctuation.definition.keyword.objc" + } } - }, - "regex": "(@)(required|optional)\\b" - }, - { - "token": { - "1": { - "name": "punctuation.definition.keyword.objc" - } - }, + ], "regex": "(@)(defs|encode)\\b" }, { - "token": "storage.type.id.objc", - "regex": "\\bid\\b" + "token": [ + "storage.type.id.objc" + ], + "regex": "\\bid\\b(\\s|\\n)?" }, { - "token": "storage.type.objc", + "token": [ + "storage.type.objc" + ], "regex": "\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class)\\b" }, { - "token": { - "1": { - "name": "punctuation.definition.storage.type.objc" + "token": [ + [], + { + "1": { + "name": "punctuation.definition.storage.type.objc" + } } - }, + ], "regex": "(@)(class|protocol)\\b" }, { - "token": { - "1": { - "name": "storage.type.objc" - }, - "2": { - "name": "punctuation.definition.storage.type.objc" - }, - "3": { - "name": "punctuation.definition.storage.type.objc" + "token": [ + { + "1": { + "name": "storage.type.objc" + }, + "2": { + "name": "punctuation.definition.storage.type.objc" + }, + "3": { + "name": "punctuation.definition.storage.type.objc" + } } - }, + ], "regex": "((@)selector)\\s*(\\()", - "next": "state_13" + "next": "state_12" }, { - "token": { - "1": { - "name": "punctuation.definition.storage.modifier.objc" + "token": [ + [], + { + "1": { + "name": "punctuation.definition.storage.modifier.objc" + } } - }, + ], "regex": "(@)(synchronized|public|private|protected)\\b" }, { - "token": "constant.language.objc", + "token": [ + "constant.language.objc" + ], "regex": "\\b(YES|NO|Nil|nil)\\b" }, { - "token": "support.variable.foundation", + "token": [ + "support.variable.foundation" + ], "regex": "\\bNSApp\\b" }, { - "token": { - "1": { - "name": "punctuation.whitespace.support.function.cocoa.leopard" - }, - "2": { - "name": "support.function.cocoa.leopard" + "token": [ + [], + { + "1": { + "name": "punctuation.whitespace.support.function.cocoa.leopard" + }, + "2": { + "name": "support.function.cocoa.leopard" + } } - }, + ], "regex": "(\\s*)\\b(NS(Rect(ToCGRect|FromCGRect)|MakeCollectable|S(tringFromProtocol|ize(ToCGSize|FromCGSize))|Draw(NinePartImage|ThreePartImage)|P(oint(ToCGPoint|FromCGPoint)|rotocolFromString)|EventMaskFromType|Value))\\b" }, { - "token": { - "1": { - "name": "punctuation.whitespace.support.function.leading.cocoa" - }, - "2": { - "name": "support.function.cocoa" + "token": [ + [], + { + "1": { + "name": "punctuation.whitespace.support.function.leading.cocoa" + }, + "2": { + "name": "support.function.cocoa" + } } - }, + ], "regex": "(\\s*)\\b(NS(R(ound(DownToMultipleOfPageSize|UpToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set(MapTable|HashTable)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l(MemoryAvailable|locateCollectable))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n(X|Y)|d(X|Y))|ouseInRect|a(p(Remove|Get|Member|Insert(IfAbsent|KnownAbsent)?)|ke(R(ect|ange)|Size|Point)|x(Range|X|Y)))|B(itsPer(SampleFromDepth|PixelFromDepth)|e(stDepth|ep|gin(CriticalAlertSheet|InformationalAlertSheet|AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert(IfAbsent|KnownAbsent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped(DoubleToHost|FloatToHost)|Host(DoubleToSwapped|FloatToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare(MapTables|HashTables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File(namePboardType|ContentsPboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d(MapTableEnumeration|HashTableEnumeration)|umerate(MapTable|HashTable)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee(MapTable|HashTable)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\b" }, { - "token": "support.class.cocoa.leopard", + "token": [ + "support.class.cocoa.leopard" + ], "regex": "\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\b" }, { - "token": "support.class.cocoa", + "token": [ + "support.class.cocoa" + ], "regex": "\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an(domSpecifier|geSpecifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech(Recognizer|Synthesizer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con(nector|trolConnector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p(oundPredicate|arisonPredicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o(seCommand|neCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n(iqueIDSpecifier|doManager|archiver))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated(ToobarItem|UserInterfaceItem)|ue(Transformer)?))|Keyed(Unarchiver|Archiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\b" }, { - "token": "support.type.cocoa.leopard", + "token": [ + "support.type.cocoa.leopard" + ], "regex": "\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D(ocumentContentKind|TDNodeKind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing(CompareOptions|DrawingOptions|EncodingConversionOptions)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView(SelectionHighlightStyle|ColumnAutoresizingStyle)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\b" }, { - "token": "support.class.quartz", + "token": [ + "support.class.quartz" + ], "regex": "\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans(ition|action))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\b" }, { - "token": "support.type.quartz", + "token": [ + "support.type.quartz" + ], "regex": "\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\b" }, { - "token": "support.type.cocoa", + "token": [ + "support.type.cocoa" + ], "regex": "\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B(itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar(SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(ContextAuxiliary|PixelFormatAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace(IconCreationOptions|LaunchOptions)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication(TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\b" }, { - "token": "support.constant.cocoa", + "token": [ + "support.constant.cocoa" + ], "regex": "\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\b" }, { - "token": "support.constant.notification.cocoa.leopard", + "token": [ + "support.constant.notification.cocoa.leopard" + ], "regex": "\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\b" }, { - "token": "support.constant.notification.cocoa", + "token": [ + "support.constant.notification.cocoa" + ], "regex": "\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView(DidResizeSubviews|WillResizeSubviews))|C(o(nt(extHelpModeDid(Deactivate|Activate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor(PanelColorDidChange|ListDidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar(DidRemoveItem|WillAddItem)|ext(Storage(DidProcessEditing|WillProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton(CellWillPopUp|WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F(ocusDidChange|rameDidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid(ResignActive|BecomeActive)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\b" }, { - "token": "support.constant.cocoa.leopard", + "token": [ + "support.constant.cocoa.leopard" + ], "regex": "\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws(BeforeStartingLocation|AfterEndingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech(SentenceBoundary|ImmediateBoundary|WordBoundary)|llingState(GrammarFlag|SpellingFlag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M(iscellaneousError|alformedServiceDictionaryError)|InvalidPasteboardDataError|ErrorM(inimum|aximum)|Application(NotFoundError|LaunchFailedError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally(Down|UpOrDown)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)|32(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)))|P(ointerFunctions(Ma(chVirtualMemory|llocMemory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP(ointerPersonality|ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM(inimum|aximum)|L(inkError|oadError)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead(TooLargeError|UnknownStringEncodingError))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\b" }, { - "token": "support.constant.cocoa", + "token": [ + "support.constant.cocoa" + ], "regex": "\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed(BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(CapStyle|JoinStyle))|un(StoppedResponse|ContinuesResponse|AbortedResponse)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver(sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A(tAPoint|gainstAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use(SingleQuotes|DoubleQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot(StartedError|FinishedError)|Mi(splaced(XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(StartedError|FinishedError))|S(t(andaloneValueError|ringNot(StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot(StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In(DTDError|PrologError|EpilogError)|AtEOFError)|o(nditionalSectionNot(StartedError|FinishedError)|mment(NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter(RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(NameError|Error)))|OutOfMemoryError|D(ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(RI(RequiredError|FragmentError)|n(declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal(SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot(StartedError|FinishedError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In(DTDError|PrologError|EpilogError)|erence(MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(StartedError|FinishedError)|Is(ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(StartedError|FinishedError)|xt(ernalS(tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(iteralNot(StartedError|FinishedError)|T(RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not(StartedError|FinishedError)|ListNot(StartedError|FinishedError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar(sedKind|ameterKind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E(lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(sKind|Kind)|otationKind)|CDATAKind|ID(Ref(sKind|Kind)|Kind)|DeclarationKind|En(tit(yKind|iesKind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push(Button|InButton)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(XEdge|YEdge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore(Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(owser(NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow(ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M(inEnd|axEnd)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has(BytesAvailable|SpaceAvailable)|None|OpenCompleted|E(ndEncountered|rrorOccurred)))))|i(ngle(DateMode|UnderlineStyle)|ze(DownFontAction|UpFontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity(Downstream|Upstream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute(SecondDatePickerElementFlag|DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa(yDatePickerElementFlag|tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs(BezelBorder|NoBorder|LineBorder))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S(cientificStyle|pellOutStyle)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before(Suffix|Prefix)|After(Suffix|Prefix))))))|e(t(Services(BadArgumentError|NotFoundError|C(ollisionError|ancelledError)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C(MYKModeMask|olorListModeMask|ustomPaletteModeMask|rayonModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick(SquareBezelStyle|erSquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX(3|4)|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM(inimum|aximum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table(FixedLayoutAlgorithm|AutomaticLayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid(HorizontalGridLineMask|VerticalGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert(CharFunctionKey|FunctionKey|LineFunctionKey)|t(Type|ernalS(criptError|pecifierError))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin(1StringEncoding|2StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS(criptError|pecifierError))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr(ingType|uctType)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long(Type|longType)|ArrayType))|D(i(s(c(losureBezelStyle|reteCapacityLevelIndicatorStyle)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument(Directory|ationDirectory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper(Directory|ApplicationDirectory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos(ingState|edState)|Open(ingState|State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS(criptError|pecifierError))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG(2000FileType|FileType)|apaneseEUC(GlyphPacking|StringEncoding))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve(IntType|DoubleType|FloatType)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge(DownFunctionKey|UpFunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred(SmallThickness|Thickness|LargeThickness|AquaThickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in(XMargin|YMargin)|ax(XMargin|YMargin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM(inimum|aximum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping(BackAndForthPlayback|Playback))|F(1(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No(SuchFileError|PermissionError)|CorruptFileError|In(validFileNameError|applicableStringEncodingError)|Un(supportedSchemeError|knownError))|HandlingPanel(CancelButton|OKButton)|NoSuchFileError|ErrorM(inimum|aximum)|Write(NoPermissionError|In(validFileNameError|applicableStringEncodingError)|OutOfSpaceError|Un(supportedSchemeError|knownError))|LockingError)|xedPitchFontMask)|2(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S(ymbolicClass|criptsClass|labSerifsClass|ansSerifClass)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O(ldStyleSerifsClass|rnamentalsClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t(andardModesMask|rikethroughEffectModeMask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All(ModesMask|EffectsModeMask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased(RenderingMode|IntegerAdvancementsRenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M(inimum|aximum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3(1FunctionKey|2FunctionKey|3FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125(1StringEncoding|2StringEncoding|3StringEncoding|4StringEncoding|0StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day(CalendarUnit|OrdinalCalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C(harWrapping|lipping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan(1CharacterCollection|2CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto(saveOperation|Pagination)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert(SecondButtonReturn|ThirdButtonReturn|OtherReturn|DefaultReturn|ErrorReturn|FirstButtonReturn|AlternateReturn)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument(sWrongScriptError|EvaluationScriptError)|bove(Bottom|Top)|WTEventType))\\b" - } - ], - "state_1": [ + }, { + "token": [ + "source.c" + ], + "regex": "" + }, + { + "token": [ + "#bracketed_content" + ], + "regex": "" + }*/ + ], + "interface_protocol": [ + /*{ "include": "#interface_innards" - }, + },*/ { - "token": "TODO", - "regex": "((@)end)\\b", + "token": "storage.type.objc", + "regex": "@end\\b", "next": "start" } ], - "state_2": [ - { + "implementation": [ + /*{ "include": "#implementation_innards" - }, + },*/ { - "token": "TODO", - "regex": "((@)end)\\b", + "token": "storage.type.objc", + "regex": "@end\\b", "next": "start" } ], - "state_3": [ + "constant_NSString": [ { "token": "constant.character.escape.objc", - "regex": "\\\\(\\\\|[abefnrtv'\"?]|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})" + "regex": escapedConstRe }, { "token": "invalid.illegal.unknown-escape.objc", "regex": "\\\\." }, { - "token": "TODO", + "token": "string", + "regex": "[^\"]+" + }, + { + "token": "punctuation.definition.string.end", "regex": "\"", "next": "start" } ], - "state_4": [ - { + /*{"state_4": [ + "include": "#protocol_list" }, { "token": "TODO", - "regex": "(?<=>)", + "regex": "(?<=>)", // ERROR: This contains a lookbehind, which JS does not support :(", "next": "start" } - ], - "state_13": [ + ],*/ + "state_12": [ { "token": "support.function.any-method.name-of-parameter.objc", "regex": "\\b(?:[a-zA-Z_:][\\w]*)+" }, { - "token": "TODO", - "regex": "(\\))", + "token": "punctuation", + "regex": "\\)", "next": "start" } ] diff --git a/lib/ace/theme/clouds.css b/lib/ace/theme/clouds.css index 80364f41..04d087f5 100644 --- a/lib/ace/theme/clouds.css +++ b/lib/ace/theme/clouds.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/clouds.js b/lib/ace/theme/clouds.js index 05e8e719..dc291e6f 100644 --- a/lib/ace/theme/clouds.js +++ b/lib/ace/theme/clouds.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = false; diff --git a/lib/ace/theme/clouds_midnight.css b/lib/ace/theme/clouds_midnight.css index 22b52c99..2ffb26bb 100644 --- a/lib/ace/theme/clouds_midnight.css +++ b/lib/ace/theme/clouds_midnight.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/clouds_midnight.js b/lib/ace/theme/clouds_midnight.js index df434043..5a22dbae 100644 --- a/lib/ace/theme/clouds_midnight.js +++ b/lib/ace/theme/clouds_midnight.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/cobalt.css b/lib/ace/theme/cobalt.css index 60fda700..7ae51e13 100644 --- a/lib/ace/theme/cobalt.css +++ b/lib/ace/theme/cobalt.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/cobalt.js b/lib/ace/theme/cobalt.js index de0bfff7..ffcd6931 100644 --- a/lib/ace/theme/cobalt.js +++ b/lib/ace/theme/cobalt.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/dawn.css b/lib/ace/theme/dawn.css index d26edebf..b55c2eef 100644 --- a/lib/ace/theme/dawn.css +++ b/lib/ace/theme/dawn.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/dawn.js b/lib/ace/theme/dawn.js index 4e85d1e9..5499d22b 100644 --- a/lib/ace/theme/dawn.js +++ b/lib/ace/theme/dawn.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = false; diff --git a/lib/ace/theme/idle_fingers.css b/lib/ace/theme/idle_fingers.css index 00e8a81e..880dde9f 100644 --- a/lib/ace/theme/idle_fingers.css +++ b/lib/ace/theme/idle_fingers.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/idle_fingers.js b/lib/ace/theme/idle_fingers.js index 251d6e63..aa448d4f 100644 --- a/lib/ace/theme/idle_fingers.js +++ b/lib/ace/theme/idle_fingers.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/kr_theme.css b/lib/ace/theme/kr_theme.css index ede07375..cfba5277 100644 --- a/lib/ace/theme/kr_theme.css +++ b/lib/ace/theme/kr_theme.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/kr_theme.js b/lib/ace/theme/kr_theme.js index da7dd1d3..c9074333 100644 --- a/lib/ace/theme/kr_theme.js +++ b/lib/ace/theme/kr_theme.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/merbivore.css b/lib/ace/theme/merbivore.css index 9b110778..ce493b06 100644 --- a/lib/ace/theme/merbivore.css +++ b/lib/ace/theme/merbivore.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/merbivore.js b/lib/ace/theme/merbivore.js index 254fdad0..0cccd1e2 100644 --- a/lib/ace/theme/merbivore.js +++ b/lib/ace/theme/merbivore.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/merbivore_soft.css b/lib/ace/theme/merbivore_soft.css index 55e401b1..fba3b446 100644 --- a/lib/ace/theme/merbivore_soft.css +++ b/lib/ace/theme/merbivore_soft.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/merbivore_soft.js b/lib/ace/theme/merbivore_soft.js index d5e7dbbd..80a18e37 100644 --- a/lib/ace/theme/merbivore_soft.js +++ b/lib/ace/theme/merbivore_soft.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/mono_industrial.css b/lib/ace/theme/mono_industrial.css index 5d282e83..c34ee47a 100644 --- a/lib/ace/theme/mono_industrial.css +++ b/lib/ace/theme/mono_industrial.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/mono_industrial.js b/lib/ace/theme/mono_industrial.js index d17f39f2..83c418f5 100644 --- a/lib/ace/theme/mono_industrial.js +++ b/lib/ace/theme/mono_industrial.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/monokai.css b/lib/ace/theme/monokai.css index 02d4fa9d..0b9e4cfd 100644 --- a/lib/ace/theme/monokai.css +++ b/lib/ace/theme/monokai.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/monokai.js b/lib/ace/theme/monokai.js index b41141b0..dc093bf5 100644 --- a/lib/ace/theme/monokai.js +++ b/lib/ace/theme/monokai.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/pastel_on_dark.css b/lib/ace/theme/pastel_on_dark.css index 104d5168..c899cdfe 100644 --- a/lib/ace/theme/pastel_on_dark.css +++ b/lib/ace/theme/pastel_on_dark.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/pastel_on_dark.js b/lib/ace/theme/pastel_on_dark.js index 28672150..482996de 100644 --- a/lib/ace/theme/pastel_on_dark.js +++ b/lib/ace/theme/pastel_on_dark.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/solarized_dark.css b/lib/ace/theme/solarized_dark.css index 11eaba93..66e02d8e 100644 --- a/lib/ace/theme/solarized_dark.css +++ b/lib/ace/theme/solarized_dark.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/solarized_dark.js b/lib/ace/theme/solarized_dark.js index 2b09b337..f3fa1aeb 100644 --- a/lib/ace/theme/solarized_dark.js +++ b/lib/ace/theme/solarized_dark.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/solarized_light.css b/lib/ace/theme/solarized_light.css index d269ecc8..9adaf339 100644 --- a/lib/ace/theme/solarized_light.css +++ b/lib/ace/theme/solarized_light.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/solarized_light.js b/lib/ace/theme/solarized_light.js index e4095c1e..731098e1 100644 --- a/lib/ace/theme/solarized_light.js +++ b/lib/ace/theme/solarized_light.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = false; diff --git a/lib/ace/theme/tomorrow.css b/lib/ace/theme/tomorrow.css index a9c04182..2895cd5c 100644 --- a/lib/ace/theme/tomorrow.css +++ b/lib/ace/theme/tomorrow.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/tomorrow.js b/lib/ace/theme/tomorrow.js index e740a080..dbf96b3d 100644 --- a/lib/ace/theme/tomorrow.js +++ b/lib/ace/theme/tomorrow.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = false; diff --git a/lib/ace/theme/tomorrow_night.css b/lib/ace/theme/tomorrow_night.css index 137e35d8..a9e1d189 100644 --- a/lib/ace/theme/tomorrow_night.css +++ b/lib/ace/theme/tomorrow_night.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/tomorrow_night.js b/lib/ace/theme/tomorrow_night.js index b943b414..766fb7b8 100644 --- a/lib/ace/theme/tomorrow_night.js +++ b/lib/ace/theme/tomorrow_night.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/tomorrow_night_blue.css b/lib/ace/theme/tomorrow_night_blue.css index 7a8354bb..7f693fa8 100644 --- a/lib/ace/theme/tomorrow_night_blue.css +++ b/lib/ace/theme/tomorrow_night_blue.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/tomorrow_night_blue.js b/lib/ace/theme/tomorrow_night_blue.js index e3874f09..2440c65a 100644 --- a/lib/ace/theme/tomorrow_night_blue.js +++ b/lib/ace/theme/tomorrow_night_blue.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/tomorrow_night_bright.css b/lib/ace/theme/tomorrow_night_bright.css index 44d944a5..f14e29a8 100644 --- a/lib/ace/theme/tomorrow_night_bright.css +++ b/lib/ace/theme/tomorrow_night_bright.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/tomorrow_night_bright.js b/lib/ace/theme/tomorrow_night_bright.js index 5f18ee44..3b110724 100644 --- a/lib/ace/theme/tomorrow_night_bright.js +++ b/lib/ace/theme/tomorrow_night_bright.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/tomorrow_night_eighties.css b/lib/ace/theme/tomorrow_night_eighties.css index 1dfd9ead..1b38d443 100644 --- a/lib/ace/theme/tomorrow_night_eighties.css +++ b/lib/ace/theme/tomorrow_night_eighties.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/tomorrow_night_eighties.js b/lib/ace/theme/tomorrow_night_eighties.js index fff11892..4c9f41e3 100644 --- a/lib/ace/theme/tomorrow_night_eighties.js +++ b/lib/ace/theme/tomorrow_night_eighties.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/twilight.css b/lib/ace/theme/twilight.css index 70794da6..190b6d74 100644 --- a/lib/ace/theme/twilight.css +++ b/lib/ace/theme/twilight.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/twilight.js b/lib/ace/theme/twilight.js index 766ba9b3..2ca4118c 100644 --- a/lib/ace/theme/twilight.js +++ b/lib/ace/theme/twilight.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/theme/vibrant_ink.css b/lib/ace/theme/vibrant_ink.css index 08993a63..9e7694c2 100644 --- a/lib/ace/theme/vibrant_ink.css +++ b/lib/ace/theme/vibrant_ink.css @@ -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; } \ No newline at end of file diff --git a/lib/ace/theme/vibrant_ink.js b/lib/ace/theme/vibrant_ink.js index 28bd0496..cf8babb5 100644 --- a/lib/ace/theme/vibrant_ink.js +++ b/lib/ace/theme/vibrant_ink.js @@ -28,6 +28,8 @@ * * ***** END LICENSE BLOCK ***** */ +// THIS FILE WAS AUTOGENERATED BY theme.tmpl.js + define(function(require, exports, module) { exports.isDark = true; diff --git a/lib/ace/tokenizer.js b/lib/ace/tokenizer.js index ec4c973b..955e8772 100644 --- a/lib/ace/tokenizer.js +++ b/lib/ace/tokenizer.js @@ -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; diff --git a/tool/Jade.tmLanguage b/tool/Jade.tmLanguage deleted file mode 100755 index 6cc45b7e..00000000 --- a/tool/Jade.tmLanguage +++ /dev/null @@ -1,513 +0,0 @@ - - - - - fileTypes - - jade - - keyEquivalent - ^~J - name - Jade - patterns - - - captures - - 1 - - name - keyword.control.import.include.jade - - - match - ^\s*\b(include)\b - - - match - ^(!!!)(\s*[a-zA-Z0-9-_]+)? - name - keyword.other.doctype.jade - - - captures - - 1 - - name - punctuation.section.comment.jade - - - match - ^\s*(//-?)(?:\s*[^-\s]|\s+\S).*$\n? - name - comment.line.double-slash.jade - - - begin - ^(\s*)(//-?)\s*$ - beginCaptures - - 2 - - name - punctuation.section.comment.jade - - - end - ^(?!\1\s+|$) - name - comment.block.jade - - - begin - ^(\s*)(\:markdown) - beginCaptures - - 2 - - name - entity.name.function.jade - - - end - ^(?!\1\s+) - name - meta.filter.markdown.jade - patterns - - - include - text.html.markdown - - - - - begin - ^(\s*)(\:sass) - beginCaptures - - 2 - - name - entity.name.function.jade - - - end - ^(?!\1\s+) - name - meta.filter.sass.jade - patterns - - - include - source.sass - - - - - begin - ^(\s*)(\:less) - beginCaptures - - 2 - - name - entity.name.function.jade - - - end - ^(?!\1\s+) - name - meta.filter.less.jade - patterns - - - include - source.css.less - - - - - begin - ^(\s*)(\:coffeescript) - beginCaptures - - 2 - - name - entity.name.function.jade - - - end - ^(?!\1\s+)(?=\s*.) - name - meta.filter.coffee.jade - patterns - - - include - source.coffee - - - - - begin - ^(\s*)(\:cdata) - beginCaptures - - 2 - - name - entity.name.function.jade - - - end - ^(?!\1\s+) - name - meta.filter.cdata.jade - - - captures - - 1 - - name - storage.type.function.jade - - 2 - - name - entity.name.function.jade - - 3 - - name - punctuation.definition.parameters.begin.jade - - 4 - - name - variable.parameter.function.jade - - 5 - - name - punctuation.definition.parameters.end.jade - - - comment - match stuff like: mixin dialog-title-desc(title, desc) - match - ^\s*(mixin) ([\w\-]+)\s*(\()(.*?)(\)) - name - meta.mixin.jade - - - captures - - 1 - - name - storage.type.function.jade - - 2 - - name - entity.name.function.jade - - - comment - match stuff like: mixin dialog-title-desc - match - ^\s*(mixin) ([\w\-]+) - name - meta.mixin.jade - - - begin - ^\s*(-|=|!=) - end - $ - name - source.js.embedded.jade - patterns - - - include - source.js - - - match - \b(each)\b - name - keyword.control.js - - - - - begin - ^(\s*)(script) - beginCaptures - - 2 - - name - entity.name.tag.script.jade - - - end - ^((?=(\1)([\w#\.]|$\n?))|^$\n?) - name - source.js.embedded.jade - patterns - - - begin - (?<=script)\s*\( - end - \) - patterns - - - include - #tag-stuff - - - - - include - source.js - - - - - match - [#!]\{[^\}]+\} - name - string.interpolated.jade - - - begin - ^\s*(?!\w+\:)(?:(([\w]+))|(?=\.|#)) - captures - - 1 - - name - meta.tag.any.jade - - 2 - - name - entity.name.tag.jade - - - comment - Match any tag, id or class. skip AST filters - end - $|(?!\.|#|=|-) - patterns - - - match - \.[\w-]+ - name - meta.tag.attribute.class.jade - - - match - #[\w-]+ - name - meta.tag.attribute.id.jade - - - - - begin - (?<=\w)\s*\( - end - \) - name - meta.tag.attribute.jade - patterns - - - include - #tag-stuff - - - - - repository - - entities - - patterns - - - captures - - 1 - - name - punctuation.definition.entity.jade - - 3 - - name - punctuation.definition.entity.jade - - - match - (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) - name - constant.character.entity.jade - - - match - & - name - invalid.illegal.bad-ampersand.jade - - - - filter-langs - - patterns - - - include - #markdown - - - include - #sass - - - - markdown - - begin - markdown\s*$\n? - end - (?!^\1\s+) - patterns - - - include - text.html.markdown - - - - sass - - begin - ^(\s*)\:sass - end - (?!^\1\s+) - patterns - - - include - source.sass - - - - string-double-quoted - - begin - " - beginCaptures - - 0 - - name - punctuation.definition.string.begin.jade - - - end - " - endCaptures - - 0 - - name - punctuation.definition.string.end.jade - - - name - string.quoted.double.jade - patterns - - - include - #entities - - - - string-single-quoted - - begin - ' - beginCaptures - - 0 - - name - punctuation.definition.string.begin.jade - - - end - ' - endCaptures - - 0 - - name - punctuation.definition.string.end.jade - - - name - string.quoted.single.jade - patterns - - - include - #entities - - - - tag-generic-attribute - - match - \b([a-zA-Z\-:]+) - name - entity.other.attribute-name.jade - - tag-stuff - - patterns - - - include - #string-double-quoted - - - include - #string-single-quoted - - - include - #tag-generic-attribute - - - - - scopeName - source.jade - uuid - C5B73B98-5F2A-42E3-9F0E-028A74A9FE4B - - diff --git a/tool/Objective-C.tmLanguage b/tool/Objective-C.tmLanguage new file mode 100644 index 00000000..cb6a86cb --- /dev/null +++ b/tool/Objective-C.tmLanguage @@ -0,0 +1,1511 @@ + + + + + fileTypes + + m + h + + foldingStartMarker + (?x) + /\*\*(?!\*) + |^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S)) + |^@(interface|protocol|implementation)\b + + foldingStopMarker + (?<!\*)\*\*/|^\s*\}|^@end\b + keyEquivalent + ^~O + name + Objective-C + patterns + + + begin + ((@)(interface|protocol))(?!.+;)\s+([A-Za-z_][A-Za-z0-9_]*)\s*((:)(?:\s*)([A-Za-z][A-Za-z0-9]*))?(\s|\n)? + captures + + 1 + + name + storage.type.objc + + 2 + + name + punctuation.definition.storage.type.objc + + 4 + + name + entity.name.type.objc + + 6 + + name + punctuation.definition.entity.other.inherited-class.objc + + 7 + + name + entity.other.inherited-class.objc + + 8 + + name + meta.divider.objc + + 9 + + name + meta.inherited-class.objc + + + contentName + meta.scope.interface.objc + end + ((@)end)\b + name + meta.interface-or-protocol.objc + patterns + + + include + #interface_innards + + + + + begin + ((@)(implementation))\s+([A-Za-z_][A-Za-z0-9_]*)\s*(?::\s*([A-Za-z][A-Za-z0-9]*))? + captures + + 1 + + name + storage.type.objc + + 2 + + name + punctuation.definition.storage.type.objc + + 4 + + name + entity.name.type.objc + + 5 + + name + entity.other.inherited-class.objc + + + contentName + meta.scope.implementation.objc + end + ((@)end)\b + name + meta.implementation.objc + patterns + + + include + #implementation_innards + + + + + begin + @" + beginCaptures + + 0 + + name + punctuation.definition.string.begin.objc + + + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.objc + + + name + string.quoted.double.objc + patterns + + + match + \\(\\|[abefnrtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-zA-Z0-9]+) + name + constant.character.escape.objc + + + match + \\. + name + invalid.illegal.unknown-escape.objc + + + + + begin + \b(id)\s*(?=<) + beginCaptures + + 1 + + name + storage.type.objc + + + end + (?<=>) + name + meta.id-with-protocol.objc + patterns + + + include + #protocol_list + + + + + match + \b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\b + name + keyword.control.macro.objc + + + captures + + 1 + + name + punctuation.definition.keyword.objc + + + match + (@)(try|catch|finally|throw)\b + name + keyword.control.exception.objc + + + captures + + 1 + + name + punctuation.definition.keyword.objc + + + match + (@)(synchronized)\b + name + keyword.control.synchronize.objc + + + captures + + 1 + + name + punctuation.definition.keyword.objc + + + match + (@)(defs|encode)\b + name + keyword.other.objc + + + match + \bid\b(\s|\n)? + name + storage.type.id.objc + + + match + \b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class)\b + name + storage.type.objc + + + captures + + 1 + + name + punctuation.definition.storage.type.objc + + + match + (@)(class|protocol)\b + name + storage.type.objc + + + begin + ((@)selector)\s*(\() + beginCaptures + + 1 + + name + storage.type.objc + + 2 + + name + punctuation.definition.storage.type.objc + + 3 + + name + punctuation.definition.storage.type.objc + + + contentName + meta.selector.method-name.objc + end + (\)) + endCaptures + + 1 + + name + punctuation.definition.storage.type.objc + + + name + meta.selector.objc + patterns + + + captures + + 1 + + name + punctuation.separator.arguments.objc + + + match + \b(?:[a-zA-Z_:][\w]*)+ + name + support.function.any-method.name-of-parameter.objc + + + + + captures + + 1 + + name + punctuation.definition.storage.modifier.objc + + + match + (@)(synchronized|public|private|protected)\b + name + storage.modifier.objc + + + match + \b(YES|NO|Nil|nil)\b + name + constant.language.objc + + + match + \bNSApp\b + name + support.variable.foundation + + + captures + + 1 + + name + punctuation.whitespace.support.function.cocoa.leopard + + 2 + + name + support.function.cocoa.leopard + + + match + (\s*)\b(NS(Rect(ToCGRect|FromCGRect)|MakeCollectable|S(tringFromProtocol|ize(ToCGSize|FromCGSize))|Draw(NinePartImage|ThreePartImage)|P(oint(ToCGPoint|FromCGPoint)|rotocolFromString)|EventMaskFromType|Value))\b + + + captures + + 1 + + name + punctuation.whitespace.support.function.leading.cocoa + + 2 + + name + support.function.cocoa + + + match + (\s*)\b(NS(R(ound(DownToMultipleOfPageSize|UpToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set(MapTable|HashTable)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l(MemoryAvailable|locateCollectable))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n(X|Y)|d(X|Y))|ouseInRect|a(p(Remove|Get|Member|Insert(IfAbsent|KnownAbsent)?)|ke(R(ect|ange)|Size|Point)|x(Range|X|Y)))|B(itsPer(SampleFromDepth|PixelFromDepth)|e(stDepth|ep|gin(CriticalAlertSheet|InformationalAlertSheet|AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert(IfAbsent|KnownAbsent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped(DoubleToHost|FloatToHost)|Host(DoubleToSwapped|FloatToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare(MapTables|HashTables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File(namePboardType|ContentsPboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d(MapTableEnumeration|HashTableEnumeration)|umerate(MapTable|HashTable)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee(MapTable|HashTable)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\b + + + match + \bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\b + name + support.class.cocoa.leopard + + + match + \bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an(domSpecifier|geSpecifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech(Recognizer|Synthesizer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con(nector|trolConnector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p(oundPredicate|arisonPredicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o(seCommand|neCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n(iqueIDSpecifier|doManager|archiver))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated(ToobarItem|UserInterfaceItem)|ue(Transformer)?))|Keyed(Unarchiver|Archiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\b + name + support.class.cocoa + + + match + \bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D(ocumentContentKind|TDNodeKind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing(CompareOptions|DrawingOptions|EncodingConversionOptions)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView(SelectionHighlightStyle|ColumnAutoresizingStyle)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\b + name + support.type.cocoa.leopard + + + match + \bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans(ition|action))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\b + name + support.class.quartz + + + match + \bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\b + name + support.type.quartz + + + match + \bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B(itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar(SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(ContextAuxiliary|PixelFormatAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace(IconCreationOptions|LaunchOptions)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication(TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\b + name + support.type.cocoa + + + match + \bNS(NotFound|Ordered(Ascending|Descending|Same))\b + name + support.constant.cocoa + + + match + \bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\b + name + support.constant.notification.cocoa.leopard + + + match + \bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView(DidResizeSubviews|WillResizeSubviews))|C(o(nt(extHelpModeDid(Deactivate|Activate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor(PanelColorDidChange|ListDidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar(DidRemoveItem|WillAddItem)|ext(Storage(DidProcessEditing|WillProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton(CellWillPopUp|WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F(ocusDidChange|rameDidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid(ResignActive|BecomeActive)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\b + name + support.constant.notification.cocoa + + + match + \bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws(BeforeStartingLocation|AfterEndingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech(SentenceBoundary|ImmediateBoundary|WordBoundary)|llingState(GrammarFlag|SpellingFlag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M(iscellaneousError|alformedServiceDictionaryError)|InvalidPasteboardDataError|ErrorM(inimum|aximum)|Application(NotFoundError|LaunchFailedError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally(Down|UpOrDown)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)|32(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)))|P(ointerFunctions(Ma(chVirtualMemory|llocMemory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP(ointerPersonality|ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM(inimum|aximum)|L(inkError|oadError)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead(TooLargeError|UnknownStringEncodingError))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\b + name + support.constant.cocoa.leopard + + + match + \bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed(BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(CapStyle|JoinStyle))|un(StoppedResponse|ContinuesResponse|AbortedResponse)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver(sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A(tAPoint|gainstAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use(SingleQuotes|DoubleQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot(StartedError|FinishedError)|Mi(splaced(XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(StartedError|FinishedError))|S(t(andaloneValueError|ringNot(StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot(StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In(DTDError|PrologError|EpilogError)|AtEOFError)|o(nditionalSectionNot(StartedError|FinishedError)|mment(NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter(RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(NameError|Error)))|OutOfMemoryError|D(ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(RI(RequiredError|FragmentError)|n(declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal(SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot(StartedError|FinishedError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In(DTDError|PrologError|EpilogError)|erence(MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(StartedError|FinishedError)|Is(ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(StartedError|FinishedError)|xt(ernalS(tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(iteralNot(StartedError|FinishedError)|T(RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not(StartedError|FinishedError)|ListNot(StartedError|FinishedError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar(sedKind|ameterKind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E(lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(sKind|Kind)|otationKind)|CDATAKind|ID(Ref(sKind|Kind)|Kind)|DeclarationKind|En(tit(yKind|iesKind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push(Button|InButton)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(XEdge|YEdge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore(Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(owser(NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow(ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M(inEnd|axEnd)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has(BytesAvailable|SpaceAvailable)|None|OpenCompleted|E(ndEncountered|rrorOccurred)))))|i(ngle(DateMode|UnderlineStyle)|ze(DownFontAction|UpFontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity(Downstream|Upstream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute(SecondDatePickerElementFlag|DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa(yDatePickerElementFlag|tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs(BezelBorder|NoBorder|LineBorder))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S(cientificStyle|pellOutStyle)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before(Suffix|Prefix)|After(Suffix|Prefix))))))|e(t(Services(BadArgumentError|NotFoundError|C(ollisionError|ancelledError)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C(MYKModeMask|olorListModeMask|ustomPaletteModeMask|rayonModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick(SquareBezelStyle|erSquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX(3|4)|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM(inimum|aximum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table(FixedLayoutAlgorithm|AutomaticLayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid(HorizontalGridLineMask|VerticalGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert(CharFunctionKey|FunctionKey|LineFunctionKey)|t(Type|ernalS(criptError|pecifierError))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin(1StringEncoding|2StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS(criptError|pecifierError))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr(ingType|uctType)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long(Type|longType)|ArrayType))|D(i(s(c(losureBezelStyle|reteCapacityLevelIndicatorStyle)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument(Directory|ationDirectory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper(Directory|ApplicationDirectory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos(ingState|edState)|Open(ingState|State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS(criptError|pecifierError))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG(2000FileType|FileType)|apaneseEUC(GlyphPacking|StringEncoding))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve(IntType|DoubleType|FloatType)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge(DownFunctionKey|UpFunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred(SmallThickness|Thickness|LargeThickness|AquaThickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in(XMargin|YMargin)|ax(XMargin|YMargin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM(inimum|aximum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping(BackAndForthPlayback|Playback))|F(1(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No(SuchFileError|PermissionError)|CorruptFileError|In(validFileNameError|applicableStringEncodingError)|Un(supportedSchemeError|knownError))|HandlingPanel(CancelButton|OKButton)|NoSuchFileError|ErrorM(inimum|aximum)|Write(NoPermissionError|In(validFileNameError|applicableStringEncodingError)|OutOfSpaceError|Un(supportedSchemeError|knownError))|LockingError)|xedPitchFontMask)|2(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S(ymbolicClass|criptsClass|labSerifsClass|ansSerifClass)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O(ldStyleSerifsClass|rnamentalsClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t(andardModesMask|rikethroughEffectModeMask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All(ModesMask|EffectsModeMask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased(RenderingMode|IntegerAdvancementsRenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M(inimum|aximum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3(1FunctionKey|2FunctionKey|3FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125(1StringEncoding|2StringEncoding|3StringEncoding|4StringEncoding|0StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day(CalendarUnit|OrdinalCalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C(harWrapping|lipping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan(1CharacterCollection|2CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto(saveOperation|Pagination)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert(SecondButtonReturn|ThirdButtonReturn|OtherReturn|DefaultReturn|ErrorReturn|FirstButtonReturn|AlternateReturn)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument(sWrongScriptError|EvaluationScriptError)|bove(Bottom|Top)|WTEventType))\b + name + support.constant.cocoa + + + include + source.c + + + include + #bracketed_content + + + repository + + bracketed_content + + begin + \[ + beginCaptures + + 0 + + name + punctuation.section.scope.begin.objc + + + end + \] + endCaptures + + 0 + + name + punctuation.section.scope.end.objc + + + name + meta.bracketed.objc + patterns + + + begin + (?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:) + beginCaptures + + 1 + + name + support.function.any-method.objc + + 2 + + name + punctuation.separator.arguments.objc + + + end + (?=\]) + name + meta.function-call.predicate.objc + patterns + + + captures + + 1 + + name + punctuation.separator.arguments.objc + + + match + \bargument(Array|s)(:) + name + support.function.any-method.name-of-parameter.objc + + + captures + + 1 + + name + punctuation.separator.arguments.objc + + + match + \b\w+(:) + name + invalid.illegal.unknown-method.objc + + + begin + @" + beginCaptures + + 0 + + name + punctuation.definition.string.begin.objc + + + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.objc + + + name + string.quoted.double.objc + patterns + + + match + \b(AND|OR|NOT|IN)\b + name + keyword.operator.logical.predicate.cocoa + + + match + \b(ALL|ANY|SOME|NONE)\b + name + constant.language.predicate.cocoa + + + match + \b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\b + name + constant.language.predicate.cocoa + + + match + \b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\b + name + keyword.operator.comparison.predicate.cocoa + + + match + \bC(ASEINSENSITIVE|I)\b + name + keyword.other.modifier.predicate.cocoa + + + match + \b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\b + name + keyword.other.predicate.cocoa + + + match + \\(\\|[abefnrtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-zA-Z0-9]+) + name + constant.character.escape.objc + + + match + \\. + name + invalid.illegal.unknown-escape.objc + + + + + include + #special_variables + + + include + #c_functions + + + include + $base + + + + + begin + (?=\w)(?<=[\w\])"] )(\w+(?:(:)|(?=\]))) + beginCaptures + + 1 + + name + support.function.any-method.objc + + 2 + + name + punctuation.separator.arguments.objc + + + end + (?=\]) + name + meta.function-call.objc + patterns + + + captures + + 1 + + name + punctuation.separator.arguments.objc + + + match + \b\w+(:) + name + support.function.any-method.name-of-parameter.objc + + + include + #special_variables + + + include + #c_functions + + + include + $base + + + + + include + #special_variables + + + include + #c_functions + + + include + $self + + + + c_functions + + patterns + + + captures + + 1 + + name + punctuation.whitespace.support.function.leading.c + + 2 + + name + support.function.C99.c + + + match + (\s*)\b(hypot(f|l)?|s(scanf|ystem|nprintf|ca(nf|lb(n(f|l)?|ln(f|l)?))|i(n(h(f|l)?|f|l)?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|k|f|l(d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt(f|l)?|w(scanf|printf)|rand)|n(e(arbyint(f|l)?|xt(toward(f|l)?|after(f|l)?))|an(f|l)?)|c(s(in(h(f|l)?|f|l)?|qrt(f|l)?)|cos(h(f)?|f|l)?|imag(f|l)?|t(ime|an(h(f|l)?|f|l)?)|o(s(h(f|l)?|f|l)?|nj(f|l)?|pysign(f|l)?)|p(ow(f|l)?|roj(f|l)?)|e(il(f|l)?|xp(f|l)?)|l(o(ck|g(f|l)?)|earerr)|a(sin(h(f|l)?|f|l)?|cos(h(f|l)?|f|l)?|tan(h(f|l)?|f|l)?|lloc|rg(f|l)?|bs(f|l)?)|real(f|l)?|brt(f|l)?)|t(ime|o(upper|lower)|an(h(f|l)?|f|l)?|runc(f|l)?|gamma(f|l)?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb(f|l)?|max(div|abs))|di(v|fftime)|_Exit|unget(c|wc)|p(ow(f|l)?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c(f|l)?|f|l)?|x(it|p(2(f|l)?|f|l|m1(f|l)?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim(f|l)?|p(classify|ut(s|c|w(s|c))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor(f|l)?|abs(f|l)?|get(s|c|pos|w(s|c))|re(open|e|ad|xp(f|l)?)|m(in(f|l)?|od(f|l)?|a(f|l|x(f|l)?)?))|l(d(iv|exp(f|l)?)|o(ngjmp|cal(time|econv)|g(1(p(f|l)?|0(f|l)?)|2(f|l)?|f|l|b(f|l)?)?)|abs|l(div|abs|r(int(f|l)?|ound(f|l)?))|r(int(f|l)?|ound(f|l)?)|gamma(f|l)?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|k|f|l(d|l)?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(b|mb)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h(f|l)?|f|l)?)|cos(h(f|l)?|f|l)?|t(o(i|f|l(l)?)|exit|an(h(f|l)?|2(f|l)?|f|l)?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int(f|l)?|ound(f|l)?|e(name|alloc|wind|m(ove|quo(f|l)?|ainder(f|l)?))|a(nd|ise))|b(search|towc)|m(odf(f|l)?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\b + + + captures + + 1 + + name + punctuation.whitespace.function-call.leading.c + + 2 + + name + support.function.any-method.c + + 3 + + name + punctuation.definition.parameters.c + + + match + (?x) (?: (?= \s ) (?:(?<=else|new|return) | (?<!\w)) (\s+))? + (\b + (?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\s*\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\b | :: )++ # actual name + ) + \s*(\() + name + meta.function-call.c + + + + comment + + patterns + + + begin + /\* + captures + + 0 + + name + punctuation.definition.comment.objc + + + end + \*/ + name + comment.block.objc + + + begin + // + beginCaptures + + 0 + + name + punctuation.definition.comment.objc + + + end + $\n? + name + comment.line.double-slash.c++ + patterns + + + match + (?>\\\s*\n) + name + punctuation.separator.continuation.c++ + + + + + + disabled + + begin + ^\s*#\s*if(n?def)?\b.*$ + comment + eat nested preprocessor if(def)s + end + ^\s*#\s*endif\b.*$ + patterns + + + include + #disabled + + + include + #pragma-mark + + + + implementation_innards + + patterns + + + include + #preprocessor-rule-enabled-implementation + + + include + #preprocessor-rule-disabled-implementation + + + include + #preprocessor-rule-other-implementation + + + include + #property_directive + + + include + #special_variables + + + include + #method_super + + + include + $base + + + + interface_innards + + patterns + + + include + #preprocessor-rule-enabled-interface + + + include + #preprocessor-rule-disabled-interface + + + include + #preprocessor-rule-other-interface + + + include + #properties + + + include + #protocol_list + + + include + #method + + + include + $base + + + + method + + begin + ^(-|\+)\s* + end + (?=\{|#)|; + name + meta.function.objc + patterns + + + begin + (\() + captures + + 1 + + name + punctuation.definition.type.objc + + 2 + + name + entity.name.function.objc + + + end + (\))\s*(\w+\b) + name + meta.return-type.objc + patterns + + + include + #protocol_list + + + include + #protocol_type_qualifier + + + include + $base + + + + + match + \b\w+(?=:) + name + entity.name.function.name-of-parameter.objc + + + begin + ((:))\s*(\() + beginCaptures + + 1 + + name + entity.name.function.name-of-parameter.objc + + 2 + + name + punctuation.separator.arguments.objc + + 3 + + name + punctuation.definition.type.objc + + + end + (\))\s*(\w+\b)? + endCaptures + + 1 + + name + punctuation.definition.type.objc + + 2 + + name + variable.parameter.function.objc + + + name + meta.argument-type.objc + patterns + + + include + #protocol_list + + + include + #protocol_type_qualifier + + + include + $base + + + + + include + #comment + + + + method_super + + begin + ^(?=-|\+) + end + (?<=\})|(?=#) + name + meta.function-with-body.objc + patterns + + + include + #method + + + include + $base + + + + pragma-mark + + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.pragma.c + + 3 + + name + meta.toc-list.pragma-mark.c + + + match + ^\s*(#\s*(pragma\s+mark)\s+(.*)) + name + meta.section + + preprocessor-rule-disabled-implementation + + begin + ^\s*(#(if)\s+(0)\b).* + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.if.c + + 3 + + name + constant.numeric.preprocessor.c + + + end + ^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + begin + ^\s*(#\s*(else)\b) + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.else.c + + + end + (?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + include + #interface_innards + + + + + begin + + end + (?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$)) + name + comment.block.preprocessor.if-branch.c + patterns + + + include + #disabled + + + include + #pragma-mark + + + + + + preprocessor-rule-disabled-interface + + begin + ^\s*(#(if)\s+(0)\b).* + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.if.c + + 3 + + name + constant.numeric.preprocessor.c + + + end + ^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + begin + ^\s*(#\s*(else)\b) + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.else.c + + + end + (?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + include + #interface_innards + + + + + begin + + end + (?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$)) + name + comment.block.preprocessor.if-branch.c + patterns + + + include + #disabled + + + include + #pragma-mark + + + + + + preprocessor-rule-enabled-implementation + + begin + ^\s*(#(if)\s+(0*1)\b) + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.if.c + + 3 + + name + constant.numeric.preprocessor.c + + + end + ^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + begin + ^\s*(#\s*(else)\b).* + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.else.c + + + contentName + comment.block.preprocessor.else-branch.c + end + (?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + include + #disabled + + + include + #pragma-mark + + + + + begin + + end + (?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + include + #implementation_innards + + + + + + preprocessor-rule-enabled-interface + + begin + ^\s*(#(if)\s+(0*1)\b) + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.if.c + + 3 + + name + constant.numeric.preprocessor.c + + + end + ^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + begin + ^\s*(#\s*(else)\b).* + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.else.c + + + contentName + comment.block.preprocessor.else-branch.c + end + (?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + include + #disabled + + + include + #pragma-mark + + + + + begin + + end + (?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$)) + patterns + + + include + #interface_innards + + + + + + preprocessor-rule-other-implementation + + begin + ^\s*(#\s*(if(n?def)?)\b.*?(?:(?=(?://|/\*))|$)) + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.c + + + end + ^\s*(#\s*(endif)\b).*?(?:(?=(?://|/\*))|$) + patterns + + + include + #implementation_innards + + + + preprocessor-rule-other-interface + + begin + ^\s*(#\s*(if(n?def)?)\b.*?(?:(?=(?://|/\*))|$)) + captures + + 1 + + name + meta.preprocessor.c + + 2 + + name + keyword.control.import.c + + + end + ^\s*(#\s*(endif)\b).*?(?:(?=(?://|/\*))|$) + patterns + + + include + #interface_innards + + + + properties + + patterns + + + begin + ((@)property)\s*(\() + beginCaptures + + 1 + + name + keyword.other.property.objc + + 2 + + name + punctuation.definition.keyword.objc + + 3 + + name + punctuation.section.scope.begin.objc + + + end + (\)) + endCaptures + + 1 + + name + punctuation.section.scope.end.objc + + + name + meta.property-with-attributes.objc + patterns + + + match + \b(getter|setter|readonly|readwrite|assign|retain|copy|nonatomic)\b + name + keyword.other.property.attribute + + + + + captures + + 1 + + name + keyword.other.property.objc + + 2 + + name + punctuation.definition.keyword.objc + + + match + ((@)property)\b + name + meta.property.objc + + + + property_directive + + captures + + 1 + + name + punctuation.definition.keyword.objc + + + match + (@)(dynamic|synthesize)\b + name + keyword.other.property.directive.objc + + protocol_list + + begin + (<) + beginCaptures + + 1 + + name + punctuation.section.scope.begin.objc + + + end + (>) + endCaptures + + 1 + + name + punctuation.section.scope.end.objc + + + name + meta.protocol-list.objc + patterns + + + match + \bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated(ToobarItem|UserInterfaceItem)|Locking)\b + name + support.other.protocol.objc + + + + protocol_type_qualifier + + match + \b(in|out|inout|oneway|bycopy|byref)\b + name + storage.modifier.protocol.objc + + special_variables + + patterns + + + match + \b_cmd\b + name + variable.other.selector.objc + + + match + \b(self|super)\b + name + variable.language.objc + + + + + scopeName + source.objc + uuid + F85CC716-6B1C-11D9-9A20-000D93589AF6 + + diff --git a/tool/Theme.tmpl.css b/tool/Theme.tmpl.css index 765bea3c..ffd3c677 100644 --- a/tool/Theme.tmpl.css +++ b/tool/Theme.tmpl.css @@ -82,7 +82,7 @@ } .%cssClass% .ace_constant.ace_character, { - %constant% + %constant.character% } .%cssClass% .ace_constant.ace_character.ace_escape, { diff --git a/tool/mode.tmpl.js b/tool/mode.tmpl.js new file mode 100644 index 00000000..eb9043e3 --- /dev/null +++ b/tool/mode.tmpl.js @@ -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; +}); \ No newline at end of file diff --git a/tool/theme_mode.tmpl.js b/tool/mode_highlight_rules.tmpl.js similarity index 85% rename from tool/theme_mode.tmpl.js rename to tool/mode_highlight_rules.tmpl.js index 5d9cf21d..10216471 100644 --- a/tool/theme_mode.tmpl.js +++ b/tool/mode_highlight_rules.tmpl.js @@ -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"; diff --git a/tool/tmlanguage.js b/tool/tmlanguage.js old mode 100755 new mode 100644 index dac92e1a..9e000bd5 --- a/tool/tmlanguage.js +++ b/tool/tmlanguage.js @@ -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); diff --git a/tool/tmtheme.js b/tool/tmtheme.js index d56cf766..29ca6798 100755 --- a/tool/tmtheme.js +++ b/tool/tmtheme.js @@ -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]) }); }