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])
});
}