pull/227/head
nightwing 2015-12-13 13:26:38 +04:00
rodzic 7952f64c05
commit c0f9226078
36 zmienionych plików z 823 dodań i 106 usunięć

Wyświetl plik

@ -226,7 +226,7 @@ var Autocomplete = function() {
var pos = editor.getCursorPosition();
var line = session.getLine(pos.row);
var prefix = util.retrievePrecedingIdentifier(line, pos.column);
var prefix = util.getCompletionPrefix(editor);
this.base = session.doc.createAnchor(pos.row, pos.column - prefix.length);
this.base.$insertRight = true;
@ -235,13 +235,13 @@ var Autocomplete = function() {
var total = editor.completers.length;
editor.completers.forEach(function(completer, i) {
completer.getCompletions(editor, session, pos, prefix, function(err, results) {
if (!err)
if (!err && results)
matches = matches.concat(results);
// Fetch prefix again, because they may have changed by now
var pos = editor.getCursorPosition();
var line = session.getLine(pos.row);
callback(null, {
prefix: util.retrievePrecedingIdentifier(line, pos.column, results[0] && results[0].identifierRegex),
prefix: prefix,
matches: matches,
finished: (--total === 0)
});

Wyświetl plik

@ -71,4 +71,19 @@ exports.retrieveFollowingIdentifier = function(text, pos, regex) {
return buf;
};
exports.getCompletionPrefix = function (editor) {
var pos = editor.getCursorPosition();
var line = editor.session.getLine(pos.row);
var prefix;
editor.completers.forEach(function(completer) {
if (completer.identifierRegexps) {
completer.identifierRegexps.forEach(function(identifierRegex) {
if (!prefix && identifierRegex)
prefix = this.retrievePrecedingIdentifier(line, pos.column, identifierRegex);
}.bind(this));
}
}.bind(this));
return prefix || this.retrievePrecedingIdentifier(line, pos.column);
};
});

Wyświetl plik

@ -137,33 +137,17 @@ var loadSnippetFile = function(id) {
});
};
function getCompletionPrefix(editor) {
var pos = editor.getCursorPosition();
var line = editor.session.getLine(pos.row);
var prefix;
// Try to find custom prefixes on the completers
editor.completers.forEach(function(completer) {
if (completer.identifierRegexps) {
completer.identifierRegexps.forEach(function(identifierRegex) {
if (!prefix && identifierRegex)
prefix = util.retrievePrecedingIdentifier(line, pos.column, identifierRegex);
});
}
});
return prefix || util.retrievePrecedingIdentifier(line, pos.column);
}
var doLiveAutocomplete = function(e) {
var editor = e.editor;
var hasCompleter = editor.completer && editor.completer.activated;
// We don't want to autocomplete with no prefix
if (e.command.name === "backspace") {
if (hasCompleter && !getCompletionPrefix(editor))
if (hasCompleter && !util.getCompletionPrefix(editor))
editor.completer.detach();
}
else if (e.command.name === "insertstring") {
var prefix = getCompletionPrefix(editor);
var prefix = util.getCompletionPrefix(editor);
// Only autocomplete if there's a prefix that can be matched
if (prefix && !hasCompleter) {
if (!editor.completer) {

Wyświetl plik

@ -80,6 +80,7 @@ var supportedModes = {
Gherkin: ["feature"],
Gitignore: ["^.gitignore"],
Glsl: ["glsl|frag|vert"],
Gobstones: ["gbs"],
golang: ["go"],
Groovy: ["groovy"],
HAML: ["haml"],
@ -87,8 +88,8 @@ var supportedModes = {
Haskell: ["hs"],
haXe: ["hx"],
HTML: ["html|htm|xhtml"],
HTML_Ruby: ["erb|rhtml|html.erb"],
HTML_Elixir: ["eex|html.eex"],
HTML_Ruby: ["erb|rhtml|html.erb"],
INI: ["ini|conf|cfg|prefs"],
Io: ["io"],
Jack: ["jack"],
@ -120,12 +121,13 @@ var supportedModes = {
MUSHCode: ["mc|mush"],
MySQL: ["mysql"],
Nix: ["nix"],
NSIS: ["nsi|nsh"],
ObjectiveC: ["m|mm"],
OCaml: ["ml|mli"],
Pascal: ["pas|p"],
Perl: ["pl|pm"],
pgSQL: ["pgsql"],
PHP: ["php|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp"],
PHP: ["php|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
Powershell: ["ps1"],
Praat: ["praat|praatscript|psc|proc"],
Prolog: ["plg|prolog"],
@ -165,6 +167,7 @@ var supportedModes = {
Velocity: ["vm"],
Verilog: ["v|vh|sv|svh"],
VHDL: ["vhd|vhdl"],
Wollok: ["wlk|wpgm|wtest"],
XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],
XQuery: ["xq"],
YAML: ["yaml|yml"],

33
node_modules/ace/lib/ace/keyboard/vim.js wygenerowano vendored
Wyświetl plik

@ -1091,12 +1091,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
// Keypress character binding of format "'a'"
return key.charAt(1);
}
var pieces = key.split('-');
if (/-$/.test(key)) {
// If the - key was typed, split will result in 2 extra empty strings
// in the array. Replace them with 1 '-'.
pieces.splice(-2, 2, '-');
}
var pieces = key.split(/-(?!$)/);
var lastPiece = pieces[pieces.length - 1];
if (pieces.length == 1 && pieces[0].length == 1) {
// No-modifier bindings use literal character bindings above. Skip.
@ -2235,7 +2230,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
return;
}
if (motionArgs.toJumplist) {
if (!operator)
if (!operator && cm.ace.curOp != null)
cm.ace.curOp.command.scrollIntoView = "center-animate"; // ace_patch
var jumpList = vimGlobalState.jumpList;
// if the current motion is # or *, use cachedCursor
@ -2787,13 +2782,21 @@ dom.importCssString(".normal-mode .ace_cursor{\
text = text.slice(0, - match[0].length);
}
}
var wasLastLine = head.line - 1 == cm.lastLine();
cm.replaceRange('', anchor, head);
if (args.linewise && !wasLastLine) {
var prevLineEnd = new Pos(anchor.line - 1, Number.MAX_VALUE);
var wasLastLine = cm.firstLine() == cm.lastLine();
if (head.line > cm.lastLine() && args.linewise && !wasLastLine) {
cm.replaceRange('', prevLineEnd, head);
} else {
cm.replaceRange('', anchor, head);
}
if (args.linewise) {
// Push the next line back down, if there is a next line.
CodeMirror.commands.newlineAndIndent(cm);
// null ch so setCursor moves to end of line.
anchor.ch = null;
if (!wasLastLine) {
cm.setCursor(prevLineEnd);
CodeMirror.commands.newlineAndIndent(cm);
}
// make sure cursor ends up at the end of the line.
anchor.ch = Number.MAX_VALUE;
}
finalHead = anchor;
} else {
@ -4037,7 +4040,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
return cur;
}
/*
/**
* Returns the boundaries of the next word. If the cursor in the middle of
* the word, then returns the boundaries of the current word, starting at
* the cursor. If the cursor is at the start/end of a word, and we are going
@ -5135,7 +5138,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
if (decimal + hex + octal > 1) { return 'Invalid arguments'; }
number = decimal && 'decimal' || hex && 'hex' || octal && 'octal';
}
if (args.eatSpace() && args.match(/\/.*\//)) { 'patterns not supported'; }
if (args.match(/\/.*\//)) { return 'patterns not supported'; }
}
}
var err = parseArgs();

Wyświetl plik

@ -480,7 +480,6 @@ testVim('%_skip_string', function(cm, vim, helpers) {
helpers.doKeys(['%']);
helpers.assertCursorAt(0,0);
}, {value:'(")")'});
(')')
testVim('%_skip_comment', function(cm, vim, helpers) {
cm.setCursor(0,0);
helpers.doKeys(['%']);
@ -2239,9 +2238,18 @@ testVim('S_normal', function(cm, vim, helpers) {
cm.setCursor(0, 1);
helpers.doKeys('j', 'S');
helpers.doKeys('<Esc>');
helpers.assertCursorAt(1, 0);
eq('aa\n\ncc', cm.getValue());
}, { value: 'aa\nbb\ncc'});
helpers.assertCursorAt(1, 1);
eq('aa{\n \ncc', cm.getValue());
helpers.doKeys('j', 'S');
eq('aa{\n \n ', cm.getValue());
helpers.assertCursorAt(2, 2);
helpers.doKeys('<Esc>');
helpers.doKeys('d', 'd', 'd', 'd');
helpers.assertCursorAt(0, 0);
helpers.doKeys('S');
is(vim.insertMode);
eq('', cm.getValue());
}, { value: 'aa{\nbb\ncc'});
testVim('blockwise_paste', function(cm, vim, helpers) {
cm.setCursor(0, 0);
helpers.doKeys('<C-v>', '3', 'j', 'l', 'y');
@ -3219,8 +3227,7 @@ testVim('zt==z<CR>', function(cm, vim, helpers){
});
var moveTillCharacterSandbox =
'The quick brown fox \n'
'jumped over the lazy dog.'
'The quick brown fox \n';
testVim('moveTillCharacter', function(cm, vim, helpers){
cm.setCursor(0, 0);
// Search for the 'q'.
@ -3267,9 +3274,6 @@ testVim('searchForPipe', function(cm, vim, helpers){
var scrollMotionSandbox =
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n';
testVim('scrollMotion', function(cm, vim, helpers){
var prevCursor, prevScrollInfo;
@ -3490,6 +3494,14 @@ testVim('ex_sort_decimal_mixed_reverse', function(cm, vim, helpers) {
helpers.doEx('sort! d');
eq('a3\nb2\nc1\nz\ny', cm.getValue());
}, { value: 'a3\nz\nc1\ny\nb2'});
testVim('ex_sort_patterns_not_supported', function(cm, vim, helpers) {
var notified = false;
cm.openNotification = helpers.fakeOpenNotification(function(text) {
notified = /patterns not supported/.test(text);
});
helpers.doEx('sort /abc/');
is(notified, 'No notification.');
});
// test for :global command
testVim('ex_global', function(cm, vim, helpers) {
cm.setCursor(0, 0);

Wyświetl plik

@ -74,7 +74,7 @@ function checkModes() {
}
}
function generateTestData() {
function generateTestData(names, force) {
var docRoot = root + "/demo/kitchen-sink/docs";
var docs = fs.readdirSync(docRoot);
var specialDocs = fs.readdirSync(cwd);
@ -95,14 +95,32 @@ function generateTestData() {
else
modeName = {"txt": "text", cpp: "c_cpp"}[p[1]];
var filePath = "text_" + modeName + ".txt";
if (specialDocs.indexOf(filePath) == -1) {
filePath = docRoot + "/" + docName;
} else {
filePath = cwd + filePath;
if (names && names.length && names.indexOf(modeName) == -1)
return;
var outputPath = cwd + "tokens_" + modeName + ".json";
try {
var oldOutput = require(outputPath);
} catch(e) {}
if (oldOutput && !force) {
var oldText = oldOutput.map(function(x) {
if (x.length > 1 && typeof x[x.length - 1] == "string")
return x[x.length - 1];
return x.slice(1).map(function(tok) {
return tok[1];
}).join("");
}).join("\n");
}
var text = fs.readFileSync(filePath, "utf8");
var filePath = "text_" + modeName + ".txt";
if (specialDocs.indexOf(filePath) !== -1) {
filePath = cwd + filePath;
} else {
filePath = docRoot + "/" + docName;
// oldText = "";
}
var text = oldText ||fs.readFileSync(filePath, "utf8");
try {
var Mode = require("../" + modeName).Mode;
} catch(e) {
@ -129,7 +147,11 @@ function generateTestData() {
});
var jsonStr = "[[\n " + data.join("\n],[\n ") + "\n]]";
fs.writeFileSync(cwd + "tokens_" + modeName + ".json", jsonStr, "utf8");
if (oldOutput && JSON.stringify(JSON.parse(jsonStr)) == JSON.stringify(oldOutput))
return;
fs.writeFileSync(outputPath, jsonStr, "utf8");
});
}

Wyświetl plik

@ -87,9 +87,9 @@ foo.d =function(a, b)
foo.d =function(a, /*****/ d"string"
<div
z=<div {...this.props} x={1 + 2} y="z{
1
}e">
z=<div {...this.props} x={1 + 2} y="z{a}b&amp;" t={
1 + <a>{2}</a>
}>
1 <a> { ++x } </a>
</div>

Wyświetl plik

@ -156,7 +156,10 @@
["text"," "],
["identifier","prints"],
["paren.lparen","("],
["string","\"trace message\""],
["string.start","\""],
["string","trace message"],
["constant.language.escape","\\n"],
["string.end","\""],
["paren.rparen",")"],
["punctuation.operator",";"]
],[

Wyświetl plik

@ -608,7 +608,7 @@
["keyword.operator","<"],
["identifier","div"]
],[
["start","jsx_attr_qq","jsx_attr_qq","jsxAttributes","jsxAttributes","jsx",1],
["start","jsxAttributes","jsxAttributes","jsx",1],
["identifier","z"],
["keyword.operator","="],
["meta.tag.punctuation.tag-open.xml","<"],
@ -633,17 +633,33 @@
["text.tag-whitespace.xml"," "],
["entity.other.attribute-name.xml","y"],
["keyword.operator.attribute-equals.xml","="],
["string.attribute-value.xml","\"z"],
["string.attribute-value.xml","\"z{a}b"],
["constant.language.escape.reference.xml","&amp;"],
["string.attribute-value.xml","\""],
["text.tag-whitespace.xml"," "],
["entity.other.attribute-name.xml","t"],
["keyword.operator.attribute-equals.xml","="],
["paren.quasi.start","{"]
],[
["#tmp","no_regex","start","jsx_attr_qq","jsx_attr_qq","jsxAttributes","jsxAttributes","jsx",1],
["start","jsxAttributes","jsxAttributes","jsx",1],
["text"," "],
["constant.numeric","1"]
["constant.numeric","1"],
["text"," "],
["keyword.operator","+"],
["text"," "],
["meta.tag.punctuation.tag-open.xml","<"],
["meta.tag.tag-name.xml","a"],
["meta.tag.punctuation.tag-close.xml",">"],
["paren.quasi.start","{"],
["constant.numeric","2"],
["paren.quasi.end","}"],
["meta.tag.punctuation.end-tag-open.xml","</"],
["meta.tag.tag-name.xml","a"],
["meta.tag.punctuation.tag-close.xml",">"]
],[
["jsx",1],
["text"," "],
["paren.quasi.end","}"],
["string.attribute-value.xml","e\""],
["meta.tag.punctuation.tag-close.xml",">"]
],[
["jsx",1],

Wyświetl plik

@ -412,7 +412,9 @@
["text"," "],
["identifier","ProtocolFromString"],
["punctuation.operator",":"],
["string","\"NSTableViewDelegate\""],
["string.start","\""],
["string","NSTableViewDelegate"],
["string.end","\""],
["paren.rparen","))"]
],[
"start"
@ -469,7 +471,10 @@
["support.function.C99.c","printf"],
["paren.lparen","("],
["text"," "],
["string","\"hello world\\n\""],
["string.start","\""],
["string","hello world"],
["constant.language.escape","\\n"],
["string.end","\""],
["text"," "],
["paren.rparen",")"],
["punctuation.operator",";"]

Wyświetl plik

@ -46,6 +46,7 @@ var c_cppHighlightRules = function() {
}, "identifier");
var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\d\\$_\u00a1-\uffff]*\\b";
var escapeRe = /\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;
// regexp must not have capturing parentheses. Use (?:) instead.
// regexps are ordered -> the first match is used
@ -67,19 +68,27 @@ var c_cppHighlightRules = function() {
regex : "\\/\\*",
next : "comment"
}, {
token : "string", // single line
regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
token : "string", // character
regex : "'(?:" + escapeRe + "|.)'"
}, {
token : "string", // multi line string start
regex : '["].*\\\\$',
next : "qqstring"
token : "string.start",
regex : '"',
stateName: "qqstring",
next: [
{ token: "string", regex: /\\\s*$/, next: "qqstring" },
{ token: "constant.language.escape", regex: escapeRe },
{ token: "constant.language.escape", regex: /%[^'"\\]/ },
{ token: "string.end", regex: '"|$', next: "start" },
{ defaultToken: "string"}
]
}, {
token : "string", // single line
regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
}, {
token : "string", // multi line string start
regex : "['].*\\\\$",
next : "qstring"
token : "string.start",
regex : 'R"\\(',
stateName: "rawString",
next: [
{ token: "string.end", regex: '\\)"', next: "start" },
{ defaultToken: "string"}
]
}, {
token : "constant.numeric", // hex
regex : "0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"
@ -139,24 +148,6 @@ var c_cppHighlightRules = function() {
defaultToken: "comment"
}
],
"qqstring" : [
{
token : "string",
regex : '(?:(?:\\\\.)|(?:[^"\\\\]))*?"',
next : "start"
}, {
defaultToken : "string"
}
],
"qstring" : [
{
token : "string",
regex : "(?:(?:\\\\.)|(?:[^'\\\\]))*?'",
next : "start"
}, {
defaultToken : "string"
}
],
"directive" : [
{
token : "constant.other.multiline",
@ -192,6 +183,7 @@ var c_cppHighlightRules = function() {
this.embedRules(DocCommentHighlightRules, "doc-",
[ DocCommentHighlightRules.getEndRule("start") ]);
this.normalizeRules();
};
oop.inherits(c_cppHighlightRules, TextHighlightRules);

Wyświetl plik

@ -38,6 +38,12 @@ var CSharpHighlightRules = function() {
token : "string", start : '@"', end : '"', next:[
{token: "constant.language.escape", regex: '""'}
]
}, {
token : "string", start : /\$"/, end : '"|$', next: [
{token: "constant.language.escape", regex: /\\(:?$)|{{/},
{token: "constant.language.escape", regex: /\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n])/},
{token: "invalid", regex: /\\./}
]
}, {
token : "constant.numeric", // hex
regex : "0[xX][0-9a-fA-F]+\\b"

25
node_modules/ace/lib/ace/mode/gobstones.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,25 @@
define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var JavaScriptMode = require("./javascript").Mode;
var GobstonesHighlightRules = require("./gobstones_highlight_rules").GobstonesHighlightRules;
var Mode = function() {
JavaScriptMode.call(this);
this.HighlightRules = GobstonesHighlightRules;
};
oop.inherits(Mode, JavaScriptMode);
(function() {
this.createWorker = function(session) {
return null;
};
this.$id = "ace/mode/gobstones";
}).call(Mode.prototype);
exports.Mode = Mode;
});

Wyświetl plik

@ -0,0 +1,112 @@
define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var GobstonesHighlightRules = function() {
var keywords = (
"program|procedure|function|interactive|if|then|else|switch|repeat|while|foreach|in|not|div|mod|Skip|return"
);
var buildinConstants = (
"False|True"
);
var langClasses = (
"Poner|Sacar|Mover|IrAlBorde|VaciarTablero|" +
"nroBolitas|hayBolitas|puedeMover|siguiente|previo|opuesto|minBool|maxBool|" +
"minDir|maxDir|minColor|maxColor"
);
var supportType = (
"Verde|Rojo|Azul|Negro|Norte|Sur|Este|Oeste"
);
var keywordMapper = this.createKeywordMapper({
"keyword": keywords,
"constant.language": buildinConstants,
"support.function": langClasses,
"support.type": supportType
}, "identifier");
// regexp must not have capturing parentheses. Use (?:) instead.
// regexps are ordered -> the first match is used
this.$rules = {
"start" : [
{
token : "comment",
regex : "\\/\\/.*$"
},
{
token : "comment",
regex : "\\-\\-.*$"
},
{
token : "comment",
regex : "#.*$"
},
DocCommentHighlightRules.getStartRule("doc-start"),
{
token : "comment", // multi line comment
regex : "\\/\\*",
next : "comment"
}, {
token : "string", // single line
regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
}, {
token : "string", // single line
regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
}, {
token : "constant.numeric", // hex
regex : /0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/
}, {
token : "constant.numeric", // float
regex : /[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/
}, {
token : "constant.language.boolean",
regex : "(?:True|False)\\b"
}, {
token : "keyword.operator",
regex : ":=|\\.\\.|,|;|\\|\\||\\/\\/|\\+|\\-|\\^|\\*|>|<|>=|=>|==|&&"
}, {
token : keywordMapper,
// TODO: Unicode escape sequences
// TODO: Unicode identifiers
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, {
token : "lparen",
regex : "[[({]"
}, {
token : "rparen",
regex : "[\\])}]"
}, {
token : "text",
regex : "\\s+"
}
],
"comment" : [
{
token : "comment", // closing comment
regex : ".*?\\*\\/",
next : "start"
}, {
token : "comment", // comment spanning whole line
regex : ".+"
}
]
};
this.embedRules(DocCommentHighlightRules, "doc-",
[ DocCommentHighlightRules.getEndRule("start") ]);
};
oop.inherits(GobstonesHighlightRules, TextHighlightRules);
exports.GobstonesHighlightRules = GobstonesHighlightRules;
});

Wyświetl plik

@ -44,7 +44,7 @@ define(function(require, exports, module) {
regex : /"(?:[^"\\]|\\.)*?"/
}, {
token : "string", // raw
regex : '[`](?:[^`]*)$',
regex : '`',
next : "bqstring"
}, {
token : "constant.numeric", // rune

Wyświetl plik

@ -341,12 +341,12 @@ var HtmlCompletions = function() {
};
this.getHTMLEntityCompletions = function(state, session, pos, prefix) {
var values = ['&Aacute;', '&aacute;', '&Acirc;', '&acirc;', '&acute;', '&AElig;', '&aelig;', '&Agrave;', '&agrave;', '&alefsym;', '&Alpha;', '&alpha;', '&amp;', '&and;', '&ang;', '&Aring;', '&aring;', '&asymp;', '&Atilde;', '&atilde;', '&Auml;', '&auml;', '&bdquo;', '&Beta;', '&beta;', '&brvbar;', '&bull;', '&cap;', '&Ccedil;', '&ccedil;', '&cedil;', '&cent;', '&Chi;', '&chi;', '&circ;', '&clubs;', '&cong;', '&copy;', '&crarr;', '&cup;', '&curren;', '&Dagger;', '&dagger;', '&dArr;', '&darr;', '&deg;', '&Delta;', '&delta;', '&diams;', '&divide;', '&Eacute;', '&eacute;', '&Ecirc;', '&ecirc;', '&Egrave;', '&egrave;', '&empty;', '&emsp;', '&ensp;', '&Epsilon;', '&epsilon;', '&equiv;', '&Eta;', '&eta;', '&ETH;', '&eth;', '&Euml;', '&euml;', '&euro;', '&exist;', '&fnof;', '&forall;', '&frac12;', '&frac14;', '&frac34;', '&frasl;', '&Gamma;', '&gamma;', '&ge;', '&gt;', '&hArr;', '&harr;', '&hearts;', '&hellip;', '&Iacute;', '&iacute;', '&Icirc;', '&icirc;', '&iexcl;', '&Igrave;', '&igrave;', '&image;', '&infin;', '&int;', '&Iota;', '&iota;', '&iquest;', '&isin;', '&Iuml;', '&iuml;', '&Kappa;', '&kappa;', '&Lambda;', '&lambda;', '&lang;', '&laquo;', '&lArr;', '&larr;', '&lceil;', '&ldquo;', '&le;', '&lfloor;', '&lowast;', '&loz;', '&lrm;', '&lsaquo;', '&lsquo;', '&lt;', '&macr;', '&mdash;', '&micro;', '&middot;', '&minus;', '&Mu;', '&mu;', '&nabla;', '&nbsp;', '&ndash;', '&ne;', '&ni;', '&not;', '&notin;', '&nsub;', '&Ntilde;', '&ntilde;', '&Nu;', '&nu;', '&Oacute;', '&oacute;', '&Ocirc;', '&ocirc;', '&OElig;', '&oelig;', '&Ograve;', '&ograve;', '&oline;', '&Omega;', '&omega;', '&Omicron;', '&omicron;', '&oplus;', '&or;', '&ordf;', '&ordm;', '&Oslash;', '&oslash;', '&Otilde;', '&otilde;', '&otimes;', '&Ouml;', '&ouml;', '&para;', '&part;', '&permil;', '&perp;', '&Phi;', '&phi;', '&Pi;', '&pi;', '&piv;', '&plusmn;', '&pound;', '&Prime;', '&prime;', '&prod;', '&prop;', '&Psi;', '&psi;', '&quot;', '&radic;', '&rang;', '&raquo;', '&rArr;', '&rarr;', '&rceil;', '&rdquo;', '&real;', '&reg;', '&rfloor;', '&Rho;', '&rho;', '&rlm;', '&rsaquo;', '&rsquo;', '&sbquo;', '&Scaron;', '&scaron;', '&sdot;', '&sect;', '&shy;', '&Sigma;', '&sigma;', '&sigmaf;', '&sim;', '&spades;', '&sub;', '&sube;', '&sum;', '&sup;', '&sup1;', '&sup2;', '&sup3;', '&supe;', '&szlig;', '&Tau;', '&tau;', '&there4;', '&Theta;', '&theta;', '&thetasym;', '&thinsp;', '&THORN;', '&thorn;', '&tilde;', '&times;', '&trade;', '&Uacute;', '&uacute;', '&uArr;', '&uarr;', '&Ucirc;', '&ucirc;', '&Ugrave;', '&ugrave;', '&uml;', '&upsih;', '&Upsilon;', '&upsilon;', '&Uuml;', '&uuml;', '&weierp;', '&Xi;', '&xi;', '&Yacute;', '&yacute;', '&yen;', '&Yuml;', '&yuml;', '&Zeta;', '&zeta;', '&zwj;', '&zwnj;'];
var values = ['Aacute;', 'aacute;', 'Acirc;', 'acirc;', 'acute;', 'AElig;', 'aelig;', 'Agrave;', 'agrave;', 'alefsym;', 'Alpha;', 'alpha;', 'amp;', 'and;', 'ang;', 'Aring;', 'aring;', 'asymp;', 'Atilde;', 'atilde;', 'Auml;', 'auml;', 'bdquo;', 'Beta;', 'beta;', 'brvbar;', 'bull;', 'cap;', 'Ccedil;', 'ccedil;', 'cedil;', 'cent;', 'Chi;', 'chi;', 'circ;', 'clubs;', 'cong;', 'copy;', 'crarr;', 'cup;', 'curren;', 'Dagger;', 'dagger;', 'dArr;', 'darr;', 'deg;', 'Delta;', 'delta;', 'diams;', 'divide;', 'Eacute;', 'eacute;', 'Ecirc;', 'ecirc;', 'Egrave;', 'egrave;', 'empty;', 'emsp;', 'ensp;', 'Epsilon;', 'epsilon;', 'equiv;', 'Eta;', 'eta;', 'ETH;', 'eth;', 'Euml;', 'euml;', 'euro;', 'exist;', 'fnof;', 'forall;', 'frac12;', 'frac14;', 'frac34;', 'frasl;', 'Gamma;', 'gamma;', 'ge;', 'gt;', 'hArr;', 'harr;', 'hearts;', 'hellip;', 'Iacute;', 'iacute;', 'Icirc;', 'icirc;', 'iexcl;', 'Igrave;', 'igrave;', 'image;', 'infin;', 'int;', 'Iota;', 'iota;', 'iquest;', 'isin;', 'Iuml;', 'iuml;', 'Kappa;', 'kappa;', 'Lambda;', 'lambda;', 'lang;', 'laquo;', 'lArr;', 'larr;', 'lceil;', 'ldquo;', 'le;', 'lfloor;', 'lowast;', 'loz;', 'lrm;', 'lsaquo;', 'lsquo;', 'lt;', 'macr;', 'mdash;', 'micro;', 'middot;', 'minus;', 'Mu;', 'mu;', 'nabla;', 'nbsp;', 'ndash;', 'ne;', 'ni;', 'not;', 'notin;', 'nsub;', 'Ntilde;', 'ntilde;', 'Nu;', 'nu;', 'Oacute;', 'oacute;', 'Ocirc;', 'ocirc;', 'OElig;', 'oelig;', 'Ograve;', 'ograve;', 'oline;', 'Omega;', 'omega;', 'Omicron;', 'omicron;', 'oplus;', 'or;', 'ordf;', 'ordm;', 'Oslash;', 'oslash;', 'Otilde;', 'otilde;', 'otimes;', 'Ouml;', 'ouml;', 'para;', 'part;', 'permil;', 'perp;', 'Phi;', 'phi;', 'Pi;', 'pi;', 'piv;', 'plusmn;', 'pound;', 'Prime;', 'prime;', 'prod;', 'prop;', 'Psi;', 'psi;', 'quot;', 'radic;', 'rang;', 'raquo;', 'rArr;', 'rarr;', 'rceil;', 'rdquo;', 'real;', 'reg;', 'rfloor;', 'Rho;', 'rho;', 'rlm;', 'rsaquo;', 'rsquo;', 'sbquo;', 'Scaron;', 'scaron;', 'sdot;', 'sect;', 'shy;', 'Sigma;', 'sigma;', 'sigmaf;', 'sim;', 'spades;', 'sub;', 'sube;', 'sum;', 'sup;', 'sup1;', 'sup2;', 'sup3;', 'supe;', 'szlig;', 'Tau;', 'tau;', 'there4;', 'Theta;', 'theta;', 'thetasym;', 'thinsp;', 'THORN;', 'thorn;', 'tilde;', 'times;', 'trade;', 'Uacute;', 'uacute;', 'uArr;', 'uarr;', 'Ucirc;', 'ucirc;', 'Ugrave;', 'ugrave;', 'uml;', 'upsih;', 'Upsilon;', 'upsilon;', 'Uuml;', 'uuml;', 'weierp;', 'Xi;', 'xi;', 'Yacute;', 'yacute;', 'yen;', 'Yuml;', 'yuml;', 'Zeta;', 'zeta;', 'zwj;', 'zwnj;'];
return values.map(function(value){
return {
caption: value,
snippet: value.substr(1),
snippet: value,
meta: "html entity",
score: Number.MAX_VALUE
};

Wyświetl plik

@ -80,10 +80,6 @@ var JadeHighlightRules = function() {
token: "keyword.other.doctype.jade",
regex: "^!!!\\s*(?:[a-zA-Z0-9-_]+)?"
},
{
token : "punctuation.section.comment",
regex : "^\\s*\/\/(?:\\s*[^-\\s]|\\s+\\S)(?:.*$)"
},
{
onMatch: function(value, currentState, stack) {
stack.unshift(this.next, value.length - 2, currentState);
@ -156,8 +152,13 @@ var JadeHighlightRules = function() {
}
],
"comment_block": [
{regex: /^\s*/, onMatch: function(value, currentState, stack) {
{regex: /^\s*(?:\/\/)?/, onMatch: function(value, currentState, stack) {
if (value.length <= stack[1]) {
if (value.slice(-1) == "/") {
stack[1] = value.length - 2;
this.next = "";
return "comment";
}
stack.shift();
stack.shift();
this.next = stack.shift();

Wyświetl plik

@ -475,7 +475,6 @@ function JSX() {
stateName : "jsx_attr_q",
push : [
{token : "string.attribute-value.xml", regex: "'", next: "pop"},
jsxJsRule,
{include : "reference"},
{defaultToken : "string.attribute-value.xml"}
]
@ -484,7 +483,6 @@ function JSX() {
regex : '"',
stateName : "jsx_attr_qq",
push : [
jsxJsRule,
{token : "string.attribute-value.xml", regex: '"', next: "pop"},
{include : "reference"},
{defaultToken : "string.attribute-value.xml"}

57
node_modules/ace/lib/ace/mode/nsis.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,57 @@
/* ***** 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.
*
* ***** 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 NSISHighlightRules = require("./nsis_highlight_rules").NSISHighlightRules;
// TODO: pick appropriate fold mode
var FoldMode = require("./folding/cstyle").FoldMode;
var Mode = function() {
this.HighlightRules = NSISHighlightRules;
this.foldingRules = new FoldMode();
};
oop.inherits(Mode, TextMode);
(function() {
this.lineCommentStart = [";", "#"];
this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/nsis";
}).call(Mode.prototype);
exports.Mode = Mode;
});

Wyświetl plik

@ -0,0 +1,173 @@
/* ***** 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.
*
* ***** END LICENSE BLOCK ***** */
define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var NSISHighlightRules = function() {
// regexp must not have capturing parentheses. Use (?:) instead.
// regexps are ordered -> the first match is used
this.$rules = {
start: [{
token: "keyword.compiler.nsis",
regex: /(?:\b|^\s*)\!(?:include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace)\b/,
caseInsensitive: true
}, {
token: "keyword.command.nsis",
regex: /(?:\b|^\s*)(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetPluginUnload|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegStr|WriteUninstaller|XPStyle)\b/,
caseInsensitive: true
}, {
token: "keyword.control.nsis",
regex: /(?:\b|^\s*)\!(?:ifdef|ifndef|if|ifmacrodef|ifmacrondef|else|endif)\b/,
caseInsensitive: true
}, {
token: "keyword.plugin.nsis",
regex: /(?:\b|^\s*)\w+\:\:\w+/,
caseInsensitive: true
}, {
token: "keyword.operator.comparison.nsis",
regex: /[!<>]?=|<>|<|>/
}, {
token: "support.function.nsis",
regex: /(?:\b|^\s*)(?:Function|FunctionEnd|Section|SectionEnd|SectionGroup|SectionGroupEnd|SubSection|SubSectionEnd|PageEx|PageExEnd)\b/,
caseInsensitive: true
}, {
token: "support.library.nsis",
regex: /\${[\w]+}/
}, {
token: "constant.nsis",
regex: /(?:\b|^\s*)(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/,
caseInsensitive: true
}, {
token: "constant.library.nsis",
regex: /\${(?:AtLeastServicePack|AtLeastWin7|AtLeastWin8|AtLeastWin10|AtLeastWin95|AtLeastWin98|AtLeastWin2000|AtLeastWin2003|AtLeastWin2008|AtLeastWin2008R2|AtLeastWinME|AtLeastWinNT4|AtLeastWinVista|AtLeastWinXP|AtMostServicePack|AtMostWin7|AtMostWin8|AtMostWin10|AtMostWin95|AtMostWin98|AtMostWin2000|AtMostWin2003|AtMostWin2008|AtMostWin2008R2|AtMostWinME|AtMostWinNT4|AtMostWinVista|AtMostWinXP|IsNT|IsServer|IsServicePack|IsWin7|IsWin8|IsWin10|IsWin95|IsWin98|IsWin2000|IsWin2003|IsWin2008|IsWin2008R2|IsWinME|IsWinNT4|IsWinVista|IsWinXP)}/
}, {
token: "constant.language.boolean.true.nsis",
regex: /\b(?:true|on)\b/
}, {
token: "constant.language.boolean.false.nsis",
regex: /\b(?:false|off)\b/
}, {
token: "constant.language.option.nsis",
regex: /(?:\b|^\s*)(?:(?:un\.)?components|(?:un\.)?custom|(?:un\.)?directory|(?:un\.)?instfiles|(?:un\.)?license|uninstConfirm|admin|all|auto|both|bottom|bzip2|current|force|hide|highest|ifdiff|ifnewer|lastused|leave|left|listonly|lzma|nevershow|none|normal|notset|right|show|silent|silentlog|textonly|top|try|user|Win10|Win7|Win8|WinVista|zlib)\b/,
caseInsensitive: true
}, {
token: "constant.language.slash-option.nsis",
regex: /\/(?:a|BRANDING|CENTER|COMPONENTSONLYONCUSTOM|CUSTOMSTRING\=|date|e|ENABLECANCEL|FILESONLY|file|FINAL|GLOBAL|gray|ifempty|ifndef|ignorecase|IMGID\=|ITALIC|LANG\=|NOCUSTOM|noerrors|NONFATAL|nonfatal|oname\=|o|REBOOTOK|redef|RESIZETOFIT|r|SHORT|SILENT|SOLID|STRIKE|TRIM|UNDERLINE|utcdate|windows|x)\b/,
caseInsensitive: true
}, {
token: "constant.numeric.nsis",
regex: /\b(?:0(?:x|X)[0-9a-fA-F]+|[0-9]+(?:\.[0-9]+)?)\b/
}, {
token: "entity.name.function.nsis",
regex: /\${[\w]+}/
}, {
token: "storage.type.function.nsis",
regex: /\$[\w]+/
}, {
token: "punctuation.definition.string.begin.nsis",
regex: /`/,
push: [{
token: "punctuation.definition.string.end.nsis",
regex: /`/,
next: "pop"
}, {
token: "constant.character.escape.nsis",
regex: /\$\\./
}, {
defaultToken: "string.quoted.back.nsis"
}]
}, {
token: "punctuation.definition.string.begin.nsis",
regex: /"/,
push: [{
token: "punctuation.definition.string.end.nsis",
regex: /"/,
next: "pop"
}, {
token: "constant.character.escape.nsis",
regex: /\$\\./
}, {
defaultToken: "string.quoted.double.nsis"
}]
}, {
token: "punctuation.definition.string.begin.nsis",
regex: /'/,
push: [{
token: "punctuation.definition.string.end.nsis",
regex: /'/,
next: "pop"
}, {
token: "constant.character.escape.nsis",
regex: /\$\\./
}, {
defaultToken: "string.quoted.single.nsis"
}]
}, {
token: [
"punctuation.definition.comment.nsis",
"comment.line.nsis"
],
regex: /(;|#)(.*$)/
}, {
token: "punctuation.definition.comment.nsis",
regex: /\/\*/,
push: [{
token: "punctuation.definition.comment.nsis",
regex: /\*\//,
next: "pop"
}, {
defaultToken: "comment.block.nsis"
}]
}, {
token: "text",
regex: /(?:\!include|\!insertmacro)\b/
}]
};
this.normalizeRules();
};
NSISHighlightRules.metaData = {
comment: "\n\ttodo: - highlight functions\n\t",
fileTypes: ["nsi", "nsh"],
name: "NSIS",
scopeName: "source.nsis"
};
oop.inherits(NSISHighlightRules, TextHighlightRules);
exports.NSISHighlightRules = NSISHighlightRules;
});

25
node_modules/ace/lib/ace/mode/wollok.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,25 @@
define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var JavaScriptMode = require("./javascript").Mode;
var WollokHighlightRules = require("./wollok_highlight_rules").WollokHighlightRules;
var Mode = function() {
JavaScriptMode.call(this);
this.HighlightRules = WollokHighlightRules;
};
oop.inherits(Mode, JavaScriptMode);
(function() {
this.createWorker = function(session) {
return null;
};
this.$id = "ace/mode/wollok";
}).call(Mode.prototype);
exports.Mode = Mode;
});

Wyświetl plik

@ -0,0 +1,97 @@
define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var WollokHighlightRules = function() {
// taken from http://download.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
var keywords = (
"test|package|inherits|false|import|else|or|class|and|not|native|override|program|this|try|val|var|catch|object|super|throw|if|null|return|true|new|method"
);
var buildinConstants = ("null|assert|console");
var langClasses = (
"Object|Pair|String|Boolean|Number|Integer|Double|Collection|Set|List|Exception|Range" +
"|StackTraceElement"
);
var keywordMapper = this.createKeywordMapper({
"variable.language": "this",
"keyword": keywords,
"constant.language": buildinConstants,
"support.function": langClasses
}, "identifier");
// regexp must not have capturing parentheses. Use (?:) instead.
// regexps are ordered -> the first match is used
this.$rules = {
"start" : [
{
token : "comment",
regex : "\\/\\/.*$"
},
DocCommentHighlightRules.getStartRule("doc-start"),
{
token : "comment", // multi line comment
regex : "\\/\\*",
next : "comment"
}, {
token : "string", // single line
regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
}, {
token : "string", // single line
regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
}, {
token : "constant.numeric", // hex
regex : /0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/
}, {
token : "constant.numeric", // float
regex : /[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/
}, {
token : "constant.language.boolean",
regex : "(?:true|false)\\b"
}, {
token : keywordMapper,
// TODO: Unicode escape sequences
// TODO: Unicode identifiers
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, {
token : "keyword.operator",
regex : "===|&&|\\*=|\\.\\.|\\*\\*|#|!|%|\\*|\\?:|\\+|\\/|,|\\+=|\\-|\\.\\.<|!==|:|\\/=|\\?\\.|\\+\\+|>|=|<|>=|=>|==|\\]|\\[|\\-=|\\->|\\||\\-\\-|<>|!=|%=|\\|"
}, {
token : "lparen",
regex : "[[({]"
}, {
token : "rparen",
regex : "[\\])}]"
}, {
token : "text",
regex : "\\s+"
}
],
"comment" : [
{
token : "comment", // closing comment
regex : ".*?\\*\\/",
next : "start"
}, {
token : "comment", // comment spanning whole line
regex : ".+"
}
]
};
this.embedRules(DocCommentHighlightRules, "doc-",
[ DocCommentHighlightRules.getEndRule("start") ]);
};
oop.inherits(WollokHighlightRules, TextHighlightRules);
exports.WollokHighlightRules = WollokHighlightRules;
});

7
node_modules/ace/lib/ace/snippets/gobstones.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,7 @@
define(function(require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./gobstones.snippets");
exports.scope = "gobstones";
});

Wyświetl plik

@ -0,0 +1,34 @@
# Procedure
snippet proc
procedure ${1?:name}(${2:argument}) {
${3:// body...}
}
# Function
snippet fun
function ${1?:name}(${2:argument}) {
return ${3:// body...}
}
# Repeat
snippet rep
repeat ${1?:times} {
${2:// body...}
}
# For
snippet for
foreach ${1?:e} in ${2?:list} {
${3:// body...}
}
# If
snippet if
if (${1?:condition}) {
${3:// body...}
}
# While
while (${1?:condition}) {
${2:// body...}
}

7
node_modules/ace/lib/ace/snippets/html_elixir.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,7 @@
define(function(require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./html_elixir.snippets");
exports.scope = "html_elixir";
});

Wyświetl plik

7
node_modules/ace/lib/ace/snippets/mask.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,7 @@
define(function (require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./mask.snippets");
exports.scope = "mask";
});

0
node_modules/ace/lib/ace/snippets/mask.snippets wygenerowano vendored 100644
Wyświetl plik

7
node_modules/ace/lib/ace/snippets/nsis.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,7 @@
define(function(require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./.snippets");
exports.scope = "";
});

7
node_modules/ace/lib/ace/snippets/swift.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,7 @@
define(function (require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./swift.snippets");
exports.scope = "swift";
});

0
node_modules/ace/lib/ace/snippets/swift.snippets wygenerowano vendored 100644
Wyświetl plik

7
node_modules/ace/lib/ace/snippets/swig.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,7 @@
define(function (require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./swig.snippets");
exports.scope = "swig";
});

0
node_modules/ace/lib/ace/snippets/swig.snippets wygenerowano vendored 100644
Wyświetl plik

7
node_modules/ace/lib/ace/snippets/wollok.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,7 @@
define(function(require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./wollok.snippets");
exports.scope = "wollok";
});

85
node_modules/ace/lib/ace/snippets/wollok.snippets wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,85 @@
##
## Basic Java packages and import
snippet im
import
snippet w.l
wollok.lang
snippet w.i
wollok.lib
## Class and object
snippet cl
class ${1:`Filename("", "untitled")`} ${2}
snippet obj
object ${1:`Filename("", "untitled")`} ${2:inherits Parent}${3}
snippet te
test ${1:`Filename("", "untitled")`}
##
## Enhancements
snippet inh
inherits
##
## Comments
snippet /*
/*
* ${1}
*/
##
## Control Statements
snippet el
else
snippet if
if (${1}) ${2}
##
## Create a Method
snippet m
method ${1:method}(${2}) ${5}
##
## Tests
snippet as
assert.equals(${1:expected}, ${2:actual})
##
## Exceptions
snippet ca
catch ${1:e} : (${2:Exception} ) ${3}
snippet thr
throw
snippet try
try {
${3}
} catch ${1:e} : ${2:Exception} {
}
##
## Javadocs
snippet /**
/**
* ${1}
*/
##
## Print Methods
snippet print
console.println("${1:Message}")
##
## Setter and Getter Methods
snippet set
method set${1:}(${2:}) {
$1 = $2
}
snippet get
method get${1:}() {
return ${1:};
}
##
## Terminate Methods or Loops
snippet re
return