diff --git a/configs/client-default-local.js b/configs/client-default-local.js
index b2ed60a1..33361ca7 100644
--- a/configs/client-default-local.js
+++ b/configs/client-default-local.js
@@ -1,6 +1,7 @@
var join = require("path").join;
module.exports = function(options) {
+ options.collab = false;
var config = require("./client-default")(options);
return module.exports.makeLocal(config, options);
};
@@ -132,20 +133,6 @@ module.exports.makeLocal = function(config, options) {
"plugins/c9.ide.newresource/open": true,
"plugins/c9.ide.info/info": true,
// "plugins/c9.ide.login/login": true,
- "plugins/c9.ide.collab/connect": true,
- "plugins/c9.ide.collab/collab": true,
- "plugins/c9.ide.collab/collabpanel": true,
- "plugins/c9.ide.collab/workspace": true,
- "plugins/c9.ide.collab/util": true,
- "plugins/c9.ide.collab/ot/document": true,
- "plugins/c9.ide.collab/cursor_layer": true,
- "plugins/c9.ide.collab/author_layer": true,
- "plugins/c9.ide.collab/timeslider/timeslider": true,
- "plugins/c9.ide.notifications/notifications": true,
- "plugins/c9.ide.collab/members/members_panel": true,
- "plugins/c9.ide.collab/share/share": true,
- "plugins/c9.ide.collab/members/members": true,
- "plugins/c9.ide.collab/chat/chat": true,
"plugins/c9.ide.feedback/nps": true,
"plugins/c9.ide.download/download": true
};
diff --git a/configs/client-default.js b/configs/client-default.js
index 5e87fe8b..19443ec5 100644
--- a/configs/client-default.js
+++ b/configs/client-default.js
@@ -218,7 +218,6 @@ module.exports = function(options) {
nak: options.nakBin || "~/.c9/node_modules/nak/bin/nak",
node: options.nodeBin,
local: options.local,
- installPath: options.installPath
},
{
packagePath: "plugins/c9.ide.find.infiles/findinfiles",
@@ -277,7 +276,7 @@ module.exports = function(options) {
// VFS
"plugins/c9.fs/proc",
- "plugins/c9.fs/proc.apigen",
+ "plugins/c9.fs/proc.apigen", // used only by disabled deploy plugins
"plugins/c9.fs/net",
{
packagePath: "plugins/c9.fs/fs",
diff --git a/node_modules/ace/ChangeLog.txt b/node_modules/ace/ChangeLog.txt
index e9c41e4c..58e8ce34 100644
--- a/node_modules/ace/ChangeLog.txt
+++ b/node_modules/ace/ChangeLog.txt
@@ -1,5 +1,20 @@
+2015.07.11 Version 1.2.0
+
+* New Features
+ - Indented soft wrap (danyaPostfactum)
+ - Rounded borders on selections
+
+* API Changes
+ - unified delta types `{start, end, action, lines}` (Alden Daniels https://github.com/ajaxorg/ace/pull/1745)
+ - "change" event listeners on session and editor get delta objects directly
+
+* new language modes
+ - SQLServer (Morgan Yarbrough)
+
2015.04.03 Version 1.1.9
+ - Small Enhancements and Bugfixes
+
2014.11.08 Version 1.1.8
* API Changes
diff --git a/node_modules/ace/Makefile.dryice.js b/node_modules/ace/Makefile.dryice.js
index 0ce7c657..5a321f0d 100755
--- a/node_modules/ace/Makefile.dryice.js
+++ b/node_modules/ace/Makefile.dryice.js
@@ -284,7 +284,9 @@ function buildAceModuleInternal(opts, callback) {
filters.push(exportAce(ns, opts.require[0],
opts.noconflict ? ns : "", projectType == "ext"));
}
-
+
+ filters.push(normalizeLineEndings);
+
filters.forEach(function(f) { code = f(code); });
build.writeToFile({code: code}, {
@@ -409,7 +411,9 @@ function getLoadedFileList(options, callback, result) {
}
function normalizeLineEndings(module) {
- module.source = module.source.replace(/\r\n/g, "\n");
+ if (typeof module == "string")
+ module = {source: module};
+ return module.source = module.source.replace(/\r\n/g, "\n");
}
function optimizeTextModules(sources) {
@@ -471,8 +475,10 @@ function namespace(ns) {
text = text
.toString()
.replace(/ACE_NAMESPACE\s*=\s*""/, 'ACE_NAMESPACE = "' + ns +'"')
- .replace(/(\.define)|\bdefine\(/g, function(_, a) {
- return a || ns + ".define(";
+ .replace(/\bdefine\(/g, function(def, index, source) {
+ if (/(^|[;})])\s*$/.test(source.slice(0, index)))
+ return ns + "." + def;
+ return def;
});
return text;
diff --git a/node_modules/ace/demo/autoresize.html b/node_modules/ace/demo/autoresize.html
index 73a87599..b0464ecd 100644
--- a/node_modules/ace/demo/autoresize.html
+++ b/node_modules/ace/demo/autoresize.html
@@ -7,14 +7,13 @@
@@ -24,6 +23,8 @@
minHeight = 2 lines
+
+
@@ -46,6 +47,13 @@ require(["ace/ace"], function(ace) {
editor2.setOption("maxLines", 30);
editor2.setOption("minLines", 2);
+ var editor = ace.edit("editor3");
+ editor.setOptions({
+ autoScrollEditorIntoView: true,
+ maxLines: 8
+ });
+ editor.renderer.setScrollMargin(10, 10, 10, 10);
+
var editor = ace.edit("editor");
editor.setTheme("ace/theme/tomorrow");
editor.session.setMode("ace/mode/html");
diff --git a/node_modules/ace/demo/kitchen-sink/dev_util.js b/node_modules/ace/demo/kitchen-sink/dev_util.js
index 8dab857c..a7b9b096 100644
--- a/node_modules/ace/demo/kitchen-sink/dev_util.js
+++ b/node_modules/ace/demo/kitchen-sink/dev_util.js
@@ -39,7 +39,7 @@ function warn() {
s.shift(); // remove the getter
s = s.join("\n");
// allow easy access to ace in console, but not in ace code
- if (!/at Object.InjectedScript.|@debugger eval|snippets:\/{3}/.test(s)) {
+ if (!/at Object.InjectedScript.|@debugger eval|snippets:\/{3}|:\d+:\d+/.test(s)) {
console.error("trying to access to global variable");
}
}
diff --git a/node_modules/ace/demo/kitchen-sink/docs/c_cpp.cpp b/node_modules/ace/demo/kitchen-sink/docs/c_cpp.cpp
index a2ebdaa2..3e06ac24 100644
--- a/node_modules/ace/demo/kitchen-sink/docs/c_cpp.cpp
+++ b/node_modules/ace/demo/kitchen-sink/docs/c_cpp.cpp
@@ -24,10 +24,12 @@
using namespace std;
+//
int main ()
{
int a, b=3; /* foobar */
- a = b;
+ a = b; // single line comment\
+ continued
a+=2; // equivalent to a=a+2
cout << a;
#if VERBOSE >= 2
diff --git a/node_modules/ace/demo/kitchen-sink/docs/gherkin.feature b/node_modules/ace/demo/kitchen-sink/docs/gherkin.feature
index 52cd811e..83c6e844 100644
--- a/node_modules/ace/demo/kitchen-sink/docs/gherkin.feature
+++ b/node_modules/ace/demo/kitchen-sink/docs/gherkin.feature
@@ -1,4 +1,4 @@
-@these @are @tags
+@these @_are_ @tags
Feature: Serve coffee
Coffee should not be served until paid for
Coffee should not be served until the button has been pressed
@@ -12,7 +12,7 @@ Feature: Serve coffee
Examples:
| start | eat | left |
| 12 | 5 | 7 |
- | 20 | 5 | 15 |
+ | @20 | 5 | 15 |
Scenario: Buy last coffee
Given there are 1 coffees left in the machine
diff --git a/node_modules/ace/demo/kitchen-sink/docs/maze.mz b/node_modules/ace/demo/kitchen-sink/docs/maze.mz
new file mode 100644
index 00000000..72c140e2
--- /dev/null
+++ b/node_modules/ace/demo/kitchen-sink/docs/maze.mz
@@ -0,0 +1,23 @@
+## ## () ## ^^ ## ## ## ##
+## H1 C2 S1 <> S2 H2 DN ##
+## %U <> %D *2 %L IZ .. ##
+## ## ## .. ## DN *3 ## ##
+## ## ## %R C1 IZ () ## ##
+## ## ## ## >/ *1
+## () *3 *1 %L ()
+
+
+// Set divisor and dividend
+S1-> = 9
+S2-> = 24
+
+// Holding cells
+H1-> IF *1 THEN %R ELSE %N
+H2-> IF *2 THEN %R ELSE %N
+
+// Arithmetic
+DN-> -= 1
+IZ-> IF <= 0 THEN %D ELSE %U
+
+C1-> IF *3 THEN %D ELSE %R
+C2-> IF *3 THEN %U ELSE %D
diff --git a/node_modules/ace/demo/kitchen-sink/docs/sqlserver.sqlserver b/node_modules/ace/demo/kitchen-sink/docs/sqlserver.sqlserver
index 329930af..7efd2b7e 100644
--- a/node_modules/ace/demo/kitchen-sink/docs/sqlserver.sqlserver
+++ b/node_modules/ace/demo/kitchen-sink/docs/sqlserver.sqlserver
@@ -1,9 +1,9 @@
-- =============================================
-- Author: Morgan Yarbrough
-- Create date: 4/27/2015
--- Description: Test Procedure that shows off language features.
--- Includes non-standard folding using region comments using either
--- line comments or block comments (both are demonstrated below)
+-- Description: Test procedure that shows off language features.
+-- Includes non-standard folding with region comments using either
+-- line comments or block comments (both are demonstrated below).
-- This mode imitates SSMS and it designed to be used with SQL Server theme.
-- =============================================
CREATE PROCEDURE dbo.TestProcedure
@@ -11,7 +11,7 @@ CREATE PROCEDURE dbo.TestProcedure
--#region parameters
@vint INT = 1
,@vdate DATE = NULL
- ,@vdatetime DATETIME = DATEADD (dd, 1, GETDATE())
+ ,@vdatetime DATETIME = DATEADD(dd, 1, GETDATE())
,@vvarchar VARCHAR(MAX) = ''
--#endregion
@@ -38,8 +38,8 @@ BEGIN
-- another folding demonstration
IF @vint = 1
BEGIN
- SET @vvarchar='one'
- SET @vint = DATEDIFFT(dd, @vdate, @vdatetime)
+ SET @vvarchar = 'one'
+ SET @vint = DATEDIFF(dd, @vdate, @vdatetime)
END
-- this mode handles strings properly
@@ -47,7 +47,7 @@ BEGIN
FROM Orders
WHERE @OrderDate > GETDATE()'
- -- this mode is aware of build in stored procedures
+ -- this mode is aware of built in stored procedures
EXECUTE sp_executesql @sql
-- demonstrating some syntax highlighting
@@ -60,4 +60,13 @@ BEGIN
WHERE CompanyName NOT LIKE '%something'
OR CompanyName IS NULL
OR CompanyName IN ('bla', 'nothing')
+
+ -- this mode includes snippets
+ -- place your cusor at the end of the line below and trigger auto complete (Ctrl+Space)
+ createpr
+
+ -- SQL Server allows using keywords as object names (not recommended) as long as they are wrapped in brackets
+ DATABASE -- keyword
+ [DATABASE] -- not a keyword
+
END
diff --git a/node_modules/ace/demo/kitchen-sink/docs/swift.swift b/node_modules/ace/demo/kitchen-sink/docs/swift.swift
new file mode 100644
index 00000000..d1b58293
--- /dev/null
+++ b/node_modules/ace/demo/kitchen-sink/docs/swift.swift
@@ -0,0 +1,16 @@
+import UIKit
+
+class DetailsViewController: UIViewController {
+ var album: Album?
+ @IBOutlet weak var albumCover: UIImageView!
+
+ required init(coder aDecoder: NSCoder) {
+ super.init(coder: aDecoder)
+ }
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ mLabel.text = self.album?.title && "Juhu \( "kinners" )! "
+ albumCover.image = UIImage(data: NSData(contentsOfURL: NSURL(string: self.album!.largeImageURL)!)!)
+ }
+}
\ No newline at end of file
diff --git a/node_modules/ace/demo/kitchen-sink/styles.css b/node_modules/ace/demo/kitchen-sink/styles.css
index 3f46f701..b9ace9c6 100644
--- a/node_modules/ace/demo/kitchen-sink/styles.css
+++ b/node_modules/ace/demo/kitchen-sink/styles.css
@@ -52,4 +52,6 @@ body {
z-index: 10!important;
opacity: 1!important;
background: rgb(84, 0, 255)!important;
+ color: rgb(255, 255, 255)!important;
+ width: 10em!important;
}*/
diff --git a/node_modules/ace/demo/static-highlighter/server.js b/node_modules/ace/demo/static-highlighter/server.js
index 0878fec2..ea8361d4 100644
--- a/node_modules/ace/demo/static-highlighter/server.js
+++ b/node_modules/ace/demo/static-highlighter/server.js
@@ -2,15 +2,13 @@
* Simple node.js server, which generates the synax highlighted version of itself
* using the Ace modes and themes on the server and serving a static web page.
*/
-// $'
+
// include ace search path and modules
require("amd-loader");
-// load jsdom, which is required by Ace
-require("../../lib/ace/test/mockdom");
-
var http = require("http");
var fs = require("fs");
+var resolve = require("path").resolve;
// load the highlighter and the desired mode and theme
var highlighter = require("../../lib/ace/ext/static_highlight");
@@ -20,15 +18,22 @@ var theme = require("../../lib/ace/theme/twilight");
var port = process.env.PORT || 2222;
http.createServer(function(req, res) {
+ var url = req.url;
+ var path = /[^#?\x00]*/.exec(url)[0];
+ var root = resolve(__dirname + "/../../").replace(/\\/g, "/");
+ path = resolve(root + "/" + path).replace(/\\/g, "/");
+ if (path.indexOf(root + "/") != 0)
+ path = __filename;
res.writeHead(200, {"Content-Type": "text/html; charset=utf-8"});
- fs.readFile(__dirname + "/../../build/src/ace.js", "utf8", function(err, data) {
+ fs.readFile(path, "utf8", function(err, data) {
+ if (err) data = err.message;
var highlighted = highlighter.render(data, new JavaScriptMode(), theme);
res.end(
'\n' +
'\n' +
- highlighted.html +
+ highlighted.html +
''
);
});
diff --git a/node_modules/ace/demo/svg.svg b/node_modules/ace/demo/svg.svg
new file mode 100644
index 00000000..662ab53b
--- /dev/null
+++ b/node_modules/ace/demo/svg.svg
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/node_modules/ace/demo/xml.xml b/node_modules/ace/demo/xml.xml
new file mode 100644
index 00000000..b4f78bf8
--- /dev/null
+++ b/node_modules/ace/demo/xml.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+ ACE Autocompletion demo
+
+
+
+
+
+
+
+
+
+
+
diff --git a/node_modules/ace/experiments/debug_mem_leak.html b/node_modules/ace/experiments/debug_mem_leak.html
new file mode 100644
index 00000000..b8ee8726
--- /dev/null
+++ b/node_modules/ace/experiments/debug_mem_leak.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/node_modules/ace/lib/ace/autocomplete.js b/node_modules/ace/lib/ace/autocomplete.js
index 8e121f35..bb3fe04b 100644
--- a/node_modules/ace/lib/ace/autocomplete.js
+++ b/node_modules/ace/lib/ace/autocomplete.js
@@ -174,7 +174,7 @@ var Autocomplete = function() {
this.popup.setRow(row);
};
- this.insertMatch = function(data) {
+ this.insertMatch = function(data, options) {
if (!data)
data = this.popup.getData(this.popup.getRow());
if (!data)
@@ -183,6 +183,7 @@ var Autocomplete = function() {
if (data.completer && data.completer.insertMatch) {
data.completer.insertMatch(this.editor, data);
} else {
+ // TODO add support for options.deleteSuffix
if (this.completions.filterText) {
var ranges = this.editor.selection.getAllRanges();
for (var i = 0, range; range = ranges[i]; i++) {
@@ -207,7 +208,7 @@ var Autocomplete = function() {
"Esc": function(editor) { editor.completer.detach(); },
"Return": function(editor) { return editor.completer.insertMatch(); },
- "Shift-Return": function(editor) { editor.completer.insertMatch(true); },
+ "Shift-Return": function(editor) { editor.completer.insertMatch(null, {deleteSuffix: true}); },
"Tab": function(editor) {
var result = editor.completer.insertMatch();
if (!result && !editor.tabstopManager)
diff --git a/node_modules/ace/lib/ace/ext/modelist.js b/node_modules/ace/lib/ace/ext/modelist.js
index 14db899d..4d62a151 100644
--- a/node_modules/ace/lib/ace/ext/modelist.js
+++ b/node_modules/ace/lib/ace/ext/modelist.js
@@ -92,7 +92,7 @@ var supportedModes = {
Jack: ["jack"],
Jade: ["jade"],
Java: ["java"],
- JavaScript: ["js|jsm"],
+ JavaScript: ["js|jsm|jsx"],
JSON: ["json"],
JSONiq: ["jq"],
JSP: ["jsp"],
@@ -150,6 +150,7 @@ var supportedModes = {
SQLServer: ["sqlserver"],
Stylus: ["styl|stylus"],
SVG: ["svg"],
+ Swift: ["swift"],
Tcl: ["tcl"],
Tex: ["tex"],
Text: ["txt"],
diff --git a/node_modules/ace/lib/ace/lib/dom.js b/node_modules/ace/lib/ace/lib/dom.js
index c30176da..dfc32079 100644
--- a/node_modules/ace/lib/ace/lib/dom.js
+++ b/node_modules/ace/lib/ace/lib/dom.js
@@ -136,10 +136,7 @@ exports.importCssString = function importCssString(cssText, id, doc) {
if (id)
style.owningElement.id = id;
} else {
- style = doc.createElementNS
- ? doc.createElementNS(XHTML_NS, "style")
- : doc.createElement("style");
-
+ style = exports.createElement("style");
style.appendChild(doc.createTextNode(cssText));
if (id)
style.id = id;
diff --git a/node_modules/ace/lib/ace/lib/event.js b/node_modules/ace/lib/ace/lib/event.js
index 8892557c..459ce0f2 100644
--- a/node_modules/ace/lib/ace/lib/event.js
+++ b/node_modules/ace/lib/ace/lib/event.js
@@ -34,6 +34,9 @@ define(function(require, exports, module) {
var keys = require("./keys");
var useragent = require("./useragent");
+var pressedKeys = null;
+var ts = 0;
+
exports.addListener = function(elem, type, callback) {
if (elem.addEventListener) {
return elem.addEventListener(type, callback, false);
@@ -253,7 +256,7 @@ function normalizeCommandKeys(callback, e, keyCode) {
var hashId = getModifierHash(e);
if (!useragent.isMac && pressedKeys) {
- if (pressedKeys[91] || pressedKeys[92])
+ if (pressedKeys.OSKey)
hashId |= 8;
if (pressedKeys.altGr) {
if ((3 & hashId) != 3)
@@ -278,7 +281,7 @@ function normalizeCommandKeys(callback, e, keyCode) {
keyCode = -1;
}
- if (hashId & 8 && (keyCode === 91 || keyCode === 93)) {
+ if (hashId & 8 && (keyCode === 91 || keyCode === 92)) {
keyCode = -1;
}
@@ -309,8 +312,7 @@ function normalizeCommandKeys(callback, e, keyCode) {
return callback(e, hashId, keyCode);
}
-var pressedKeys = null;
-var ts = 0;
+
exports.addCommandKeyListener = function(el, callback) {
var addListener = exports.addListener;
if (useragent.isOldGecko || (useragent.isOpera && !("KeyboardEvent" in window))) {
@@ -331,8 +333,19 @@ exports.addCommandKeyListener = function(el, callback) {
var lastDefaultPrevented = null;
addListener(el, "keydown", function(e) {
- pressedKeys[e.keyCode] = (pressedKeys[e.keyCode] || 0) + 1;
- var result = normalizeCommandKeys(callback, e, e.keyCode);
+ var keyCode = e.keyCode;
+ pressedKeys[keyCode] = (pressedKeys[keyCode] || 0) + 1;
+ if (keyCode == 91 || keyCode == 92) {
+ pressedKeys.OSKey = true;
+ } else if (pressedKeys.OSKey) {
+ if (e.timeStamp - pressedKeys.lastT > 200 && pressedKeys.count == 1)
+ resetPressedKeys();
+ }
+ if (pressedKeys[keyCode] == 1)
+ pressedKeys.count++;
+ // console.log(e.timeStamp - pressedKeys.lastT)
+ pressedKeys.lastT = e.timeStamp;
+ var result = normalizeCommandKeys(callback, e, keyCode);
lastDefaultPrevented = e.defaultPrevented;
return result;
});
@@ -345,7 +358,17 @@ exports.addCommandKeyListener = function(el, callback) {
});
addListener(el, "keyup", function(e) {
- pressedKeys[e.keyCode] = null;
+ var keyCode = e.keyCode;
+ if (!pressedKeys[keyCode]) {
+ // console.log("resetting", 1)
+ resetPressedKeys();
+ } else {
+ pressedKeys.count = Math.max(pressedKeys.count - 1, 0);
+ }
+ if (keyCode == 91 || keyCode == 92) {
+ pressedKeys.OSKey = false;
+ }
+ pressedKeys[keyCode] = null;
});
if (!pressedKeys) {
@@ -354,8 +377,11 @@ exports.addCommandKeyListener = function(el, callback) {
}
}
};
-function resetPressedKeys(e) {
+function resetPressedKeys() {
+ // console.log("resetting")
pressedKeys = Object.create(null);
+ pressedKeys.count = 0;
+ pressedKeys.lastT = 0;
}
if (typeof window == "object" && window.postMessage && !useragent.isOldIE) {
diff --git a/node_modules/ace/lib/ace/lib/keys.js b/node_modules/ace/lib/ace/lib/keys.js
index 465d4a8d..cca7ff24 100644
--- a/node_modules/ace/lib/ace/lib/keys.js
+++ b/node_modules/ace/lib/ace/lib/keys.js
@@ -105,7 +105,7 @@ var Keys = (function() {
80: 'p', 81: 'q', 82: 'r', 83: 's', 84: 't', 85: 'u', 86: 'v',
87: 'w', 88: 'x', 89: 'y', 90: 'z', 107: '+', 109: '-', 110: '.',
186: ';', 187: '=', 188: ',', 189: '-', 190: '.', 191: '/', 192: '`',
- 219: '[', 220: '\\',221: ']', 222: '\''
+ 219: '[', 220: '\\',221: ']', 222: "'", 111: '/', 106: '*'
}
};
diff --git a/node_modules/ace/lib/ace/lib/lang.js b/node_modules/ace/lib/ace/lib/lang.js
index 921dee1d..f306e3e4 100644
--- a/node_modules/ace/lib/ace/lib/lang.js
+++ b/node_modules/ace/lib/ace/lib/lang.js
@@ -136,7 +136,7 @@ exports.escapeRegExp = function(str) {
};
exports.escapeHTML = function(str) {
- return str.replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/
+
+ z ---> welcome="Hello World!">
+ z -->
+#welcome#
+
+ Dateformat(now())
+
\ No newline at end of file
diff --git a/node_modules/ace/lib/ace/mode/_test/text_javascript.txt b/node_modules/ace/lib/ace/mode/_test/text_javascript.txt
index 48d4af7d..569c8537 100644
--- a/node_modules/ace/lib/ace/mode/_test/text_javascript.txt
+++ b/node_modules/ace/lib/ace/mode/_test/text_javascript.txt
@@ -84,3 +84,11 @@ foo.protoype.d = function(a, b,
c, d)
foo.d =function(a, b)
foo.d =function(a, /*****/ d"string"
+
+
+
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_c_cpp.json b/node_modules/ace/lib/ace/mode/_test/tokens_c_cpp.json
index 312dad62..13f42b13 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_c_cpp.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_c_cpp.json
@@ -83,7 +83,7 @@
"start"
],[
"start",
- ["comment","//"]
+ ["comment","//"]
],[
"start",
["storage.type","int"],
@@ -110,7 +110,7 @@
["text"," "],
["comment","/* foobar */"]
],[
- "start",
+ "singleLineComment",
["text"," "],
["identifier","a"],
["text"," "],
@@ -119,7 +119,10 @@
["identifier","b"],
["punctuation.operator",";"],
["text"," "],
- ["comment","// single line comment\\ continued"]
+ ["comment","// single line comment\\"]
+],[
+ "start",
+ ["comment"," continued"]
],[
"start",
["text"," "],
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_coffee.json b/node_modules/ace/lib/ace/mode/_test/tokens_coffee.json
index b0703b37..cf024632 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_coffee.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_coffee.json
@@ -10,8 +10,8 @@
["identifier","i"],
["text"," "],
["constant.numeric","1"],
- ["punctuation.operator","."],
- ["constant.numeric",".2"],
+ ["punctuation.operator",".."],
+ ["constant.numeric","2"],
["paren.rparen",")"]
],[
"start",
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_coldfusion.json b/node_modules/ace/lib/ace/mode/_test/tokens_coldfusion.json
index 804e647d..d7dd1269 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_coldfusion.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_coldfusion.json
@@ -1,26 +1,59 @@
[[
"start",
- ["comment.xml",""]
+ ["comment.start",""]
],[
"start"
],[
"start",
["meta.tag.punctuation.tag-open.xml","<"],
- ["meta.tag.tag-name.xml","cfset"],
+ ["keyword.tag-name.xml","cfset"],
+ ["text.tag-whitespace.xml"," "],
+ ["comment.start",""],
+ ["comment"," z "],
+ ["comment.end","--->"],
["text.tag-whitespace.xml"," "],
["entity.other.attribute-name.xml","welcome"],
["keyword.operator.attribute-equals.xml","="],
["string.attribute-value.xml","\"Hello World!\""],
["meta.tag.punctuation.tag-close.xml",">"]
],[
- "start"
+ "start",
+ ["comment.xml",""],
+ ["comment.xml"," z -->"]
],[
"start",
["meta.tag.punctuation.tag-open.xml","<"],
- ["meta.tag.tag-name.xml","cfoutput"],
+ ["keyword.tag-name.xml","cfoutput"],
["meta.tag.punctuation.tag-close.xml",">"],
["text.xml","#welcome#"],
["meta.tag.punctuation.end-tag-open.xml",""],
- ["meta.tag.tag-name.xml","cfoutput"],
+ ["keyword.tag-name.xml","cfoutput"],
+ ["meta.tag.punctuation.tag-close.xml",">"]
+],[
+ "cfjs-start",
+ ["meta.tag.punctuation.tag-open.xml","<"],
+ ["meta.tag.cfscript.tag-name.xml","cfscript"],
+ ["meta.tag.punctuation.tag-close.xml",">"]
+],[
+ "cfjs-no_regex",
+ ["text"," "],
+ ["identifier","Dateformat"],
+ ["paren.lparen","("],
+ ["identifier","now"],
+ ["paren.lparen","("],
+ ["paren.rparen","))"]
+],[
+ "start",
+ ["meta.tag.punctuation.end-tag-open.xml",""],
+ ["meta.tag.cfscript.tag-name.xml","cfscript"],
["meta.tag.punctuation.tag-close.xml",">"]
]]
\ No newline at end of file
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_javascript.json b/node_modules/ace/lib/ace/mode/_test/tokens_javascript.json
index 1be3f605..b52a31bc 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_javascript.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_javascript.json
@@ -590,4 +590,70 @@
["text"," "]
],[
"no_regex"
+],[
+ "no_regex",
+ ["keyword.operator","<"],
+ ["identifier","div"]
+],[
+ ["start","jsx_attr_qq","jsx_attr_qq","jsxAttributes","jsxAttributes","jsx",1],
+ ["identifier","z"],
+ ["keyword.operator","="],
+ ["meta.tag.punctuation.tag-open.xml","<"],
+ ["meta.tag.tag-name.xml","div"],
+ ["text.tag-whitespace.xml"," "],
+ ["paren.quasi.start","{"],
+ ["keyword.operator","..."],
+ ["variable.language","this"],
+ ["punctuation.operator","."],
+ ["identifier","props"],
+ ["paren.quasi.end","}"],
+ ["text.tag-whitespace.xml"," "],
+ ["entity.other.attribute-name.xml","x"],
+ ["keyword.operator.attribute-equals.xml","="],
+ ["paren.quasi.start","{"],
+ ["constant.numeric","1"],
+ ["text"," "],
+ ["keyword.operator","+"],
+ ["text"," "],
+ ["constant.numeric","2"],
+ ["paren.quasi.end","}"],
+ ["text.tag-whitespace.xml"," "],
+ ["entity.other.attribute-name.xml","y"],
+ ["keyword.operator.attribute-equals.xml","="],
+ ["string.attribute-value.xml","\"z"],
+ ["paren.quasi.start","{"]
+],[
+ ["#tmp","no_regex","start","jsx_attr_qq","jsx_attr_qq","jsxAttributes","jsxAttributes","jsx",1],
+ ["text"," "],
+ ["constant.numeric","1"]
+],[
+ ["jsx",1],
+ ["text"," "],
+ ["paren.quasi.end","}"],
+ ["string.attribute-value.xml","e\""],
+ ["meta.tag.punctuation.tag-close.xml",">"]
+],[
+ ["jsx",1],
+ ["string","1 "],
+ ["meta.tag.punctuation.tag-open.xml","<"],
+ ["meta.tag.tag-name.xml","a"],
+ ["meta.tag.punctuation.tag-close.xml",">"],
+ ["string"," "],
+ ["paren.quasi.start","{"],
+ ["text"," "],
+ ["keyword.operator","++"],
+ ["identifier","x"],
+ ["text"," "],
+ ["paren.quasi.end","}"],
+ ["string"," "],
+ ["meta.tag.punctuation.end-tag-open.xml",""],
+ ["meta.tag.tag-name.xml","a"],
+ ["meta.tag.punctuation.tag-close.xml",">"]
+],[
+ "start",
+ ["meta.tag.punctuation.end-tag-open.xml",""],
+ ["meta.tag.tag-name.xml","div"],
+ ["meta.tag.punctuation.tag-close.xml",">"]
+],[
+ "start"
]]
\ No newline at end of file
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_markdown.json b/node_modules/ace/lib/ace/mode/_test/tokens_markdown.json
index 29e878b2..3ac5c131 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_markdown.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_markdown.json
@@ -110,5 +110,5 @@
],[
"allowBlock"
],[
- "start"
-]]
\ No newline at end of file
+ "allowBlock"
+]]
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_rust.json b/node_modules/ace/lib/ace/mode/_test/tokens_rust.json
index fc05b78f..c8d3c20e 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_rust.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_rust.json
@@ -210,4 +210,4 @@
["paren.rparen","}"]
],[
"start"
-]]
+]]
\ No newline at end of file
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_scala.json b/node_modules/ace/lib/ace/mode/_test/tokens_scala.json
index 01dd3ce3..e59e55dc 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_scala.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_scala.json
@@ -115,7 +115,7 @@
["text"," "],
["keyword","extends"],
["text"," "],
- ["identifier","Application"],
+ ["support.function","Application"],
["text"," "],
["paren.lparen","{"]
],[
@@ -205,7 +205,7 @@
],[
"start",
["text"," "],
- ["identifier","println"],
+ ["keyword","println"],
["paren.lparen","("],
["string","\"Ping: Initializing with count \""],
["keyword.operator","+"],
@@ -248,7 +248,7 @@
],[
"start",
["text"," "],
- ["identifier","println"],
+ ["keyword","println"],
["paren.lparen","("],
["string","\"Ping: starting.\""],
["paren.rparen",")"]
@@ -327,7 +327,7 @@
],[
"start",
["text"," "],
- ["identifier","println"],
+ ["keyword","println"],
["paren.lparen","("],
["string","\"Ping: pong from: \""],
["keyword.operator","+"],
@@ -362,7 +362,7 @@
],[
"start",
["text"," "],
- ["identifier","println"],
+ ["keyword","println"],
["paren.lparen","("],
["string","\"Ping: Stop.\""],
["paren.rparen",")"]
@@ -472,7 +472,7 @@
],[
"start",
["text"," "],
- ["identifier","println"],
+ ["keyword","println"],
["paren.lparen","("],
["string","\"Pong: ping \""],
["keyword.operator","+"],
@@ -513,7 +513,7 @@
],[
"start",
["text"," "],
- ["identifier","println"],
+ ["keyword","println"],
["paren.lparen","("],
["string","\"Pong: Stop.\""],
["paren.rparen",")"]
diff --git a/node_modules/ace/lib/ace/mode/_test/tokens_soy_template.json b/node_modules/ace/lib/ace/mode/_test/tokens_soy_template.json
index 9ae7c4ed..c4f95095 100644
--- a/node_modules/ace/lib/ace/mode/_test/tokens_soy_template.json
+++ b/node_modules/ace/lib/ace/mode/_test/tokens_soy_template.json
@@ -110,8 +110,8 @@
["punctuation.definition.tag.end.soy","}"]
],[
"start",
- ["comment.line.double-slash.soy"," "],
- ["punctuation.definition.comment.soy","//"],
+ ["text.xml"," "],
+ ["comment.line.double-slash.soy","//"],
["comment.line.double-slash.soy"," Greet the person."]
],[
"start",
@@ -130,8 +130,8 @@
["meta.tag.punctuation.tag-close.xml",">"]
],[
"start",
- ["comment.line.double-slash.soy"," "],
- ["punctuation.definition.comment.soy","//"],
+ ["text.xml"," "],
+ ["comment.line.double-slash.soy","//"],
["comment.line.double-slash.soy"," Greet the additional people."]
],[
"start",
@@ -189,8 +189,8 @@
["meta.tag.punctuation.tag-open.xml","<"],
["meta.tag.tag-name.xml","br"],
["meta.tag.punctuation.tag-close.xml",">"],
- ["comment.line.double-slash.soy"," "],
- ["punctuation.definition.comment.soy","//"],
+ ["text.xml"," "],
+ ["comment.line.double-slash.soy","//"],
["comment.line.double-slash.soy"," break after every line except the last"]
],[
"start",
diff --git a/node_modules/ace/lib/ace/mode/coffee_highlight_rules.js b/node_modules/ace/lib/ace/mode/coffee_highlight_rules.js
index 94c9476f..3cad2843 100644
--- a/node_modules/ace/lib/ace/mode/coffee_highlight_rules.js
+++ b/node_modules/ace/lib/ace/mode/coffee_highlight_rules.js
@@ -167,7 +167,7 @@ define(function(require, exports, module) {
regex : "(\\.)(\\s*)(" + illegal + ")"
}, {
token : "punctuation.operator",
- regex : "\\."
+ regex : "\\.{1,3}"
}, {
//class A extends B
token : ["keyword", "text", "language.support.class",
diff --git a/node_modules/ace/lib/ace/mode/coldfusion_highlight_rules.js b/node_modules/ace/lib/ace/mode/coldfusion_highlight_rules.js
index 5feff6d6..0004e8ee 100644
--- a/node_modules/ace/lib/ace/mode/coldfusion_highlight_rules.js
+++ b/node_modules/ace/lib/ace/mode/coldfusion_highlight_rules.js
@@ -37,8 +37,45 @@ var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
var ColdfusionHighlightRules = function() {
HtmlHighlightRules.call(this);
+ this.$rules.tag[2].token = function (start, tag) {
+ var group = tag.slice(0,2) == "cf" ? "keyword" : "meta.tag";
+ return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",
+ group + ".tag-name.xml"];
+ }
- this.embedTagRules(JavaScriptHighlightRules, "cfjs-", "cfscript");
+ var jsAndCss = Object.keys(this.$rules).filter(function(x) {
+ return /^(js|css)-/.test(x);
+ });
+ this.embedRules({
+ cfmlComment: [
+ { regex: "", token: "comment.end", next: "pop"},
+ { defaultToken: "comment"}
+ ]
+ }, "", [
+ { regex: "