Merge pull request #2283 from ajaxorg/misc

Sync with cloud9
This commit is contained in:
Lennart Kats 2014-12-22 13:29:17 +01:00
commit 7ff1f1dd0d
9 changed files with 29 additions and 31 deletions

View file

@ -31,13 +31,15 @@
define(function(require, exports, module) {
var dom = require("ace/lib/dom");
var Range = require("ace/range").Range;
// allow easy access to ace in console, but not in ace code which uses strict
function isStrict() {
try { return !arguments.callee.caller.caller.caller}
catch(e){ return true }
}
function warn() {
if (isStrict()) {
var s = (new Error()).stack || "";
s = s.split("\n");
if (s[1] == "Error") s.shift(); // remove error description on chrome
s.shift(); // remove 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)) {
console.error("trying to access to global variable");
}
}

View file

@ -253,20 +253,6 @@ function normalizeCommandKeys(callback, e, keyCode) {
}
if (keyCode in keys.MODIFIER_KEYS) {
switch (keys.MODIFIER_KEYS[keyCode]) {
case "Alt":
hashId = 2;
break;
case "Shift":
hashId = 4;
break;
case "Ctrl":
hashId = 1;
break;
default:
hashId = 8;
break;
}
keyCode = -1;
}

View file

@ -146,7 +146,7 @@ var Keys = (function() {
})();
ret.KEY_MODS[0] = "";
ret.KEY_MODS[-1] = "input";
ret.KEY_MODS[-1] = "input-";
return ret;
})();

View file

@ -137,7 +137,12 @@
"start",
["text"," "],
["keyword","#if"],
["constant.other"," VERBOSE >= 2"]
["text"," "],
["identifier","VERBOSE"],
["text"," "],
["keyword.operator",">="],
["text"," "],
["constant.numeric","2"]
],[
"start",
["text"," "],

View file

@ -727,7 +727,8 @@
],[
"start",
["keyword","#ifndef"],
["constant.other"," Nil"]
["text"," "],
["constant.language.objc","Nil"]
],[
"start",
["keyword","#define"],

View file

@ -84,11 +84,11 @@ var c_cppHighlightRules = function() {
regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"
}, {
token : "keyword", // pre-compiler directives
regex : "#\\s*(?:include|import|pragma|line|define|undef|if|ifdef|else|elif|ifndef)\\b",
regex : "#\\s*(?:include|import|pragma|line|define|undef)\\b",
next : "directive"
}, {
token : "keyword", // special case pre-compiler directive
regex : "(?:#\\s*endif)\\b"
regex : "#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"
}, {
token : "support.function.C99.c",
regex : cFunctions

View file

@ -59,8 +59,8 @@ module.exports = {
assert.equal(session.getFoldWidget(3), "end");
assert.equal(session.getFoldWidget(4), "end");
assert.range(session.getFoldWidgetRange(0), 0, 8, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 8, 4, 0);
assert.range(session.getFoldWidgetRange(0), 0, 31, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 31, 4, 0);
assert.range(session.getFoldWidgetRange(1), 1, 16, 3, 0);
assert.range(session.getFoldWidgetRange(3), 1, 16, 3, 0);
@ -85,8 +85,8 @@ module.exports = {
assert.equal(session.getFoldWidget(3), "end");
assert.equal(session.getFoldWidget(4), "end");
assert.range(session.getFoldWidgetRange(0), 0, 7, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 7, 4, 0);
assert.range(session.getFoldWidgetRange(0), 0, 23, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 23, 4, 0);
assert.range(session.getFoldWidgetRange(1), 1, 17, 3, 4);
assert.range(session.getFoldWidgetRange(3), 1, 17, 3, 4);

View file

@ -217,6 +217,8 @@ function is(token, type) {
row: row,
column: firstTag.start.column + firstTag.tagName.length + 2
};
if (firstTag.start.row == firstTag.end.row)
start.column = firstTag.end.column;
while (tag = this._readTagForward(iterator)) {
if (tag.selfClosing) {
if (!stack.length) {
@ -258,6 +260,8 @@ function is(token, type) {
this._pop(stack, tag);
if (stack.length == 0) {
tag.start.column += tag.tagName.length + 2;
if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)
tag.start.column = tag.end.column;
return Range.fromPoints(tag.start, end);
}
}

View file

@ -55,9 +55,9 @@ var HaskellHighlightRules = function() {
{ token: 'constant.language.empty-list.haskell',
regex: '\\[\\]' },
{ token: 'keyword.other.haskell',
regex: 'module',
regex: '\\bmodule\\b',
push:
[ { token: 'keyword.other.haskell', regex: 'where', next: 'pop' },
[ { token: 'keyword.other.haskell', regex: '\\bwhere\\b', next: 'pop' },
{ include: '#module_name' },
{ include: '#module_exports' },
{ token: 'invalid', regex: '[a-z]+' },