Merge remote-tracking branch 'remotes/origin/master' into v-1.2
Conflicts: build lib/ace/document.js
This commit is contained in:
commit
ec97ad7904
97 changed files with 4349 additions and 3474 deletions
|
|
@ -1,3 +1,15 @@
|
||||||
|
2014.03.08 Version 1.1.3
|
||||||
|
|
||||||
|
* New Features
|
||||||
|
- Allow syntax checkers to be loaded from CDN (Derk-Jan Hartman)
|
||||||
|
- Add ColdFusion behavior (Abram Adams)
|
||||||
|
- add showLineNumbers option
|
||||||
|
- Add html syntax checker (danyaPostfactum)
|
||||||
|
|
||||||
|
* new language modes
|
||||||
|
- Gherkin (Patrick Nevels)
|
||||||
|
- Smarty
|
||||||
|
|
||||||
2013.12.02 Version 1.1.2
|
2013.12.02 Version 1.1.2
|
||||||
|
|
||||||
* New Features
|
* New Features
|
||||||
|
|
@ -11,7 +23,6 @@
|
||||||
- add support for autocompletion and snippets (gjtorikyan danyaPostfactum and others)
|
- add support for autocompletion and snippets (gjtorikyan danyaPostfactum and others)
|
||||||
- add option to merge similar changes in undo history
|
- add option to merge similar changes in undo history
|
||||||
- add scrollPastEnd option
|
- add scrollPastEnd option
|
||||||
- 6a87d97 Merge pull request #1494 from danyaPostfactum/snippetcompleter
|
|
||||||
- use html5 dragndrop for text dragging (danyaPostfactum)
|
- use html5 dragndrop for text dragging (danyaPostfactum)
|
||||||
|
|
||||||
* API Changes
|
* API Changes
|
||||||
|
|
|
||||||
|
|
@ -294,26 +294,29 @@ function getWriteFilters(options, projectType, main) {
|
||||||
if (options.noconflict)
|
if (options.noconflict)
|
||||||
filters.push(namespace(options.ns));
|
filters.push(namespace(options.ns));
|
||||||
|
|
||||||
|
if (options.exportModule && projectType == "main" || projectType == "ext") {
|
||||||
|
filters.push(exportAce(options.ns, options.exportModule,
|
||||||
|
options.noconflict ? options.ns : "", projectType == "ext" && main));
|
||||||
|
}
|
||||||
|
|
||||||
if (options.compress)
|
if (options.compress)
|
||||||
filters.push(copy.filter.uglifyjs);
|
filters.push(copy.filter.uglifyjs);
|
||||||
|
|
||||||
// copy.filter.uglifyjs.options.ascii = true; doesn't work with some uglify.js versions
|
// copy.filter.uglifyjs.options.ascii_only = true; doesn't work with some uglify.js versions
|
||||||
filters.push(function(text) {
|
filters.push(function(text) {
|
||||||
var t1 = text.replace(/[\x80-\uffff]/g, function(c) {
|
var text = text.replace(/[\x00-\x08\x0b\x0c\x0e\x19\x80-\uffff]/g, function(c) {
|
||||||
c = c.charCodeAt(0).toString(16);
|
c = c.charCodeAt(0).toString(16);
|
||||||
|
if (c.length == 1)
|
||||||
|
return "\\x0" + c;
|
||||||
if (c.length == 2)
|
if (c.length == 2)
|
||||||
return "\\x" + c;
|
return "\\x" + c;
|
||||||
if (c.length == 3)
|
if (c.length == 3)
|
||||||
c = "0" + c;
|
return "\\u0" + c;
|
||||||
return "\\u" + c;
|
return "\\u" + c;
|
||||||
});
|
});
|
||||||
return text;
|
return text;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (options.exportModule && projectType == "main" || projectType == "ext") {
|
|
||||||
filters.push(exportAce(options.ns, options.exportModule,
|
|
||||||
options.noconflict ? options.ns : "", projectType == "ext" && main));
|
|
||||||
}
|
|
||||||
return filters;
|
return filters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -550,15 +553,6 @@ var detectTextModules = function(input, source) {
|
||||||
detectTextModules.onRead = true;
|
detectTextModules.onRead = true;
|
||||||
copy.filter.addDefines = detectTextModules;
|
copy.filter.addDefines = detectTextModules;
|
||||||
|
|
||||||
function generateThemesModule(themes) {
|
|
||||||
var themelist = [
|
|
||||||
'define(function(require, exports, module) {',
|
|
||||||
'\n\nmodule.exports.themes = ' + JSON.stringify(themes, null, ' '),
|
|
||||||
';\n\n});'
|
|
||||||
].join('');
|
|
||||||
fs.writeFileSync(__dirname + '/lib/ace/ext/themelist_utils/themes.js', themelist, 'utf8');
|
|
||||||
}
|
|
||||||
|
|
||||||
function inlineTextModules(text) {
|
function inlineTextModules(text) {
|
||||||
var deps = [];
|
var deps = [];
|
||||||
return text.replace(/, *['"]ace\/requirejs\/text!(.*?)['"]| require\(['"](?:ace|[.\/]+)\/requirejs\/text!(.*?)['"]\)/g, function(_, dep, call) {
|
return text.replace(/, *['"]ace\/requirejs\/text!(.*?)['"]| require\(['"](?:ace|[.\/]+)\/requirejs\/text!(.*?)['"]\)/g, function(_, dep, call) {
|
||||||
|
|
@ -574,14 +568,38 @@ function inlineTextModules(text) {
|
||||||
});
|
});
|
||||||
|
|
||||||
call = textModules[dep];
|
call = textModules[dep];
|
||||||
// if (deps.length > 1)
|
|
||||||
// console.log(call.length)
|
|
||||||
if (call)
|
if (call)
|
||||||
return " " + call;
|
return " " + call;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var CommonJsProject = copy.createCommonJsProject({roots:[]}).constructor;
|
||||||
|
CommonJsProject.prototype.getCurrentModules = function() {
|
||||||
|
function isDep(child, parent) {
|
||||||
|
if (!modules[parent])
|
||||||
|
return false;
|
||||||
|
var deps = modules[parent].deps;
|
||||||
|
if (deps[child]) return true;
|
||||||
|
return Object.keys(deps).some(function(x) {
|
||||||
|
return isDep(child, x)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var depMap = {}, modules = this.currentModules;
|
||||||
|
return Object.keys(this.currentModules).map(function(moduleName) {
|
||||||
|
module = modules[moduleName];
|
||||||
|
module.id = moduleName;
|
||||||
|
module.isSpecial = !/define\(\'[^']*',/.test(module.source);
|
||||||
|
return module;
|
||||||
|
}).sort(function(a, b) {
|
||||||
|
if (a.isSpecial) return -1;
|
||||||
|
if (b.isSpecial) return 1;
|
||||||
|
if (isDep(a.id, b.id)) return -1;
|
||||||
|
if (isDep(b.id, a.id)) return 1;
|
||||||
|
return Object.keys(a.deps).length - Object.keys(b.deps).length || a.id.localeCompare(b.id)
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// TODO: replace with project.clone once it is fixed in dryice
|
// TODO: replace with project.clone once it is fixed in dryice
|
||||||
function cloneProject(project) {
|
function cloneProject(project) {
|
||||||
var clone = copy.createCommonJsProject({
|
var clone = copy.createCommonJsProject({
|
||||||
|
|
@ -602,16 +620,12 @@ function cloneProject(project) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyFileSync(srcFile, destFile) {
|
function copyFileSync(srcFile, destFile) {
|
||||||
var BUF_LENGTH = 64*1024,
|
var BUF_LENGTH = 64*1024;
|
||||||
buf = new Buffer(BUF_LENGTH),
|
var buf = new Buffer(BUF_LENGTH);
|
||||||
bytesRead = BUF_LENGTH,
|
var bytesRead = BUF_LENGTH;
|
||||||
pos = 0,
|
var pos = 0;
|
||||||
fdr = null,
|
var fdr = fs.openSync(srcFile, 'r');
|
||||||
fdw = null;
|
var fdw = fs.openSync(destFile, 'w');
|
||||||
|
|
||||||
|
|
||||||
fdr = fs.openSync(srcFile, 'r');
|
|
||||||
fdw = fs.openSync(destFile, 'w');
|
|
||||||
|
|
||||||
while (bytesRead === BUF_LENGTH) {
|
while (bytesRead === BUF_LENGTH) {
|
||||||
bytesRead = fs.readSync(fdr, buf, 0, BUF_LENGTH, pos);
|
bytesRead = fs.readSync(fdr, buf, 0, BUF_LENGTH, pos);
|
||||||
|
|
@ -652,13 +666,12 @@ function exportAce(ns, module, requireBase, extModule) {
|
||||||
requireBase = requireBase || "window";
|
requireBase = requireBase || "window";
|
||||||
module = module || "ace/ace";
|
module = module || "ace/ace";
|
||||||
return function(text) {
|
return function(text) {
|
||||||
|
|
||||||
var template = function() {
|
var template = function() {
|
||||||
(function() {
|
(function() {
|
||||||
REQUIRE_NS.require(["MODULE"], function(a) {
|
REQUIRE_NS.require(["MODULE"], function(a) {
|
||||||
a && a.config.init();
|
a && a.config.init(true);
|
||||||
if (!window.NS)
|
if (!window.NS)
|
||||||
window.NS = {};
|
window.NS = a;
|
||||||
for (var key in a) if (a.hasOwnProperty(key))
|
for (var key in a) if (a.hasOwnProperty(key))
|
||||||
NS[key] = a[key];
|
NS[key] = a[key];
|
||||||
});
|
});
|
||||||
|
|
@ -674,6 +687,8 @@ function exportAce(ns, module, requireBase, extModule) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
text = text.replace(/function init\(packaged\) {/, "init(true);$&\n");
|
||||||
|
|
||||||
return (text + ";" + template
|
return (text + ";" + template
|
||||||
.toString()
|
.toString()
|
||||||
.replace(/MODULE/g, module)
|
.replace(/MODULE/g, module)
|
||||||
|
|
@ -696,6 +711,15 @@ function updateModes() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function generateThemesModule(themes) {
|
||||||
|
var themelist = [
|
||||||
|
'define(function(require, exports, module) {',
|
||||||
|
'\n\nmodule.exports.themes = ' + JSON.stringify(themes, null, ' '),
|
||||||
|
';\n\n});'
|
||||||
|
].join('');
|
||||||
|
fs.writeFileSync(__dirname + '/lib/ace/ext/themelist_utils/themes.js', themelist, 'utf8');
|
||||||
|
}
|
||||||
|
|
||||||
if (!module.parent)
|
if (!module.parent)
|
||||||
main(process.argv);
|
main(process.argv);
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ Ace is a standalone code editor written in JavaScript. Our goal is to create a b
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
|
|
||||||
* Syntax highlighting for over 40 languages (TextMate/Sublime/_.tmlanguage_ files can be imported)
|
* Syntax highlighting for over 110 languages (TextMate/Sublime/_.tmlanguage_ files can be imported)
|
||||||
* Over 20 themes (TextMate/Sublime/_.tmtheme_ files can be imported)
|
* Over 20 themes (TextMate/Sublime/_.tmtheme_ files can be imported)
|
||||||
* Automatic indent and outdent
|
* Automatic indent and outdent
|
||||||
* An optional command line
|
* An optional command line
|
||||||
|
|
|
||||||
|
|
@ -592,7 +592,11 @@ env.editSnippets = function() {
|
||||||
require("ace/ext/language_tools");
|
require("ace/ext/language_tools");
|
||||||
env.editor.setOptions({
|
env.editor.setOptions({
|
||||||
enableBasicAutocompletion: true,
|
enableBasicAutocompletion: true,
|
||||||
|
enableLiveAutocomplete: true,
|
||||||
enableSnippets: true
|
enableSnippets: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var beautify = require("ace/ext/beautify");
|
||||||
|
env.editor.commands.addCommands(beautify.commands);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -34,3 +34,9 @@ print (add $ (int 1) (int 2))
|
||||||
|
|
||||||
print $ unwrap $
|
print $ unwrap $
|
||||||
map (a $ int 1) (b $ int 2)
|
map (a $ int 1) (b $ int 2)
|
||||||
|
|
||||||
|
print a
|
||||||
|
int 1
|
||||||
|
, b c
|
||||||
|
int 2
|
||||||
|
, d
|
||||||
28
demo/kitchen-sink/docs/gherkin.feature
Normal file
28
demo/kitchen-sink/docs/gherkin.feature
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
@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
|
||||||
|
If there is no coffee left then money should be refunded
|
||||||
|
|
||||||
|
Scenario Outline: Eating
|
||||||
|
Given there are <start> cucumbers
|
||||||
|
When I eat <eat> cucumbers
|
||||||
|
Then I should have <left> cucumbers
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
| start | eat | left |
|
||||||
|
| 12 | 5 | 7 |
|
||||||
|
| 20 | 5 | 15 |
|
||||||
|
|
||||||
|
Scenario: Buy last coffee
|
||||||
|
Given there are 1 coffees left in the machine
|
||||||
|
And I have deposited 1$
|
||||||
|
When I press the coffee button
|
||||||
|
Then I should be served a "coffee"
|
||||||
|
|
||||||
|
# this a comment
|
||||||
|
|
||||||
|
"""
|
||||||
|
this is a
|
||||||
|
pystring
|
||||||
|
"""
|
||||||
|
|
@ -8,7 +8,7 @@ integer someIntNormal = 3672;
|
||||||
integer someIntHex = 0x00000000;
|
integer someIntHex = 0x00000000;
|
||||||
integer someIntMath = PI_BY_TWO;
|
integer someIntMath = PI_BY_TWO;
|
||||||
|
|
||||||
integer event = 5673; // unimplemented reserved keyword!
|
integer event = 5673; // invalid.illegal
|
||||||
|
|
||||||
key someKeyTexture = TEXTURE_DEFAULT;
|
key someKeyTexture = TEXTURE_DEFAULT;
|
||||||
string someStringSpecial = EOF;
|
string someStringSpecial = EOF;
|
||||||
|
|
@ -53,12 +53,12 @@ default
|
||||||
someIntHex = 0x00000000;
|
someIntHex = 0x00000000;
|
||||||
someIntMath = PI_BY_TWO;
|
someIntMath = PI_BY_TWO;
|
||||||
|
|
||||||
event = 5673; // unimplemented reserved keyword!
|
event = 5673; // invalid.illegal
|
||||||
|
|
||||||
someKeyTexture = TEXTURE_DEFAULT;
|
someKeyTexture = TEXTURE_DEFAULT;
|
||||||
someStringSpecial = EOF;
|
someStringSpecial = EOF;
|
||||||
|
|
||||||
llCloud(ZERO_VECTOR); // invalid deprecated function!
|
llSetInventoryPermMask("some item", MASK_NEXT, PERM_ALL); // reserved.godmode
|
||||||
|
|
||||||
llWhisper(PUBLIC_CHANNEL, "Leaving \"default\" now...");
|
llWhisper(PUBLIC_CHANNEL, "Leaving \"default\" now...");
|
||||||
state other;
|
state other;
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ console.log(addResult);
|
||||||
</p>
|
</p>
|
||||||
<h2>Features</h2>
|
<h2>Features</h2>
|
||||||
<ul class="content-list">
|
<ul class="content-list">
|
||||||
<li><a href="http://pcwalton.blogspot.com/2010/11/syntax-highlighting-specification.html">Syntax highlighting</a> for over 60 languages (TextMate/Sublime Text<em>.tmlanguage</em> files can be imported)</li>
|
<li><a href="http://pcwalton.blogspot.com/2010/11/syntax-highlighting-specification.html">Syntax highlighting</a> for over 110 languages (TextMate/Sublime Text<em>.tmlanguage</em> files can be imported)</li>
|
||||||
<li>Over 20 themes (TextMate/Sublime Text <em>.tmtheme</em> files can be imported)</li>
|
<li>Over 20 themes (TextMate/Sublime Text <em>.tmtheme</em> files can be imported)</li>
|
||||||
<li>Automatic indent and outdent</li>
|
<li>Automatic indent and outdent</li>
|
||||||
<li>An optional command line</li>
|
<li>An optional command line</li>
|
||||||
|
|
@ -793,7 +793,7 @@ if (match) {
|
||||||
<a href="http://plnkr.co/edit/">Plunker</a>
|
<a href="http://plnkr.co/edit/">Plunker</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<img src="http://zedapp.org/content/images/2013/Nov/Icon-1.png" style="left: -1px;top: -20px;width: 103px;">
|
<img src="http://zedapp.s3.amazonaws.com/uploads/2014/02/zed-small.png" style="left: -1px;top: -20px;width: 103px;">
|
||||||
<a href="http://zedapp.org">Zed</a>
|
<a href="http://zedapp.org">Zed</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ var snippetManager = require("./snippets").snippetManager;
|
||||||
|
|
||||||
var Autocomplete = function() {
|
var Autocomplete = function() {
|
||||||
this.autoInsert = true;
|
this.autoInsert = true;
|
||||||
|
this.autoSelect = true;
|
||||||
this.keyboardHandler = new HashHandler();
|
this.keyboardHandler = new HashHandler();
|
||||||
this.keyboardHandler.bindKeys(this.commands);
|
this.keyboardHandler.bindKeys(this.commands);
|
||||||
|
|
||||||
|
|
@ -54,6 +55,8 @@ var Autocomplete = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
this.gatherCompletionsId = 0;
|
||||||
|
|
||||||
this.$init = function() {
|
this.$init = function() {
|
||||||
this.popup = new AcePopup(document.body || document.documentElement);
|
this.popup = new AcePopup(document.body || document.documentElement);
|
||||||
this.popup.on("click", function(e) {
|
this.popup.on("click", function(e) {
|
||||||
|
|
@ -69,8 +72,9 @@ var Autocomplete = function() {
|
||||||
this.popup.setData(this.completions.filtered);
|
this.popup.setData(this.completions.filtered);
|
||||||
|
|
||||||
var renderer = editor.renderer;
|
var renderer = editor.renderer;
|
||||||
|
this.popup.setRow(this.autoSelect ? 0 : -1);
|
||||||
if (!keepPopupPosition) {
|
if (!keepPopupPosition) {
|
||||||
this.popup.setRow(0);
|
this.popup.setTheme(editor.getTheme());
|
||||||
this.popup.setFontSize(editor.getFontSize());
|
this.popup.setFontSize(editor.getFontSize());
|
||||||
|
|
||||||
var lineHeight = renderer.layerConfig.lineHeight;
|
var lineHeight = renderer.layerConfig.lineHeight;
|
||||||
|
|
@ -95,6 +99,10 @@ var Autocomplete = function() {
|
||||||
this.editor.off("mousewheel", this.mousewheelListener);
|
this.editor.off("mousewheel", this.mousewheelListener);
|
||||||
this.changeTimer.cancel();
|
this.changeTimer.cancel();
|
||||||
|
|
||||||
|
if (this.popup && this.popup.isOpen) {
|
||||||
|
this.gatherCompletionsId = this.gatherCompletionsId + 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.popup)
|
if (this.popup)
|
||||||
this.popup.hide();
|
this.popup.hide();
|
||||||
|
|
||||||
|
|
@ -145,6 +153,7 @@ var Autocomplete = function() {
|
||||||
data = this.popup.getData(this.popup.getRow());
|
data = this.popup.getData(this.popup.getRow());
|
||||||
if (!data)
|
if (!data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (data.completer && data.completer.insertMatch) {
|
if (data.completer && data.completer.insertMatch) {
|
||||||
data.completer.insertMatch(this.editor);
|
data.completer.insertMatch(this.editor);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -171,7 +180,11 @@ var Autocomplete = function() {
|
||||||
|
|
||||||
"Esc": function(editor) { editor.completer.detach(); },
|
"Esc": function(editor) { editor.completer.detach(); },
|
||||||
"Space": function(editor) { editor.completer.detach(); editor.insert(" ");},
|
"Space": function(editor) { editor.completer.detach(); editor.insert(" ");},
|
||||||
"Return": function(editor) { editor.completer.insertMatch(); },
|
"Return": function(editor) {
|
||||||
|
if (editor.completer.popup.getRow() == -1)
|
||||||
|
return false;
|
||||||
|
editor.completer.insertMatch();
|
||||||
|
},
|
||||||
"Shift-Return": function(editor) { editor.completer.insertMatch(true); },
|
"Shift-Return": function(editor) { editor.completer.insertMatch(true); },
|
||||||
"Tab": function(editor) { editor.completer.insertMatch(); },
|
"Tab": function(editor) { editor.completer.insertMatch(); },
|
||||||
|
|
||||||
|
|
@ -190,16 +203,19 @@ var Autocomplete = function() {
|
||||||
this.base.column -= prefix.length;
|
this.base.column -= prefix.length;
|
||||||
|
|
||||||
var matches = [];
|
var matches = [];
|
||||||
util.parForEach(editor.completers, function(completer, next) {
|
var total = editor.completers.length;
|
||||||
|
editor.completers.forEach(function(completer, i) {
|
||||||
completer.getCompletions(editor, session, pos, prefix, function(err, results) {
|
completer.getCompletions(editor, session, pos, prefix, function(err, results) {
|
||||||
if (!err)
|
if (!err)
|
||||||
matches = matches.concat(results);
|
matches = matches.concat(results);
|
||||||
next();
|
// Fetch prefix again, because they may have changed by now
|
||||||
});
|
var pos = editor.getCursorPosition();
|
||||||
}, function() {
|
var line = session.getLine(pos.row);
|
||||||
callback(null, {
|
callback(null, {
|
||||||
prefix: prefix,
|
prefix: util.retrievePrecedingIdentifier(line, pos.column),
|
||||||
matches: matches
|
matches: matches,
|
||||||
|
finished: (--total === 0)
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -236,10 +252,30 @@ var Autocomplete = function() {
|
||||||
this.completions.setFilter(prefix);
|
this.completions.setFilter(prefix);
|
||||||
if (!this.completions.filtered.length)
|
if (!this.completions.filtered.length)
|
||||||
return this.detach();
|
return this.detach();
|
||||||
|
if (this.completions.filtered.length == 1
|
||||||
|
&& this.completions.filtered[0].value == prefix
|
||||||
|
&& !this.completions.filtered[0].snippet)
|
||||||
|
return this.detach();
|
||||||
this.openPopup(this.editor, prefix, keepPopupPosition);
|
this.openPopup(this.editor, prefix, keepPopupPosition);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Save current gatherCompletions session, session is close when a match is insert
|
||||||
|
var _id = this.gatherCompletionsId;
|
||||||
this.gatherCompletions(this.editor, function(err, results) {
|
this.gatherCompletions(this.editor, function(err, results) {
|
||||||
|
// Only detach if result gathering is finished
|
||||||
|
var doDetach = function() {
|
||||||
|
if (!results.finished) return;
|
||||||
|
return this.detach();
|
||||||
|
}.bind(this);
|
||||||
|
|
||||||
|
// Calcul prefix
|
||||||
|
var session = this.editor.getSession();
|
||||||
|
var pos = this.editor.getCursorPosition();
|
||||||
|
var line = session.getLine(pos.row);
|
||||||
|
var prefix = util.retrievePrecedingIdentifier(line, pos.column);
|
||||||
|
|
||||||
|
// Results matches
|
||||||
var matches = results && results.matches;
|
var matches = results && results.matches;
|
||||||
if (!matches || !matches.length)
|
if (!matches || !matches.length)
|
||||||
return this.detach();
|
return this.detach();
|
||||||
|
|
@ -247,14 +283,31 @@ var Autocomplete = function() {
|
||||||
// if (matches.length == 1)
|
// if (matches.length == 1)
|
||||||
// return this.insertMatch(matches[0]);
|
// return this.insertMatch(matches[0]);
|
||||||
|
|
||||||
|
// No prefix or no results -> close
|
||||||
|
if (!prefix || !prefix.length || !matches || !matches.length)
|
||||||
|
return doDetach();
|
||||||
|
|
||||||
|
// Wrong prefix or wrong session -> ignore
|
||||||
|
if (prefix.indexOf(results.prefix) != 0 || _id != this.gatherCompletionsId)
|
||||||
|
return;
|
||||||
|
|
||||||
this.completions = new FilteredList(matches);
|
this.completions = new FilteredList(matches);
|
||||||
this.completions.setFilter(results.prefix);
|
this.completions.setFilter(prefix);
|
||||||
var filtered = this.completions.filtered;
|
var filtered = this.completions.filtered;
|
||||||
|
|
||||||
|
// No results
|
||||||
if (!filtered.length)
|
if (!filtered.length)
|
||||||
return this.detach();
|
return doDetach();
|
||||||
|
|
||||||
|
// One result equals to the prefix
|
||||||
|
if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)
|
||||||
|
return doDetach();
|
||||||
|
|
||||||
|
// Autoinsert if one result
|
||||||
if (this.autoInsert && filtered.length == 1)
|
if (this.autoInsert && filtered.length == 1)
|
||||||
return this.insertMatch(filtered[0]);
|
return this.insertMatch(filtered[0]);
|
||||||
this.openPopup(this.editor, results.prefix, keepPopupPosition);
|
|
||||||
|
this.openPopup(this.editor, prefix, keepPopupPosition);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,8 +86,7 @@ var AcePopup = function(parentNode) {
|
||||||
|
|
||||||
popup.on("mousedown", function(e) {
|
popup.on("mousedown", function(e) {
|
||||||
var pos = e.getDocumentPosition();
|
var pos = e.getDocumentPosition();
|
||||||
popup.moveCursorToPosition(pos);
|
popup.selection.moveToPosition(pos);
|
||||||
popup.selection.clearSelection();
|
|
||||||
selectionMarker.start.row = selectionMarker.end.row = pos.row;
|
selectionMarker.start.row = selectionMarker.end.row = pos.row;
|
||||||
e.stop();
|
e.stop();
|
||||||
});
|
});
|
||||||
|
|
@ -291,19 +290,24 @@ var AcePopup = function(parentNode) {
|
||||||
};
|
};
|
||||||
|
|
||||||
dom.importCssString("\
|
dom.importCssString("\
|
||||||
.ace_autocomplete.ace-tm .ace_marker-layer .ace_active-line {\
|
.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\
|
||||||
background-color: #CAD6FA;\
|
background-color: #CAD6FA;\
|
||||||
z-index: 1;\
|
z-index: 1;\
|
||||||
}\
|
}\
|
||||||
.ace_autocomplete.ace-tm .ace_line-hover {\
|
.ace_editor.ace_autocomplete .ace_line-hover {\
|
||||||
border: 1px solid #abbffe;\
|
border: 1px solid #abbffe;\
|
||||||
margin-top: -1px;\
|
margin-top: -1px;\
|
||||||
background: rgba(233,233,253,0.4);\
|
background: rgba(233,233,253,0.4);\
|
||||||
}\
|
}\
|
||||||
.ace_autocomplete .ace_line-hover {\
|
.ace_editor.ace_autocomplete .ace_line-hover {\
|
||||||
position: absolute;\
|
position: absolute;\
|
||||||
z-index: 2;\
|
z-index: 2;\
|
||||||
}\
|
}\
|
||||||
|
.ace_editor.ace_autocomplete .ace_scroller {\
|
||||||
|
background: none;\
|
||||||
|
border: none;\
|
||||||
|
box-shadow: none;\
|
||||||
|
}\
|
||||||
.ace_rightAlignedText {\
|
.ace_rightAlignedText {\
|
||||||
color: gray;\
|
color: gray;\
|
||||||
display: inline-block;\
|
display: inline-block;\
|
||||||
|
|
@ -312,11 +316,11 @@ dom.importCssString("\
|
||||||
text-align: right;\
|
text-align: right;\
|
||||||
z-index: -1;\
|
z-index: -1;\
|
||||||
}\
|
}\
|
||||||
.ace_autocomplete .ace_completion-highlight{\
|
.ace_editor.ace_autocomplete .ace_completion-highlight{\
|
||||||
color: #000;\
|
color: #000;\
|
||||||
text-shadow: 0 0 0.01em;\
|
text-shadow: 0 0 0.01em;\
|
||||||
}\
|
}\
|
||||||
.ace_autocomplete {\
|
.ace_editor.ace_autocomplete {\
|
||||||
width: 280px;\
|
width: 280px;\
|
||||||
z-index: 200000;\
|
z-index: 200000;\
|
||||||
background: #fbfbfb;\
|
background: #fbfbfb;\
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
* ***** END LICENSE BLOCK ***** */
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
define(function(require, exports, module) {
|
define(function(require, exports, module) {
|
||||||
var Range = require("ace/range").Range;
|
var Range = require("../range").Range;
|
||||||
|
|
||||||
var splitRegex = /[^a-zA-Z_0-9\$\-]+/;
|
var splitRegex = /[^a-zA-Z_0-9\$\-]+/;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,14 +94,14 @@ exports.iSearchCommands = [{
|
||||||
}, {
|
}, {
|
||||||
name: "extendSearchTerm",
|
name: "extendSearchTerm",
|
||||||
exec: function(iSearch, string) {
|
exec: function(iSearch, string) {
|
||||||
iSearch.addChar(string);
|
iSearch.addString(string);
|
||||||
},
|
},
|
||||||
readOnly: true,
|
readOnly: true,
|
||||||
isIncrementalSearchCommand: true
|
isIncrementalSearchCommand: true
|
||||||
}, {
|
}, {
|
||||||
name: "extendSearchTermSpace",
|
name: "extendSearchTermSpace",
|
||||||
bindKey: "space",
|
bindKey: "space",
|
||||||
exec: function(iSearch) { iSearch.addChar(' '); },
|
exec: function(iSearch) { iSearch.addString(' '); },
|
||||||
readOnly: true,
|
readOnly: true,
|
||||||
isIncrementalSearchCommand: true
|
isIncrementalSearchCommand: true
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -134,6 +134,34 @@ exports.iSearchCommands = [{
|
||||||
},
|
},
|
||||||
readOnly: true,
|
readOnly: true,
|
||||||
isIncrementalSearchCommand: true
|
isIncrementalSearchCommand: true
|
||||||
|
}, {
|
||||||
|
name: "yankNextWord",
|
||||||
|
bindKey: "Ctrl-w",
|
||||||
|
exec: function(iSearch) {
|
||||||
|
var ed = iSearch.$editor,
|
||||||
|
range = ed.selection.getRangeOfMovements(function(sel) { sel.moveCursorWordRight(); }),
|
||||||
|
string = ed.session.getTextRange(range);
|
||||||
|
iSearch.addString(string);
|
||||||
|
},
|
||||||
|
readOnly: true,
|
||||||
|
isIncrementalSearchCommand: true
|
||||||
|
}, {
|
||||||
|
name: "yankNextChar",
|
||||||
|
bindKey: "Ctrl-Alt-y",
|
||||||
|
exec: function(iSearch) {
|
||||||
|
var ed = iSearch.$editor,
|
||||||
|
range = ed.selection.getRangeOfMovements(function(sel) { sel.moveCursorRight(); }),
|
||||||
|
string = ed.session.getTextRange(range);
|
||||||
|
iSearch.addString(string);
|
||||||
|
},
|
||||||
|
readOnly: true,
|
||||||
|
isIncrementalSearchCommand: true
|
||||||
|
}, {
|
||||||
|
name: 'recenterTopBottom',
|
||||||
|
bindKey: 'Ctrl-l',
|
||||||
|
exec: function(iSearch) { iSearch.$editor.execCommand('recenterTopBottom'); },
|
||||||
|
readOnly: true,
|
||||||
|
isIncrementalSearchCommand: true
|
||||||
}];
|
}];
|
||||||
|
|
||||||
function IncrementalSearchKeyboardHandler(iSearch) {
|
function IncrementalSearchKeyboardHandler(iSearch) {
|
||||||
|
|
@ -163,6 +191,8 @@ oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
|
||||||
|
|
||||||
var handleKeyboard$super = this.handleKeyboard;
|
var handleKeyboard$super = this.handleKeyboard;
|
||||||
this.handleKeyboard = function(data, hashId, key, keyCode) {
|
this.handleKeyboard = function(data, hashId, key, keyCode) {
|
||||||
|
if (((hashId === 1/*ctrl*/ || hashId === 8/*command*/) && key === 'v')
|
||||||
|
|| (hashId === 1/*ctrl*/ && key === 'y')) return null;
|
||||||
var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);
|
var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);
|
||||||
if (cmd.command) { return cmd; }
|
if (cmd.command) { return cmd; }
|
||||||
if (hashId == -1) {
|
if (hashId == -1) {
|
||||||
|
|
|
||||||
|
|
@ -144,8 +144,8 @@ exports.loadModule = function(moduleName, onLoad) {
|
||||||
|
|
||||||
|
|
||||||
// initialization
|
// initialization
|
||||||
exports.init = function() {
|
function init(packaged) {
|
||||||
options.packaged = require.packaged || module.packaged || (global.define && define.packaged);
|
options.packaged = packaged || require.packaged || module.packaged || (global.define && define.packaged);
|
||||||
|
|
||||||
if (!global.document)
|
if (!global.document)
|
||||||
return "";
|
return "";
|
||||||
|
|
@ -190,6 +190,8 @@ exports.init = function() {
|
||||||
exports.set(key, scriptOptions[key]);
|
exports.set(key, scriptOptions[key]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.init = init;
|
||||||
|
|
||||||
function deHyphenate(str) {
|
function deHyphenate(str) {
|
||||||
return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });
|
return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,7 @@ var Document = function(textOrLines) {
|
||||||
this.$detectNewLine = function(text) {
|
this.$detectNewLine = function(text) {
|
||||||
var match = text.match(/^.*?(\r\n|\r|\n)/m);
|
var match = text.match(/^.*?(\r\n|\r|\n)/m);
|
||||||
this.$autoNewLine = match ? match[1] : "\n";
|
this.$autoNewLine = match ? match[1] : "\n";
|
||||||
|
this._signal("changeNewLineMode");
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -137,11 +138,11 @@ var Document = function(textOrLines) {
|
||||||
case "unix":
|
case "unix":
|
||||||
return "\n";
|
return "\n";
|
||||||
default:
|
default:
|
||||||
return this.$autoNewLine;
|
return this.$autoNewLine || "\n";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$autoNewLine = "\n";
|
this.$autoNewLine = "";
|
||||||
this.$newLineMode = "auto";
|
this.$newLineMode = "auto";
|
||||||
/**
|
/**
|
||||||
* [Sets the new line mode.]{: #Document.setNewLineMode.desc}
|
* [Sets the new line mode.]{: #Document.setNewLineMode.desc}
|
||||||
|
|
@ -153,6 +154,7 @@ var Document = function(textOrLines) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.$newLineMode = newLineMode;
|
this.$newLineMode = newLineMode;
|
||||||
|
this._signal("changeNewLineMode");
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -281,13 +281,13 @@ var EditSession = function(text, mode) {
|
||||||
**/
|
**/
|
||||||
this.setValue = function(text) {
|
this.setValue = function(text) {
|
||||||
this.doc.setValue(text);
|
this.doc.setValue(text);
|
||||||
this.selection.moveCursorTo(0, 0);
|
this.selection.moveTo(0, 0);
|
||||||
this.selection.clearSelection();
|
|
||||||
|
|
||||||
this.$resetRowCache(0);
|
this.$resetRowCache(0);
|
||||||
this.$deltas = [];
|
this.$deltas = [];
|
||||||
this.$deltasDoc = [];
|
this.$deltasDoc = [];
|
||||||
this.$deltasFold = [];
|
this.$deltasFold = [];
|
||||||
|
this.setUndoManager(this.$undoManager);
|
||||||
this.getUndoManager().reset();
|
this.getUndoManager().reset();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -412,7 +412,7 @@ var EditSession = function(text, mode) {
|
||||||
}
|
}
|
||||||
self.mergeUndoDeltas = false;
|
self.mergeUndoDeltas = false;
|
||||||
self.$deltas = [];
|
self.$deltas = [];
|
||||||
}
|
};
|
||||||
this.$informUndoManager = lang.delayedCall(this.$syncInformUndoManager);
|
this.$informUndoManager = lang.delayedCall(this.$syncInformUndoManager);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -470,7 +470,7 @@ var EditSession = function(text, mode) {
|
||||||
* @param {Number} tabSize The new tab size
|
* @param {Number} tabSize The new tab size
|
||||||
**/
|
**/
|
||||||
this.setTabSize = function(tabSize) {
|
this.setTabSize = function(tabSize) {
|
||||||
this.setOption("tabSize", tabSize)
|
this.setOption("tabSize", tabSize);
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Returns the current tab size.
|
* Returns the current tab size.
|
||||||
|
|
@ -486,7 +486,7 @@ var EditSession = function(text, mode) {
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
this.isTabStop = function(position) {
|
this.isTabStop = function(position) {
|
||||||
return this.$useSoftTabs && (position.column % this.$tabSize == 0);
|
return this.$useSoftTabs && (position.column % this.$tabSize === 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$overwrite = false;
|
this.$overwrite = false;
|
||||||
|
|
@ -500,7 +500,7 @@ var EditSession = function(text, mode) {
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
this.setOverwrite = function(overwrite) {
|
this.setOverwrite = function(overwrite) {
|
||||||
this.setOption("overwrite", overwrite)
|
this.setOption("overwrite", overwrite);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -622,14 +622,14 @@ var EditSession = function(text, mode) {
|
||||||
clazz : clazz,
|
clazz : clazz,
|
||||||
inFront: !!inFront,
|
inFront: !!inFront,
|
||||||
id: id
|
id: id
|
||||||
}
|
};
|
||||||
|
|
||||||
if (inFront) {
|
if (inFront) {
|
||||||
this.$frontMarkers[id] = marker;
|
this.$frontMarkers[id] = marker;
|
||||||
this._signal("changeFrontMarker")
|
this._signal("changeFrontMarker");
|
||||||
} else {
|
} else {
|
||||||
this.$backMarkers[id] = marker;
|
this.$backMarkers[id] = marker;
|
||||||
this._signal("changeBackMarker")
|
this._signal("changeBackMarker");
|
||||||
}
|
}
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
|
|
@ -652,10 +652,10 @@ var EditSession = function(text, mode) {
|
||||||
|
|
||||||
if (inFront) {
|
if (inFront) {
|
||||||
this.$frontMarkers[id] = marker;
|
this.$frontMarkers[id] = marker;
|
||||||
this._signal("changeFrontMarker")
|
this._signal("changeFrontMarker");
|
||||||
} else {
|
} else {
|
||||||
this.$backMarkers[id] = marker;
|
this.$backMarkers[id] = marker;
|
||||||
this._signal("changeBackMarker")
|
this._signal("changeBackMarker");
|
||||||
}
|
}
|
||||||
|
|
||||||
return marker;
|
return marker;
|
||||||
|
|
@ -696,7 +696,7 @@ var EditSession = function(text, mode) {
|
||||||
this.$searchHighlight = this.addDynamicMarker(highlight);
|
this.$searchHighlight = this.addDynamicMarker(highlight);
|
||||||
}
|
}
|
||||||
this.$searchHighlight.setRegexp(re);
|
this.$searchHighlight.setRegexp(re);
|
||||||
}
|
};
|
||||||
|
|
||||||
// experimental
|
// experimental
|
||||||
this.highlightLines = function(startRow, endRow, clazz, inFront) {
|
this.highlightLines = function(startRow, endRow, clazz, inFront) {
|
||||||
|
|
@ -1043,14 +1043,14 @@ var EditSession = function(text, mode) {
|
||||||
};
|
};
|
||||||
|
|
||||||
this.getLineWidgetMaxWidth = function() {
|
this.getLineWidgetMaxWidth = function() {
|
||||||
if (this.lineWidgetsWidth != null) return this.lineWidgetsWidth
|
if (this.lineWidgetsWidth != null) return this.lineWidgetsWidth;
|
||||||
var width = 0;
|
var width = 0;
|
||||||
this.lineWidgets.forEach(function(w) {
|
this.lineWidgets.forEach(function(w) {
|
||||||
if (w && w.screenWidth > width)
|
if (w && w.screenWidth > width)
|
||||||
width = w.screenWidth;
|
width = w.screenWidth;
|
||||||
});
|
});
|
||||||
return this.lineWidgetWidth = width;
|
return this.lineWidgetWidth = width;
|
||||||
}
|
};
|
||||||
|
|
||||||
this.$computeWidth = function(force) {
|
this.$computeWidth = function(force) {
|
||||||
if (this.$modified || force) {
|
if (this.$modified || force) {
|
||||||
|
|
@ -1278,7 +1278,7 @@ var EditSession = function(text, mode) {
|
||||||
// Check if this range and the last undo range has something in common.
|
// Check if this range and the last undo range has something in common.
|
||||||
// If true, merge the ranges.
|
// If true, merge the ranges.
|
||||||
if (lastUndoRange != null) {
|
if (lastUndoRange != null) {
|
||||||
if (Range.comparePoints(lastUndoRange.start, range.start) == 0) {
|
if (Range.comparePoints(lastUndoRange.start, range.start) === 0) {
|
||||||
lastUndoRange.start.column += range.end.column - range.start.column;
|
lastUndoRange.start.column += range.end.column - range.start.column;
|
||||||
lastUndoRange.end.column += range.end.column - range.start.column;
|
lastUndoRange.end.column += range.end.column - range.start.column;
|
||||||
}
|
}
|
||||||
|
|
@ -1562,10 +1562,7 @@ var EditSession = function(text, mode) {
|
||||||
// If wrapMode is activaed, the wrapData array has to be initialized.
|
// If wrapMode is activaed, the wrapData array has to be initialized.
|
||||||
if (useWrapMode) {
|
if (useWrapMode) {
|
||||||
var len = this.getLength();
|
var len = this.getLength();
|
||||||
this.$wrapData = [];
|
this.$wrapData = Array(len);
|
||||||
for (var i = 0; i < len; i++) {
|
|
||||||
this.$wrapData.push([]);
|
|
||||||
}
|
|
||||||
this.$updateWrapData(0, len - 1);
|
this.$updateWrapData(0, len - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1714,16 +1711,10 @@ var EditSession = function(text, mode) {
|
||||||
|
|
||||||
lastRow = firstRow;
|
lastRow = firstRow;
|
||||||
} else {
|
} else {
|
||||||
var args;
|
var args = Array(len);
|
||||||
if (useWrapMode) {
|
|
||||||
args = [firstRow, 0];
|
|
||||||
for (var i = 0; i < len; i++) args.push([]);
|
|
||||||
this.$wrapData.splice.apply(this.$wrapData, args);
|
|
||||||
} else {
|
|
||||||
args = Array(len);
|
|
||||||
args.unshift(firstRow, 0);
|
args.unshift(firstRow, 0);
|
||||||
this.$rowLengthCache.splice.apply(this.$rowLengthCache, args);
|
var arr = useWrapMode ? this.$wrapData : this.$rowLengthCache
|
||||||
}
|
arr.splice.apply(arr, args);
|
||||||
|
|
||||||
// If some new line is added inside of a foldLine, then split
|
// If some new line is added inside of a foldLine, then split
|
||||||
// the fold line up.
|
// the fold line up.
|
||||||
|
|
@ -1828,8 +1819,7 @@ var EditSession = function(text, mode) {
|
||||||
lines[foldLine.end.row].length + 1
|
lines[foldLine.end.row].length + 1
|
||||||
);
|
);
|
||||||
|
|
||||||
wrapData[foldLine.start.row]
|
wrapData[foldLine.start.row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);
|
||||||
= this.$computeWrapSplits(tokens, wrapLimit, tabSize);
|
|
||||||
row = foldLine.end.row + 1;
|
row = foldLine.end.row + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2018,9 +2008,6 @@ var EditSession = function(text, mode) {
|
||||||
* The first position indicates the number of columns for `str` on screen.<br/>
|
* The first position indicates the number of columns for `str` on screen.<br/>
|
||||||
* The second value contains the position of the document column that this function read until.
|
* The second value contains the position of the document column that this function read until.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
**/
|
**/
|
||||||
this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {
|
this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {
|
||||||
if (maxScreenColumn == 0)
|
if (maxScreenColumn == 0)
|
||||||
|
|
@ -2321,6 +2308,7 @@ var EditSession = function(text, mode) {
|
||||||
// Clamp textLine if in wrapMode.
|
// Clamp textLine if in wrapMode.
|
||||||
if (this.$useWrapMode) {
|
if (this.$useWrapMode) {
|
||||||
var wrapRow = this.$wrapData[foldStartRow];
|
var wrapRow = this.$wrapData[foldStartRow];
|
||||||
|
if (wrapRow) {
|
||||||
var screenRowOffset = 0;
|
var screenRowOffset = 0;
|
||||||
while (textLine.length >= wrapRow[screenRowOffset]) {
|
while (textLine.length >= wrapRow[screenRowOffset]) {
|
||||||
screenRow ++;
|
screenRow ++;
|
||||||
|
|
@ -2330,6 +2318,7 @@ var EditSession = function(text, mode) {
|
||||||
wrapRow[screenRowOffset - 1] || 0, textLine.length
|
wrapRow[screenRowOffset - 1] || 0, textLine.length
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
row: screenRow,
|
row: screenRow,
|
||||||
|
|
@ -2382,7 +2371,8 @@ var EditSession = function(text, mode) {
|
||||||
var foldStart = fold ? fold.start.row :Infinity;
|
var foldStart = fold ? fold.start.row :Infinity;
|
||||||
|
|
||||||
while (row < lastRow) {
|
while (row < lastRow) {
|
||||||
screenRows += this.$wrapData[row].length + 1;
|
var splits = this.$wrapData[row];
|
||||||
|
screenRows += splits ? splits.length + 1 : 1;
|
||||||
row ++;
|
row ++;
|
||||||
if (row > foldStart) {
|
if (row > foldStart) {
|
||||||
row = fold.end.row+1;
|
row = fold.end.row+1;
|
||||||
|
|
@ -2399,13 +2389,16 @@ var EditSession = function(text, mode) {
|
||||||
return screenRows;
|
return screenRows;
|
||||||
};
|
};
|
||||||
|
|
||||||
// For every keystroke this gets called once per char in the whole doc!!
|
|
||||||
// Wouldn't hurt to make it a bit faster for c >= 0x1100
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
this.$setFontMetrics = function(fm) {
|
||||||
|
// todo
|
||||||
|
}
|
||||||
|
|
||||||
|
// For every keystroke this gets called once per char in the whole doc!!
|
||||||
|
// Wouldn't hurt to make it a bit faster for c >= 0x1100
|
||||||
function isFullWidth(c) {
|
function isFullWidth(c) {
|
||||||
if (c < 0x1100)
|
if (c < 0x1100)
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -289,14 +289,13 @@ var Editor = function(renderer, session) {
|
||||||
* Sets a new editsession to use. This method also emits the `'changeSession'` event.
|
* Sets a new editsession to use. This method also emits the `'changeSession'` event.
|
||||||
* @param {EditSession} session The new session to use
|
* @param {EditSession} session The new session to use
|
||||||
*
|
*
|
||||||
*
|
|
||||||
**/
|
**/
|
||||||
this.setSession = function(session) {
|
this.setSession = function(session) {
|
||||||
if (this.session == session)
|
if (this.session == session)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (this.session) {
|
|
||||||
var oldSession = this.session;
|
var oldSession = this.session;
|
||||||
|
if (oldSession) {
|
||||||
this.session.removeEventListener("change", this.$onDocumentChange);
|
this.session.removeEventListener("change", this.$onDocumentChange);
|
||||||
this.session.removeEventListener("changeMode", this.$onChangeMode);
|
this.session.removeEventListener("changeMode", this.$onChangeMode);
|
||||||
this.session.removeEventListener("tokenizerUpdate", this.$onTokenizerUpdate);
|
this.session.removeEventListener("tokenizerUpdate", this.$onTokenizerUpdate);
|
||||||
|
|
@ -318,7 +317,7 @@ var Editor = function(renderer, session) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.session = session;
|
this.session = session;
|
||||||
|
if (session) {
|
||||||
this.$onDocumentChange = this.onDocumentChange.bind(this);
|
this.$onDocumentChange = this.onDocumentChange.bind(this);
|
||||||
session.addEventListener("change", this.$onDocumentChange);
|
session.addEventListener("change", this.$onDocumentChange);
|
||||||
this.renderer.setSession(session);
|
this.renderer.setSession(session);
|
||||||
|
|
@ -383,11 +382,15 @@ var Editor = function(renderer, session) {
|
||||||
this.onChangeAnnotation();
|
this.onChangeAnnotation();
|
||||||
this.session.getUseWrapMode() && this.renderer.adjustWrapLimit();
|
this.session.getUseWrapMode() && this.renderer.adjustWrapLimit();
|
||||||
this.renderer.updateFull();
|
this.renderer.updateFull();
|
||||||
|
}
|
||||||
|
|
||||||
this._signal("changeSession", {
|
this._signal("changeSession", {
|
||||||
session: session,
|
session: session,
|
||||||
oldSession: oldSession
|
oldSession: oldSession
|
||||||
});
|
});
|
||||||
|
|
||||||
|
oldSession && oldSession._signal("changeEditor", {oldEditor: this});
|
||||||
|
session && session._signal("changeEditor", {editor: this});
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -452,11 +455,10 @@ var Editor = function(renderer, session) {
|
||||||
/**
|
/**
|
||||||
* {:VirtualRenderer.setTheme}
|
* {:VirtualRenderer.setTheme}
|
||||||
* @param {String} theme The path to a theme
|
* @param {String} theme The path to a theme
|
||||||
*
|
* @param {Function} cb optional callback called when theme is loaded
|
||||||
*
|
|
||||||
**/
|
**/
|
||||||
this.setTheme = function(theme) {
|
this.setTheme = function(theme, cb) {
|
||||||
this.renderer.setTheme(theme);
|
this.renderer.setTheme(theme, cb);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -654,7 +656,7 @@ var Editor = function(renderer, session) {
|
||||||
if (this.$highlightActiveLine) {
|
if (this.$highlightActiveLine) {
|
||||||
if ((this.$selectionStyle != "line" || !this.selection.isMultiLine()))
|
if ((this.$selectionStyle != "line" || !this.selection.isMultiLine()))
|
||||||
highlight = this.getCursorPosition();
|
highlight = this.getCursorPosition();
|
||||||
if (this.renderer.$maxLines && this.session.getLength() === 1)
|
if (this.renderer.$maxLines && this.session.getLength() === 1 && !(this.renderer.$minLines > 1))
|
||||||
highlight = false;
|
highlight = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -840,14 +842,13 @@ var Editor = function(renderer, session) {
|
||||||
* Inserts `text` into wherever the cursor is pointing.
|
* Inserts `text` into wherever the cursor is pointing.
|
||||||
* @param {String} text The new text to add
|
* @param {String} text The new text to add
|
||||||
*
|
*
|
||||||
*
|
|
||||||
**/
|
**/
|
||||||
this.insert = function(text) {
|
this.insert = function(text, pasted) {
|
||||||
var session = this.session;
|
var session = this.session;
|
||||||
var mode = session.getMode();
|
var mode = session.getMode();
|
||||||
var cursor = this.getCursorPosition();
|
var cursor = this.getCursorPosition();
|
||||||
|
|
||||||
if (this.getBehavioursEnabled()) {
|
if (this.getBehavioursEnabled() && !pasted) {
|
||||||
// Get a transform if the current mode wants one.
|
// Get a transform if the current mode wants one.
|
||||||
var transform = mode.transformAction(session.getState(cursor.row), 'insertion', this, session, text);
|
var transform = mode.transformAction(session.getState(cursor.row), 'insertion', this, session, text);
|
||||||
if (transform) {
|
if (transform) {
|
||||||
|
|
@ -1928,8 +1929,7 @@ var Editor = function(renderer, session) {
|
||||||
else
|
else
|
||||||
this.selection.selectTo(pos.row, pos.column);
|
this.selection.selectTo(pos.row, pos.column);
|
||||||
} else {
|
} else {
|
||||||
this.clearSelection();
|
this.selection.moveTo(pos.row, pos.column);
|
||||||
this.moveCursorTo(pos.row, pos.column);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -1964,8 +1964,7 @@ var Editor = function(renderer, session) {
|
||||||
* @related Editor.moveCursorTo
|
* @related Editor.moveCursorTo
|
||||||
**/
|
**/
|
||||||
this.navigateTo = function(row, column) {
|
this.navigateTo = function(row, column) {
|
||||||
this.clearSelection();
|
this.selection.moveTo(row, column);
|
||||||
this.moveCursorTo(row, column);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1980,8 +1979,7 @@ var Editor = function(renderer, session) {
|
||||||
return this.moveCursorToPosition(selectionStart);
|
return this.moveCursorToPosition(selectionStart);
|
||||||
}
|
}
|
||||||
this.selection.clearSelection();
|
this.selection.clearSelection();
|
||||||
times = times || 1;
|
this.selection.moveCursorBy(-times || -1, 0);
|
||||||
this.selection.moveCursorBy(-times, 0);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1996,8 +1994,7 @@ var Editor = function(renderer, session) {
|
||||||
return this.moveCursorToPosition(selectionEnd);
|
return this.moveCursorToPosition(selectionEnd);
|
||||||
}
|
}
|
||||||
this.selection.clearSelection();
|
this.selection.clearSelection();
|
||||||
times = times || 1;
|
this.selection.moveCursorBy(times || 1, 0);
|
||||||
this.selection.moveCursorBy(times, 0);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -2141,8 +2138,7 @@ var Editor = function(renderer, session) {
|
||||||
this.$blockScrolling += 1;
|
this.$blockScrolling += 1;
|
||||||
|
|
||||||
var selection = this.getSelectionRange();
|
var selection = this.getSelectionRange();
|
||||||
this.clearSelection();
|
this.selection.moveTo(0, 0);
|
||||||
this.selection.moveCursorTo(0, 0);
|
|
||||||
|
|
||||||
for (var i = ranges.length - 1; i >= 0; --i) {
|
for (var i = ranges.length - 1; i >= 0; --i) {
|
||||||
if(this.$tryReplace(ranges[i], replacement)) {
|
if(this.$tryReplace(ranges[i], replacement)) {
|
||||||
|
|
|
||||||
57
lib/ace/ext/beautify.js
Normal file
57
lib/ace/ext/beautify.js
Normal file
|
|
@ -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 ***** */
|
||||||
|
|
||||||
|
// [WIP]
|
||||||
|
|
||||||
|
define(function(require, exports, module) {
|
||||||
|
"use strict";
|
||||||
|
var TokenIterator = require("ace/token_iterator").TokenIterator;
|
||||||
|
|
||||||
|
var phpTransform = require("./beautify/php_rules").transform;
|
||||||
|
|
||||||
|
exports.beautify = function(session) {
|
||||||
|
var iterator = new TokenIterator(session, 0, 0);
|
||||||
|
var token = iterator.getCurrentToken();
|
||||||
|
|
||||||
|
var context = session.$modeId.split("/").pop();
|
||||||
|
|
||||||
|
var code = phpTransform(iterator, context);
|
||||||
|
session.doc.setValue(code);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.commands = [{
|
||||||
|
name: "beautify",
|
||||||
|
exec: function(editor) {
|
||||||
|
exports.beautify(editor.session);
|
||||||
|
},
|
||||||
|
bindKey: "Ctrl-Shift-B"
|
||||||
|
}]
|
||||||
|
|
||||||
|
});
|
||||||
366
lib/ace/ext/beautify/php_rules.js
Normal file
366
lib/ace/ext/beautify/php_rules.js
Normal file
|
|
@ -0,0 +1,366 @@
|
||||||
|
/* ***** 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 TokenIterator = require("ace/token_iterator").TokenIterator;
|
||||||
|
exports.newLines = [{
|
||||||
|
type: 'support.php_tag',
|
||||||
|
value: '<?php'
|
||||||
|
}, {
|
||||||
|
type: 'support.php_tag',
|
||||||
|
value: '<?'
|
||||||
|
}, {
|
||||||
|
type: 'support.php_tag',
|
||||||
|
value: '?>'
|
||||||
|
}, {
|
||||||
|
type: 'paren.lparen',
|
||||||
|
value: '{',
|
||||||
|
indent: true
|
||||||
|
}, {
|
||||||
|
type: 'paren.rparen',
|
||||||
|
breakBefore: true,
|
||||||
|
value: '}',
|
||||||
|
indent: false
|
||||||
|
}, {
|
||||||
|
type: 'paren.rparen',
|
||||||
|
breakBefore: true,
|
||||||
|
value: '})',
|
||||||
|
indent: false,
|
||||||
|
dontBreak: true
|
||||||
|
}, {
|
||||||
|
type: 'comment'
|
||||||
|
}, {
|
||||||
|
type: 'text',
|
||||||
|
value: ';'
|
||||||
|
}, {
|
||||||
|
type: 'text',
|
||||||
|
value: ':',
|
||||||
|
context: 'php'
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'case',
|
||||||
|
indent: true,
|
||||||
|
dontBreak: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'default',
|
||||||
|
indent: true,
|
||||||
|
dontBreak: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'break',
|
||||||
|
indent: false,
|
||||||
|
dontBreak: true
|
||||||
|
}, {
|
||||||
|
type: 'punctuation.doctype.end',
|
||||||
|
value: '>'
|
||||||
|
}, {
|
||||||
|
type: 'meta.tag.punctuation.end',
|
||||||
|
value: '>'
|
||||||
|
}, {
|
||||||
|
type: 'meta.tag.punctuation.begin',
|
||||||
|
value: '<',
|
||||||
|
blockTag: true,
|
||||||
|
indent: true,
|
||||||
|
dontBreak: true
|
||||||
|
}, {
|
||||||
|
type: 'meta.tag.punctuation.begin',
|
||||||
|
value: '</',
|
||||||
|
indent: false,
|
||||||
|
breakBefore: true,
|
||||||
|
dontBreak: true
|
||||||
|
}, {
|
||||||
|
type: 'punctuation.operator',
|
||||||
|
value: ';'
|
||||||
|
}];
|
||||||
|
|
||||||
|
exports.spaces = [{
|
||||||
|
type: 'xml-pe',
|
||||||
|
prepend: true
|
||||||
|
},{
|
||||||
|
type: 'entity.other.attribute-name',
|
||||||
|
prepend: true
|
||||||
|
}, {
|
||||||
|
type: 'storage.type',
|
||||||
|
value: 'var',
|
||||||
|
append: true
|
||||||
|
}, {
|
||||||
|
type: 'storage.type',
|
||||||
|
value: 'function',
|
||||||
|
append: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword.operator',
|
||||||
|
value: '='
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'as',
|
||||||
|
prepend: true,
|
||||||
|
append: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'function',
|
||||||
|
append: true
|
||||||
|
}, {
|
||||||
|
type: 'support.function',
|
||||||
|
next: /[^\(]/,
|
||||||
|
append: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'or',
|
||||||
|
append: true,
|
||||||
|
prepend: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'and',
|
||||||
|
append: true,
|
||||||
|
prepend: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword',
|
||||||
|
value: 'case',
|
||||||
|
append: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword.operator',
|
||||||
|
value: '||',
|
||||||
|
append: true,
|
||||||
|
prepend: true
|
||||||
|
}, {
|
||||||
|
type: 'keyword.operator',
|
||||||
|
value: '&&',
|
||||||
|
append: true,
|
||||||
|
prepend: true
|
||||||
|
}];
|
||||||
|
exports.singleTags = ['!doctype','area','base','br','hr','input','img','link','meta'];
|
||||||
|
|
||||||
|
exports.transform = function(iterator, maxPos, context) {
|
||||||
|
var token = iterator.getCurrentToken();
|
||||||
|
|
||||||
|
var newLines = exports.newLines;
|
||||||
|
var spaces = exports.spaces;
|
||||||
|
var singleTags = exports.singleTags;
|
||||||
|
|
||||||
|
var code = '';
|
||||||
|
|
||||||
|
var indentation = 0;
|
||||||
|
var dontBreak = false;
|
||||||
|
var tag;
|
||||||
|
var lastTag;
|
||||||
|
var lastToken = {};
|
||||||
|
var nextTag;
|
||||||
|
var nextToken = {};
|
||||||
|
var breakAdded = false;
|
||||||
|
var value = '';
|
||||||
|
|
||||||
|
while (token!==null) {
|
||||||
|
console.log(token);
|
||||||
|
|
||||||
|
if( !token ){
|
||||||
|
token = iterator.stepForward();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
//change syntax
|
||||||
|
//php
|
||||||
|
if( token.type == 'support.php_tag' && token.value != '?>' ){
|
||||||
|
context = 'php';
|
||||||
|
}
|
||||||
|
else if( token.type == 'support.php_tag' && token.value == '?>' ){
|
||||||
|
context = 'html';
|
||||||
|
}
|
||||||
|
//css
|
||||||
|
else if( token.type == 'meta.tag.name.style' && context != 'css' ){
|
||||||
|
context = 'css';
|
||||||
|
}
|
||||||
|
else if( token.type == 'meta.tag.name.style' && context == 'css' ){
|
||||||
|
context = 'html';
|
||||||
|
}
|
||||||
|
//js
|
||||||
|
else if( token.type == 'meta.tag.name.script' && context != 'js' ){
|
||||||
|
context = 'js';
|
||||||
|
}
|
||||||
|
else if( token.type == 'meta.tag.name.script' && context == 'js' ){
|
||||||
|
context = 'html';
|
||||||
|
}
|
||||||
|
|
||||||
|
nextToken = iterator.stepForward();
|
||||||
|
|
||||||
|
//tag name
|
||||||
|
if (nextToken && nextToken.type.indexOf('meta.tag.name') == 0) {
|
||||||
|
nextTag = nextToken.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//don't linebreak
|
||||||
|
if ( lastToken.type == 'support.php_tag' && lastToken.value == '<?=') {
|
||||||
|
dontBreak = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//lowercase
|
||||||
|
if (token.type == 'meta.tag.name') {
|
||||||
|
token.value = token.value.toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
//trim spaces
|
||||||
|
if (token.type == 'text') {
|
||||||
|
token.value = token.value.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
//skip empty tokens
|
||||||
|
if (!token.value) {
|
||||||
|
token = nextToken;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
//put spaces back in
|
||||||
|
value = token.value;
|
||||||
|
for (var i in spaces) {
|
||||||
|
if (
|
||||||
|
token.type == spaces[i].type &&
|
||||||
|
(!spaces[i].value || token.value == spaces[i].value) &&
|
||||||
|
(
|
||||||
|
nextToken &&
|
||||||
|
(!spaces[i].next || spaces[i].next.test(nextToken.value))
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
if (spaces[i].prepend) {
|
||||||
|
value = ' ' + token.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (spaces[i].append) {
|
||||||
|
value += ' ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//tag name
|
||||||
|
if (token.type.indexOf('meta.tag.name') == 0) {
|
||||||
|
tag = token.value;
|
||||||
|
//console.log(tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
//new line before
|
||||||
|
breakAdded = false;
|
||||||
|
|
||||||
|
//outdent
|
||||||
|
for (i in newLines) {
|
||||||
|
if (
|
||||||
|
token.type == newLines[i].type &&
|
||||||
|
(
|
||||||
|
!newLines[i].value ||
|
||||||
|
token.value == newLines[i].value
|
||||||
|
) &&
|
||||||
|
(
|
||||||
|
!newLines[i].blockTag ||
|
||||||
|
singleTags.indexOf(nextTag) === -1
|
||||||
|
) &&
|
||||||
|
(
|
||||||
|
!newLines[i].context ||
|
||||||
|
newLines[i].context === context
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
if (newLines[i].indent === false) {
|
||||||
|
indentation--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
newLines[i].breakBefore &&
|
||||||
|
( !newLines[i].prev || newLines[i].prev.test(lastToken.value) )
|
||||||
|
) {
|
||||||
|
code += "\n";
|
||||||
|
breakAdded = true;
|
||||||
|
|
||||||
|
//indent
|
||||||
|
for (i = 0; i < indentation; i++) {
|
||||||
|
code += "\t";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dontBreak===false) {
|
||||||
|
for (i in newLines) {
|
||||||
|
if (
|
||||||
|
lastToken.type == newLines[i].type &&
|
||||||
|
(
|
||||||
|
!newLines[i].value || lastToken.value == newLines[i].value
|
||||||
|
) &&
|
||||||
|
(
|
||||||
|
!newLines[i].blockTag ||
|
||||||
|
singleTags.indexOf(tag) === -1
|
||||||
|
) &&
|
||||||
|
(
|
||||||
|
!newLines[i].context ||
|
||||||
|
newLines[i].context === context
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
if (newLines[i].indent === true) {
|
||||||
|
indentation++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!newLines[i].dontBreak && !breakAdded) {
|
||||||
|
code += "\n";
|
||||||
|
|
||||||
|
//indent
|
||||||
|
for (i = 0; i < indentation; i++) {
|
||||||
|
code += "\t";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
code += value;
|
||||||
|
|
||||||
|
//linebreaks back on after end short php tag
|
||||||
|
if ( lastToken.type == 'support.php_tag' && lastToken.value == '?>' ) {
|
||||||
|
dontBreak = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//next token
|
||||||
|
lastTag = tag;
|
||||||
|
|
||||||
|
lastToken = token;
|
||||||
|
|
||||||
|
token = nextToken;
|
||||||
|
|
||||||
|
if (token===null) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return code;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
@ -130,8 +130,7 @@ AceEmmetEditor.prototype = {
|
||||||
*/
|
*/
|
||||||
setCaretPos: function(index){
|
setCaretPos: function(index){
|
||||||
var pos = this.ace.indexToPosition(index);
|
var pos = this.ace.indexToPosition(index);
|
||||||
this.ace.clearSelection();
|
this.ace.selection.moveToPosition(pos);
|
||||||
this.ace.selection.moveCursorToPosition(pos);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -122,8 +122,7 @@ exports.showErrorMarker = function(editor, dir) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
editor.session.unfold(pos.row);
|
editor.session.unfold(pos.row);
|
||||||
editor.selection.moveCursorToPosition(pos);
|
editor.selection.moveToPosition(pos);
|
||||||
editor.selection.clearSelection();
|
|
||||||
|
|
||||||
var w = {
|
var w = {
|
||||||
row: pos.row,
|
row: pos.row,
|
||||||
|
|
@ -143,12 +142,12 @@ exports.showErrorMarker = function(editor, dir) {
|
||||||
el.className = "error_widget " + gutterAnno.className;
|
el.className = "error_widget " + gutterAnno.className;
|
||||||
el.innerHTML = gutterAnno.text.join("<br>");
|
el.innerHTML = gutterAnno.text.join("<br>");
|
||||||
|
|
||||||
var kb = {
|
el.appendChild(dom.createElement("div"));
|
||||||
handleKeyboard:function(_,hashId, keyString) {
|
|
||||||
if (hashId === 0 && keyString === "esc") {
|
var kb = function(_, hashId, keyString) {
|
||||||
|
if (hashId === 0 && (keyString === "esc" || keyString === "return")) {
|
||||||
w.destroy();
|
w.destroy();
|
||||||
return true;
|
return {command: "null"};
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ define(function(require, exports, module) {
|
||||||
var snippetManager = require("../snippets").snippetManager;
|
var snippetManager = require("../snippets").snippetManager;
|
||||||
var Autocomplete = require("../autocomplete").Autocomplete;
|
var Autocomplete = require("../autocomplete").Autocomplete;
|
||||||
var config = require("../config");
|
var config = require("../config");
|
||||||
|
var util = require("../autocomplete/util");
|
||||||
|
|
||||||
var textCompleter = require("../autocomplete/text_completer");
|
var textCompleter = require("../autocomplete/text_completer");
|
||||||
var keyWordCompleter = {
|
var keyWordCompleter = {
|
||||||
|
|
@ -114,6 +115,58 @@ var loadSnippetFile = function(id) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var doLiveAutocomplete = function(e) {
|
||||||
|
var editor = e.editor;
|
||||||
|
var session = editor.getSession();
|
||||||
|
var pos = editor.getCursorPosition();
|
||||||
|
var line = session.getLine(pos.row);
|
||||||
|
var hasCompleter = (editor.completer && editor.completer.activated);
|
||||||
|
|
||||||
|
var text = e.args || "";
|
||||||
|
|
||||||
|
// Is the user entering text
|
||||||
|
// we only want to automatically show the autocomplete dialog
|
||||||
|
// whenever the user is typing in text not pasting, deleting, ...
|
||||||
|
var typing = (e.command.name === "insertstring" && text.length === 1);
|
||||||
|
|
||||||
|
// We don't want to autocomplete with no prefix
|
||||||
|
if(
|
||||||
|
e.command.name === 'backspace' &&
|
||||||
|
util.retrievePrecedingIdentifier(line, pos.column) === ''
|
||||||
|
) {
|
||||||
|
if(hasCompleter) editor.completer.detach();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// we don't want to autocomplete on paste events
|
||||||
|
if(!typing) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The prefix to autocomplete for
|
||||||
|
var prefix = util.retrievePrecedingIdentifier(line, pos.column);
|
||||||
|
|
||||||
|
// Only autocomplete if there's a prefix that can be matched
|
||||||
|
if(prefix !== '' && !(hasCompleter)) {
|
||||||
|
if (!editor.completer) {
|
||||||
|
// Create new autocompleter
|
||||||
|
editor.completer = new Autocomplete();
|
||||||
|
|
||||||
|
// Disable autoInsert
|
||||||
|
editor.completer.autoInsert = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
editor.completer.showPopup(editor);
|
||||||
|
// needed for firefox on mac
|
||||||
|
editor.completer.cancelContextMenu();
|
||||||
|
|
||||||
|
} else if(prefix === '' && hasCompleter) {
|
||||||
|
// When the prefix is empty
|
||||||
|
// close the autocomplete dialog
|
||||||
|
editor.completer.detach();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
var Editor = require("../editor").Editor;
|
var Editor = require("../editor").Editor;
|
||||||
require("../config").defineOptions(Editor.prototype, "editor", {
|
require("../config").defineOptions(Editor.prototype, "editor", {
|
||||||
enableBasicAutocompletion: {
|
enableBasicAutocompletion: {
|
||||||
|
|
@ -127,6 +180,17 @@ require("../config").defineOptions(Editor.prototype, "editor", {
|
||||||
},
|
},
|
||||||
value: false
|
value: false
|
||||||
},
|
},
|
||||||
|
enableLiveAutocomplete: {
|
||||||
|
set: function(val) {
|
||||||
|
if (val) {
|
||||||
|
// On each change automatically trigger the autocomplete
|
||||||
|
this.commands.on('afterExec', doLiveAutocomplete);
|
||||||
|
} else {
|
||||||
|
this.commands.removeListener('afterExec', doLiveAutocomplete);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
value: false
|
||||||
|
},
|
||||||
enableSnippets: {
|
enableSnippets: {
|
||||||
set: function(val) {
|
set: function(val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,7 @@ var supportedModes = {
|
||||||
EJS: ["ejs"],
|
EJS: ["ejs"],
|
||||||
Forth: ["frt|fs|ldr"],
|
Forth: ["frt|fs|ldr"],
|
||||||
FTL: ["ftl"],
|
FTL: ["ftl"],
|
||||||
|
Gherkin: ["feature"],
|
||||||
Glsl: ["glsl|frag|vert"],
|
Glsl: ["glsl|frag|vert"],
|
||||||
golang: ["go"],
|
golang: ["go"],
|
||||||
Groovy: ["groovy"],
|
Groovy: ["groovy"],
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,8 @@ oop.inherits(IncrementalSearch, Search);
|
||||||
this.$options.needle = '';
|
this.$options.needle = '';
|
||||||
this.$options.backwards = backwards;
|
this.$options.backwards = backwards;
|
||||||
ed.keyBinding.addKeyboardHandler(this.$keyboardHandler);
|
ed.keyBinding.addKeyboardHandler(this.$keyboardHandler);
|
||||||
|
// we need to completely intercept paste, just registering an event handler does not work
|
||||||
|
this.$originalEditorOnPaste = ed.onPaste; ed.onPaste = this.onPaste.bind(this);
|
||||||
this.$mousedownHandler = ed.addEventListener('mousedown', this.onMouseDown.bind(this));
|
this.$mousedownHandler = ed.addEventListener('mousedown', this.onMouseDown.bind(this));
|
||||||
this.selectionFix(ed);
|
this.selectionFix(ed);
|
||||||
this.statusMessage(true);
|
this.statusMessage(true);
|
||||||
|
|
@ -79,11 +81,13 @@ oop.inherits(IncrementalSearch, Search);
|
||||||
|
|
||||||
this.deactivate = function(reset) {
|
this.deactivate = function(reset) {
|
||||||
this.cancelSearch(reset);
|
this.cancelSearch(reset);
|
||||||
this.$editor.keyBinding.removeKeyboardHandler(this.$keyboardHandler);
|
var ed = this.$editor;
|
||||||
|
ed.keyBinding.removeKeyboardHandler(this.$keyboardHandler);
|
||||||
if (this.$mousedownHandler) {
|
if (this.$mousedownHandler) {
|
||||||
this.$editor.removeEventListener('mousedown', this.$mousedownHandler);
|
ed.removeEventListener('mousedown', this.$mousedownHandler);
|
||||||
delete this.$mousedownHandler;
|
delete this.$mousedownHandler;
|
||||||
}
|
}
|
||||||
|
ed.onPaste = this.$originalEditorOnPaste;
|
||||||
this.message('');
|
this.message('');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -150,9 +154,9 @@ oop.inherits(IncrementalSearch, Search);
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.addChar = function(c) {
|
this.addString = function(s) {
|
||||||
return this.highlightAndFindWithNeedle(false, function(needle) {
|
return this.highlightAndFindWithNeedle(false, function(needle) {
|
||||||
return needle + c;
|
return needle + s;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -181,6 +185,10 @@ oop.inherits(IncrementalSearch, Search);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.onPaste = function(text) {
|
||||||
|
this.addString(text);
|
||||||
|
}
|
||||||
|
|
||||||
this.statusMessage = function(found) {
|
this.statusMessage = function(found) {
|
||||||
var options = this.$options, msg = '';
|
var options = this.$options, msg = '';
|
||||||
msg += options.backwards ? 'reverse-' : '';
|
msg += options.backwards ? 'reverse-' : '';
|
||||||
|
|
|
||||||
|
|
@ -95,17 +95,17 @@ module.exports = {
|
||||||
|
|
||||||
"test: find simple text incrementally" : function() {
|
"test: find simple text incrementally" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
var range = iSearch.addChar('1'), // "1"
|
var range = iSearch.addString('1'), // "1"
|
||||||
highlightRanges = callHighlighterUpdate(editor.session);
|
highlightRanges = callHighlighterUpdate(editor.session);
|
||||||
testRanges("Range: [0/3] -> [0/4]", [range], "range");
|
testRanges("Range: [0/3] -> [0/4]", [range], "range");
|
||||||
testRanges("Range: [0/3] -> [0/4],Range: [1/3] -> [1/4]", highlightRanges, "highlight");
|
testRanges("Range: [0/3] -> [0/4],Range: [1/3] -> [1/4]", highlightRanges, "highlight");
|
||||||
|
|
||||||
range = iSearch.addChar('2'); // "12"
|
range = iSearch.addString('2'); // "12"
|
||||||
highlightRanges = callHighlighterUpdate(editor.session);
|
highlightRanges = callHighlighterUpdate(editor.session);
|
||||||
testRanges("Range: [0/3] -> [0/5]", [range], "range");
|
testRanges("Range: [0/3] -> [0/5]", [range], "range");
|
||||||
testRanges("Range: [0/3] -> [0/5],Range: [1/3] -> [1/5]", highlightRanges, "highlight");
|
testRanges("Range: [0/3] -> [0/5],Range: [1/3] -> [1/5]", highlightRanges, "highlight");
|
||||||
|
|
||||||
range = iSearch.addChar('3'); // "123"
|
range = iSearch.addString('3'); // "123"
|
||||||
highlightRanges = callHighlighterUpdate(editor.session);
|
highlightRanges = callHighlighterUpdate(editor.session);
|
||||||
testRanges("Range: [0/3] -> [0/6]", [range], "range");
|
testRanges("Range: [0/3] -> [0/6]", [range], "range");
|
||||||
testRanges("Range: [0/3] -> [0/6]", highlightRanges, "highlight");
|
testRanges("Range: [0/3] -> [0/6]", highlightRanges, "highlight");
|
||||||
|
|
@ -118,7 +118,7 @@ module.exports = {
|
||||||
|
|
||||||
"test: forward / backward" : function() {
|
"test: forward / backward" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
iSearch.addChar('1'); iSearch.addChar('2');
|
iSearch.addString('1'); iSearch.addString('2');
|
||||||
var range = iSearch.next();
|
var range = iSearch.next();
|
||||||
testRanges("Range: [1/3] -> [1/5]", [range], "range");
|
testRanges("Range: [1/3] -> [1/5]", [range], "range");
|
||||||
|
|
||||||
|
|
@ -131,18 +131,18 @@ module.exports = {
|
||||||
|
|
||||||
"test: cancelSearch" : function() {
|
"test: cancelSearch" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
iSearch.addChar('1'); iSearch.addChar('2');
|
iSearch.addString('1'); iSearch.addString('2');
|
||||||
var range = iSearch.cancelSearch(true);
|
var range = iSearch.cancelSearch(true);
|
||||||
testRanges("Range: [0/0] -> [0/0]", [range], "range");
|
testRanges("Range: [0/0] -> [0/0]", [range], "range");
|
||||||
|
|
||||||
iSearch.addChar('1'); range = iSearch.addChar('2');
|
iSearch.addString('1'); range = iSearch.addString('2');
|
||||||
testRanges("Range: [0/3] -> [0/5]", [range], "range");
|
testRanges("Range: [0/3] -> [0/5]", [range], "range");
|
||||||
},
|
},
|
||||||
|
|
||||||
"test: failing search keeps pos" : function() {
|
"test: failing search keeps pos" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
iSearch.addChar('1'); iSearch.addChar('2');
|
iSearch.addString('1'); iSearch.addString('2');
|
||||||
var range = iSearch.addChar('x');
|
var range = iSearch.addString('x');
|
||||||
testRanges("", [range], "range");
|
testRanges("", [range], "range");
|
||||||
assert.position(editor.getCursorPosition(), 0, 5);
|
assert.position(editor.getCursorPosition(), 0, 5);
|
||||||
},
|
},
|
||||||
|
|
@ -150,14 +150,14 @@ module.exports = {
|
||||||
"test: backwards search" : function() {
|
"test: backwards search" : function() {
|
||||||
editor.moveCursorTo(1,0);
|
editor.moveCursorTo(1,0);
|
||||||
iSearch.activate(editor, true);
|
iSearch.activate(editor, true);
|
||||||
iSearch.addChar('1'); var range = iSearch.addChar('2');;
|
iSearch.addString('1'); var range = iSearch.addString('2');;
|
||||||
testRanges("Range: [0/5] -> [0/3]", [range], "range");
|
testRanges("Range: [0/5] -> [0/3]", [range], "range");
|
||||||
assert.position(editor.getCursorPosition(), 0, 3);
|
assert.position(editor.getCursorPosition(), 0, 3);
|
||||||
},
|
},
|
||||||
|
|
||||||
"test: forwards then backwards, same result, reoriented range" : function() {
|
"test: forwards then backwards, same result, reoriented range" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
iSearch.addChar('1'); var range = iSearch.addChar('2');;
|
iSearch.addString('1'); var range = iSearch.addString('2');;
|
||||||
testRanges("Range: [0/3] -> [0/5]", [range], "range");
|
testRanges("Range: [0/3] -> [0/5]", [range], "range");
|
||||||
assert.position(editor.getCursorPosition(), 0, 5);
|
assert.position(editor.getCursorPosition(), 0, 5);
|
||||||
|
|
||||||
|
|
@ -168,7 +168,7 @@ module.exports = {
|
||||||
|
|
||||||
"test: reuse prev search via option" : function() {
|
"test: reuse prev search via option" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
iSearch.addChar('1'); iSearch.addChar('2');;
|
iSearch.addString('1'); iSearch.addString('2');;
|
||||||
assert.position(editor.getCursorPosition(), 0, 5);
|
assert.position(editor.getCursorPosition(), 0, 5);
|
||||||
iSearch.deactivate();
|
iSearch.deactivate();
|
||||||
|
|
||||||
|
|
@ -179,14 +179,14 @@ module.exports = {
|
||||||
|
|
||||||
"test: don't extend selection range if selection is empty" : function() {
|
"test: don't extend selection range if selection is empty" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
iSearch.addChar('1'); iSearch.addChar('2');;
|
iSearch.addString('1'); iSearch.addString('2');;
|
||||||
testRanges("Range: [0/5] -> [0/5]", [editor.getSelectionRange()], "sel range");
|
testRanges("Range: [0/5] -> [0/5]", [editor.getSelectionRange()], "sel range");
|
||||||
},
|
},
|
||||||
|
|
||||||
"test: extend selection range if selection exists" : function() {
|
"test: extend selection range if selection exists" : function() {
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
editor.selection.selectTo(0, 1);
|
editor.selection.selectTo(0, 1);
|
||||||
iSearch.addChar('1'); iSearch.addChar('2');;
|
iSearch.addString('1'); iSearch.addString('2');;
|
||||||
testRanges("Range: [0/0] -> [0/5]", [editor.getSelectionRange()], "sel range");
|
testRanges("Range: [0/0] -> [0/5]", [editor.getSelectionRange()], "sel range");
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -195,7 +195,7 @@ module.exports = {
|
||||||
editor.keyBinding.addKeyboardHandler(emacs.handler);
|
editor.keyBinding.addKeyboardHandler(emacs.handler);
|
||||||
emacs.handler.commands.setMark.exec(editor);
|
emacs.handler.commands.setMark.exec(editor);
|
||||||
iSearch.activate(editor);
|
iSearch.activate(editor);
|
||||||
iSearch.addChar('1'); iSearch.addChar('2');;
|
iSearch.addString('1'); iSearch.addString('2');;
|
||||||
testRanges("Range: [0/0] -> [0/5]", [editor.getSelectionRange()], "sel range");
|
testRanges("Range: [0/0] -> [0/5]", [editor.getSelectionRange()], "sel range");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -219,6 +219,10 @@ exports.handler.bindKey = function(key, command) {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {
|
exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {
|
||||||
|
// if keyCode == -1 a non-printable key was pressed, such as just
|
||||||
|
// control. Handling those is currently not supported in this handler
|
||||||
|
if (keyCode === -1) return undefined;
|
||||||
|
|
||||||
var editor = data.editor;
|
var editor = data.editor;
|
||||||
// insertstring data.count times
|
// insertstring data.count times
|
||||||
if (hashId == -1) {
|
if (hashId == -1) {
|
||||||
|
|
|
||||||
|
|
@ -145,8 +145,8 @@ exports.handler = {
|
||||||
if (hashId == -1 || hashId == 1 || hashId === 0 && key.length > 1) {
|
if (hashId == -1 || hashId == 1 || hashId === 0 && key.length > 1) {
|
||||||
if (cmds.inputBuffer.idle && startCommands[key])
|
if (cmds.inputBuffer.idle && startCommands[key])
|
||||||
return startCommands[key];
|
return startCommands[key];
|
||||||
cmds.inputBuffer.push(editor, key);
|
var isHandled = cmds.inputBuffer.push(editor, key);
|
||||||
return {command: "null", passEvent: false};
|
return {command: "null", passEvent: !isHandled};
|
||||||
} // if no modifier || shift: wait for input.
|
} // if no modifier || shift: wait for input.
|
||||||
else if (key.length == 1 && (hashId === 0 || hashId == 4)) {
|
else if (key.length == 1 && (hashId === 0 || hashId == 4)) {
|
||||||
return {command: "null", passEvent: true};
|
return {command: "null", passEvent: true};
|
||||||
|
|
|
||||||
|
|
@ -201,8 +201,7 @@ var actions = exports.actions = {
|
||||||
//editor.selection.selectLine();
|
//editor.selection.selectLine();
|
||||||
//editor.selection.selectLeft();
|
//editor.selection.selectLeft();
|
||||||
var row = editor.getCursorPosition().row;
|
var row = editor.getCursorPosition().row;
|
||||||
editor.selection.clearSelection();
|
editor.selection.moveTo(row, 0);
|
||||||
editor.selection.moveCursorTo(row, 0);
|
|
||||||
editor.selection.selectLineEnd();
|
editor.selection.selectLineEnd();
|
||||||
editor.selection.visualLineStart = row;
|
editor.selection.visualLineStart = row;
|
||||||
|
|
||||||
|
|
@ -582,13 +581,11 @@ var handleCursorMove = exports.onCursorMove = function(editor, e) {
|
||||||
var cursorRow = editor.getCursorPosition().row;
|
var cursorRow = editor.getCursorPosition().row;
|
||||||
if(originRow <= cursorRow) {
|
if(originRow <= cursorRow) {
|
||||||
var endLine = editor.session.getLine(cursorRow);
|
var endLine = editor.session.getLine(cursorRow);
|
||||||
editor.selection.clearSelection();
|
editor.selection.moveTo(originRow, 0);
|
||||||
editor.selection.moveCursorTo(originRow, 0);
|
|
||||||
editor.selection.selectTo(cursorRow, endLine.length);
|
editor.selection.selectTo(cursorRow, endLine.length);
|
||||||
} else {
|
} else {
|
||||||
var endLine = editor.session.getLine(originRow);
|
var endLine = editor.session.getLine(originRow);
|
||||||
editor.selection.clearSelection();
|
editor.selection.moveTo(originRow, endLine.length);
|
||||||
editor.selection.moveCursorTo(originRow, endLine.length);
|
|
||||||
editor.selection.selectTo(cursorRow, 0);
|
editor.selection.selectTo(cursorRow, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,7 @@ function Motion(m) {
|
||||||
var a = getPos(editor, range, count, param, false);
|
var a = getPos(editor, range, count, param, false);
|
||||||
if (!a)
|
if (!a)
|
||||||
return;
|
return;
|
||||||
editor.clearSelection();
|
editor.selection.moveTo(a.row, a.column);
|
||||||
editor.moveCursorTo(a.row, a.column);
|
|
||||||
};
|
};
|
||||||
m.sel = function(editor, range, count, param) {
|
m.sel = function(editor, range, count, param) {
|
||||||
var a = getPos(editor, range, count, param, true);
|
var a = getPos(editor, range, count, param, true);
|
||||||
|
|
|
||||||
|
|
@ -122,13 +122,11 @@ module.exports = {
|
||||||
},
|
},
|
||||||
copyLine: function(editor) {
|
copyLine: function(editor) {
|
||||||
var pos = editor.getCursorPosition();
|
var pos = editor.getCursorPosition();
|
||||||
editor.selection.clearSelection();
|
editor.selection.moveTo(pos.row, pos.column);
|
||||||
editor.moveCursorTo(pos.row, pos.column);
|
|
||||||
editor.selection.selectLine();
|
editor.selection.selectLine();
|
||||||
registers._default.isLine = true;
|
registers._default.isLine = true;
|
||||||
registers._default.text = editor.getCopyText().replace(/\n$/, "");
|
registers._default.text = editor.getCopyText().replace(/\n$/, "");
|
||||||
editor.selection.clearSelection();
|
editor.selection.moveTo(pos.row, pos.column);
|
||||||
editor.moveCursorTo(pos.row, pos.column);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,7 @@ var Cursor = function(parentEl) {
|
||||||
for (var i = 0, n = selections.length; i < n; i++) {
|
for (var i = 0, n = selections.length; i < n; i++) {
|
||||||
var pixelPos = this.getPixelPosition(selections[i].cursor, true);
|
var pixelPos = this.getPixelPosition(selections[i].cursor, true);
|
||||||
if ((pixelPos.top > config.height + config.offset ||
|
if ((pixelPos.top > config.height + config.offset ||
|
||||||
pixelPos.top < -config.offset) && i > 1) {
|
pixelPos.top < 0) && i > 1) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
158
lib/ace/layer/font_metrics.js
Normal file
158
lib/ace/layer/font_metrics.js
Normal file
|
|
@ -0,0 +1,158 @@
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Distributed under the BSD license:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2010, 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) {
|
||||||
|
|
||||||
|
var oop = require("../lib/oop");
|
||||||
|
var dom = require("../lib/dom");
|
||||||
|
var lang = require("../lib/lang");
|
||||||
|
var EventEmitter = require("../lib/event_emitter").EventEmitter;
|
||||||
|
|
||||||
|
var CHAR_COUNT = 0;
|
||||||
|
|
||||||
|
var FontMetrics = exports.FontMetrics = function(parentEl, interval) {
|
||||||
|
this.el = dom.createElement("div");
|
||||||
|
this.$setMeasureNodeStyles(this.el.style, true);
|
||||||
|
|
||||||
|
this.$main = dom.createElement("div");
|
||||||
|
this.$setMeasureNodeStyles(this.$main.style);
|
||||||
|
|
||||||
|
this.$measureNode = dom.createElement("div");
|
||||||
|
this.$setMeasureNodeStyles(this.$measureNode.style);
|
||||||
|
|
||||||
|
|
||||||
|
this.el.appendChild(this.$main);
|
||||||
|
this.el.appendChild(this.$measureNode);
|
||||||
|
parentEl.appendChild(this.el);
|
||||||
|
|
||||||
|
if (!CHAR_COUNT)
|
||||||
|
this.$testFractionalRect();
|
||||||
|
this.$measureNode.textContent = lang.stringRepeat("X", CHAR_COUNT);
|
||||||
|
|
||||||
|
this.$characterSize = {width: 0, height: 0};
|
||||||
|
this.checkForSizeChanges();
|
||||||
|
};
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
|
||||||
|
oop.implement(this, EventEmitter);
|
||||||
|
|
||||||
|
this.$characterSize = {width: 0, height: 0};
|
||||||
|
|
||||||
|
this.$testFractionalRect = function() {
|
||||||
|
var el = dom.createElement("div");
|
||||||
|
this.$setMeasureNodeStyles(el.style);
|
||||||
|
el.style.width = "0.2px";
|
||||||
|
document.documentElement.appendChild(el);
|
||||||
|
var w = el.getBoundingClientRect().width;
|
||||||
|
if (w > 0 && w < 1)
|
||||||
|
CHAR_COUNT = 1;
|
||||||
|
else
|
||||||
|
CHAR_COUNT = 100;
|
||||||
|
el.parentNode.removeChild(el);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$setMeasureNodeStyles = function(style, isRoot) {
|
||||||
|
style.width = style.height = "auto";
|
||||||
|
style.left = style.top = "-100px";
|
||||||
|
style.visibility = "hidden";
|
||||||
|
style.position = "fixed";
|
||||||
|
style.whiteSpace = "pre";
|
||||||
|
style.font = "inherit";
|
||||||
|
style.overflow = isRoot ? "hidden" : "visible";
|
||||||
|
};
|
||||||
|
|
||||||
|
this.checkForSizeChanges = function() {
|
||||||
|
var size = this.$measureSizes();
|
||||||
|
if (size && (this.$characterSize.width !== size.width || this.$characterSize.height !== size.height)) {
|
||||||
|
this.$measureNode.style.fontWeight = "bold";
|
||||||
|
var boldSize = this.$measureSizes();
|
||||||
|
this.$measureNode.style.fontWeight = "";
|
||||||
|
this.$characterSize = size;
|
||||||
|
this.charSizes = Object.create(null);
|
||||||
|
this.allowBoldFonts = boldSize && boldSize.width === size.width && boldSize.height === size.height;
|
||||||
|
this._emit("changeCharacterSize", {data: size});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$pollSizeChanges = function() {
|
||||||
|
if (this.$pollSizeChangesTimer)
|
||||||
|
return this.$pollSizeChangesTimer;
|
||||||
|
var self = this;
|
||||||
|
return this.$pollSizeChangesTimer = setInterval(function() {
|
||||||
|
self.checkForSizeChanges();
|
||||||
|
}, 500);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.setPolling = function(val) {
|
||||||
|
if (val) {
|
||||||
|
this.$pollSizeChanges();
|
||||||
|
} else {
|
||||||
|
if (this.$pollSizeChangesTimer)
|
||||||
|
this.$pollSizeChangesTimer;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$measureSizes = function() {
|
||||||
|
var rect = this.$measureNode.getBoundingClientRect();
|
||||||
|
var size = {
|
||||||
|
height: rect.height,
|
||||||
|
width: rect.width / CHAR_COUNT
|
||||||
|
};
|
||||||
|
// Size and width can be null if the editor is not visible or
|
||||||
|
// detached from the document
|
||||||
|
if (size.width === 0 || size.height === 0)
|
||||||
|
return null;
|
||||||
|
return size;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$measureCharWidth = function(ch) {
|
||||||
|
this.$main.textContent = lang.stringRepeat(ch, CHAR_COUNT);
|
||||||
|
var rect = this.$main.getBoundingClientRect();
|
||||||
|
return rect.width / CHAR_COUNT;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.getCharacterWidth = function(ch) {
|
||||||
|
var w = this.charSizes[ch];
|
||||||
|
if (w === undefined) {
|
||||||
|
this.charSizes[ch] = this.$measureCharWidth(ch) / this.$characterSize.width;
|
||||||
|
}
|
||||||
|
return w;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.destroy = function() {
|
||||||
|
clearInterval(this.$pollSizeChangesTimer);
|
||||||
|
if (this.el && this.el.parentNode)
|
||||||
|
this.el.parentNode.removeChild(this.el);
|
||||||
|
};
|
||||||
|
|
||||||
|
}).call(FontMetrics.prototype);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
@ -119,7 +119,8 @@ var Gutter = function(parentEl) {
|
||||||
this.update = function(config) {
|
this.update = function(config) {
|
||||||
var session = this.session;
|
var session = this.session;
|
||||||
var firstRow = config.firstRow;
|
var firstRow = config.firstRow;
|
||||||
var lastRow = Math.min(config.lastRow + 1, session.getLength() - 1); // needed to compensate
|
var lastRow = Math.min(config.lastRow + config.gutterOffset, // needed to compensate for hor scollbar
|
||||||
|
session.getLength() - 1);
|
||||||
var fold = session.getNextFoldLine(firstRow);
|
var fold = session.getNextFoldLine(firstRow);
|
||||||
var foldStart = fold ? fold.start.row : Infinity;
|
var foldStart = fold ? fold.start.row : Infinity;
|
||||||
var foldWidgets = this.$showFoldWidgets && session.foldWidgets;
|
var foldWidgets = this.$showFoldWidgets && session.foldWidgets;
|
||||||
|
|
|
||||||
|
|
@ -41,154 +41,58 @@ var Text = function(parentEl) {
|
||||||
this.element = dom.createElement("div");
|
this.element = dom.createElement("div");
|
||||||
this.element.className = "ace_layer ace_text-layer";
|
this.element.className = "ace_layer ace_text-layer";
|
||||||
parentEl.appendChild(this.element);
|
parentEl.appendChild(this.element);
|
||||||
|
this.$updateEolChar = this.$updateEolChar.bind(this);
|
||||||
this.$characterSize = {width: 0, height: 0};
|
|
||||||
this.checkForSizeChanges();
|
|
||||||
this.$pollSizeChanges();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
oop.implement(this, EventEmitter);
|
oop.implement(this, EventEmitter);
|
||||||
|
|
||||||
this.EOF_CHAR = "\xB6"; //"¶";
|
this.EOF_CHAR = "\xB6";
|
||||||
this.EOL_CHAR = "\xAC"; //"¬";
|
this.EOL_CHAR_LF = "\xAC";
|
||||||
this.TAB_CHAR = "\u2192"; //"→" "\u21E5";
|
this.EOL_CHAR_CRLF = "\xa4";
|
||||||
this.SPACE_CHAR = "\xB7"; //"·";
|
this.EOL_CHAR = this.EOL_CHAR_LF;
|
||||||
|
this.TAB_CHAR = "\u2192"; //"\u21E5";
|
||||||
|
this.SPACE_CHAR = "\xB7";
|
||||||
this.$padding = 0;
|
this.$padding = 0;
|
||||||
|
|
||||||
|
this.$updateEolChar = function() {
|
||||||
|
var EOL_CHAR = this.session.doc.getNewLineCharacter() == "\n"
|
||||||
|
? this.EOL_CHAR_LF
|
||||||
|
: this.EOL_CHAR_CRLF;
|
||||||
|
if (this.EOL_CHAR != EOL_CHAR) {
|
||||||
|
this.EOL_CHAR = EOL_CHAR;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.setPadding = function(padding) {
|
this.setPadding = function(padding) {
|
||||||
this.$padding = padding;
|
this.$padding = padding;
|
||||||
this.element.style.padding = "0 " + padding + "px";
|
this.element.style.padding = "0 " + padding + "px";
|
||||||
};
|
};
|
||||||
|
|
||||||
this.getLineHeight = function() {
|
this.getLineHeight = function() {
|
||||||
return this.$characterSize.height || 0;
|
return this.$fontMetrics.$characterSize.height || 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.getCharacterWidth = function() {
|
this.getCharacterWidth = function() {
|
||||||
return this.$characterSize.width || 0;
|
return this.$fontMetrics.$characterSize.width || 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.$setFontMetrics = function(measure) {
|
||||||
|
this.$fontMetrics = measure;
|
||||||
|
this.$fontMetrics.on("changeCharacterSize", function(e) {
|
||||||
|
this._signal("changeCharacterSize", e);
|
||||||
|
}.bind(this));
|
||||||
|
this.$pollSizeChanges();
|
||||||
|
}
|
||||||
|
|
||||||
this.checkForSizeChanges = function() {
|
this.checkForSizeChanges = function() {
|
||||||
var size = this.$measureSizes();
|
this.$fontMetrics.checkForSizeChanges();
|
||||||
if (size && (this.$characterSize.width !== size.width || this.$characterSize.height !== size.height)) {
|
|
||||||
this.$measureNode.style.fontWeight = "bold";
|
|
||||||
var boldSize = this.$measureSizes();
|
|
||||||
this.$measureNode.style.fontWeight = "";
|
|
||||||
this.$characterSize = size;
|
|
||||||
this.allowBoldFonts = boldSize && boldSize.width === size.width && boldSize.height === size.height;
|
|
||||||
this._emit("changeCharacterSize", {data: size});
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$pollSizeChanges = function() {
|
this.$pollSizeChanges = function() {
|
||||||
var self = this;
|
return this.$pollSizeChangesTimer = this.$fontMetrics.$pollSizeChanges();
|
||||||
this.$pollSizeChangesTimer = setInterval(function() {
|
|
||||||
self.checkForSizeChanges();
|
|
||||||
}, 500);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$fontStyles = {
|
|
||||||
fontFamily : 1,
|
|
||||||
fontSize : 1,
|
|
||||||
fontWeight : 1,
|
|
||||||
fontStyle : 1,
|
|
||||||
lineHeight : 1
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$measureSizes = useragent.isIE || useragent.isOldGecko ? function() {
|
|
||||||
var n = 1000;
|
|
||||||
if (!this.$measureNode) {
|
|
||||||
var measureNode = this.$measureNode = dom.createElement("div");
|
|
||||||
var style = measureNode.style;
|
|
||||||
|
|
||||||
style.width = style.height = "auto";
|
|
||||||
style.left = style.top = (-n * 40) + "px";
|
|
||||||
|
|
||||||
style.visibility = "hidden";
|
|
||||||
style.position = "fixed";
|
|
||||||
style.overflow = "visible";
|
|
||||||
style.whiteSpace = "nowrap";
|
|
||||||
|
|
||||||
// in FF 3.6 monospace fonts can have a fixed sub pixel width.
|
|
||||||
// that's why we have to measure many characters
|
|
||||||
// Note: characterWidth can be a float!
|
|
||||||
measureNode.innerHTML = lang.stringRepeat("Xy", n);
|
|
||||||
|
|
||||||
if (this.element.ownerDocument.body) {
|
|
||||||
this.element.ownerDocument.body.appendChild(measureNode);
|
|
||||||
} else {
|
|
||||||
var container = this.element.parentNode;
|
|
||||||
while (!dom.hasCssClass(container, "ace_editor"))
|
|
||||||
container = container.parentNode;
|
|
||||||
container.appendChild(measureNode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Size and width can be null if the editor is not visible or
|
|
||||||
// detached from the document
|
|
||||||
if (!this.element.offsetWidth)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
var style = this.$measureNode.style;
|
|
||||||
var computedStyle = dom.computedStyle(this.element);
|
|
||||||
for (var prop in this.$fontStyles)
|
|
||||||
style[prop] = computedStyle[prop];
|
|
||||||
|
|
||||||
var size = {
|
|
||||||
height: this.$measureNode.offsetHeight,
|
|
||||||
width: this.$measureNode.offsetWidth / (n * 2)
|
|
||||||
};
|
|
||||||
|
|
||||||
// Size and width can be null if the editor is not visible or
|
|
||||||
// detached from the document
|
|
||||||
if (size.width == 0 || size.height == 0)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
: function() {
|
|
||||||
if (!this.$measureNode) {
|
|
||||||
var measureNode = this.$measureNode = dom.createElement("div");
|
|
||||||
var style = measureNode.style;
|
|
||||||
|
|
||||||
style.width = style.height = "auto";
|
|
||||||
style.left = style.top = -100 + "px";
|
|
||||||
|
|
||||||
style.visibility = "hidden";
|
|
||||||
style.position = "fixed";
|
|
||||||
style.overflow = "visible";
|
|
||||||
style.whiteSpace = "nowrap";
|
|
||||||
|
|
||||||
// fixes fractional fixed-width fonts; see http://git.io/CavZNw
|
|
||||||
measureNode.innerHTML = lang.stringRepeat("X", 100);
|
|
||||||
|
|
||||||
var container = this.element.parentNode;
|
|
||||||
while (container && !dom.hasCssClass(container, "ace_editor"))
|
|
||||||
container = container.parentNode;
|
|
||||||
|
|
||||||
if (!container)
|
|
||||||
return this.$measureNode = null;
|
|
||||||
|
|
||||||
container.appendChild(measureNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
var rect = this.$measureNode.getBoundingClientRect();
|
|
||||||
|
|
||||||
var size = {
|
|
||||||
height: rect.height,
|
|
||||||
width: rect.width / 100
|
|
||||||
};
|
|
||||||
|
|
||||||
// Size and width can be null if the editor is not visible or
|
|
||||||
// detached from the document
|
|
||||||
if (size.width == 0 || size.height == 0)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
return size;
|
|
||||||
};
|
|
||||||
|
|
||||||
this.setSession = function(session) {
|
this.setSession = function(session) {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
this.$computeTabString();
|
this.$computeTabString();
|
||||||
|
|
@ -222,7 +126,7 @@ var Text = function(parentEl) {
|
||||||
var tabStr = this.$tabStrings = [0];
|
var tabStr = this.$tabStrings = [0];
|
||||||
for (var i = 1; i < tabSize + 1; i++) {
|
for (var i = 1; i < tabSize + 1; i++) {
|
||||||
if (this.showInvisibles) {
|
if (this.showInvisibles) {
|
||||||
tabStr.push("<span class='ace_invisible'>"
|
tabStr.push("<span class='ace_invisible ace_invisible_tab'>"
|
||||||
+ this.TAB_CHAR
|
+ this.TAB_CHAR
|
||||||
+ lang.stringRepeat("\xa0", i - 1)
|
+ lang.stringRepeat("\xa0", i - 1)
|
||||||
+ "</span>");
|
+ "</span>");
|
||||||
|
|
@ -233,8 +137,12 @@ var Text = function(parentEl) {
|
||||||
if (this.displayIndentGuides) {
|
if (this.displayIndentGuides) {
|
||||||
this.$indentGuideRe = /\s\S| \t|\t |\s$/;
|
this.$indentGuideRe = /\s\S| \t|\t |\s$/;
|
||||||
var className = "ace_indent-guide";
|
var className = "ace_indent-guide";
|
||||||
|
var spaceClass = "";
|
||||||
|
var tabClass = "";
|
||||||
if (this.showInvisibles) {
|
if (this.showInvisibles) {
|
||||||
className += " ace_invisible";
|
className += " ace_invisible";
|
||||||
|
spaceClass = " ace_invisible_space";
|
||||||
|
tabClass = " ace_invisible_tab";
|
||||||
var spaceContent = lang.stringRepeat(this.SPACE_CHAR, this.tabSize);
|
var spaceContent = lang.stringRepeat(this.SPACE_CHAR, this.tabSize);
|
||||||
var tabContent = this.TAB_CHAR + lang.stringRepeat("\xa0", this.tabSize - 1);
|
var tabContent = this.TAB_CHAR + lang.stringRepeat("\xa0", this.tabSize - 1);
|
||||||
} else{
|
} else{
|
||||||
|
|
@ -242,8 +150,8 @@ var Text = function(parentEl) {
|
||||||
var tabContent = spaceContent;
|
var tabContent = spaceContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$tabStrings[" "] = "<span class='" + className + "'>" + spaceContent + "</span>";
|
this.$tabStrings[" "] = "<span class='" + className + spaceClass + "'>" + spaceContent + "</span>";
|
||||||
this.$tabStrings["\t"] = "<span class='" + className + "'>" + tabContent + "</span>";
|
this.$tabStrings["\t"] = "<span class='" + className + tabClass + "'>" + tabContent + "</span>";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -417,7 +325,7 @@ var Text = function(parentEl) {
|
||||||
var replaceFunc = function(c, a, b, tabIdx, idx4) {
|
var replaceFunc = function(c, a, b, tabIdx, idx4) {
|
||||||
if (a) {
|
if (a) {
|
||||||
return self.showInvisibles ?
|
return self.showInvisibles ?
|
||||||
"<span class='ace_invisible'>" + lang.stringRepeat(self.SPACE_CHAR, c.length) + "</span>" :
|
"<span class='ace_invisible ace_invisible_space'>" + lang.stringRepeat(self.SPACE_CHAR, c.length) + "</span>" :
|
||||||
lang.stringRepeat("\xa0", c.length);
|
lang.stringRepeat("\xa0", c.length);
|
||||||
} else if (c == "&") {
|
} else if (c == "&") {
|
||||||
return "&";
|
return "&";
|
||||||
|
|
@ -429,14 +337,14 @@ var Text = function(parentEl) {
|
||||||
return self.$tabStrings[tabSize];
|
return self.$tabStrings[tabSize];
|
||||||
} else if (c == "\u3000") {
|
} else if (c == "\u3000") {
|
||||||
// U+3000 is both invisible AND full-width, so must be handled uniquely
|
// U+3000 is both invisible AND full-width, so must be handled uniquely
|
||||||
var classToUse = self.showInvisibles ? "ace_cjk ace_invisible" : "ace_cjk";
|
var classToUse = self.showInvisibles ? "ace_cjk ace_invisible ace_invisible_space" : "ace_cjk";
|
||||||
var space = self.showInvisibles ? self.SPACE_CHAR : "";
|
var space = self.showInvisibles ? self.SPACE_CHAR : "";
|
||||||
screenColumn += 1;
|
screenColumn += 1;
|
||||||
return "<span class='" + classToUse + "' style='width:" +
|
return "<span class='" + classToUse + "' style='width:" +
|
||||||
(self.config.characterWidth * 2) +
|
(self.config.characterWidth * 2) +
|
||||||
"px'>" + space + "</span>";
|
"px'>" + space + "</span>";
|
||||||
} else if (b) {
|
} else if (b) {
|
||||||
return "<span class='ace_invisible ace_invalid'>" + self.SPACE_CHAR + "</span>";
|
return "<span class='ace_invisible ace_invisible_space ace_invalid'>" + self.SPACE_CHAR + "</span>";
|
||||||
} else {
|
} else {
|
||||||
screenColumn += 1;
|
screenColumn += 1;
|
||||||
return "<span class='ace_cjk' style='width:" +
|
return "<span class='ace_cjk' style='width:" +
|
||||||
|
|
@ -573,7 +481,7 @@ var Text = function(parentEl) {
|
||||||
row = foldLine.end.row
|
row = foldLine.end.row
|
||||||
|
|
||||||
stringBuilder.push(
|
stringBuilder.push(
|
||||||
"<span class='ace_invisible'>",
|
"<span class='ace_invisible ace_invisible_eol'>",
|
||||||
row == this.session.getLength() - 1 ? this.EOF_CHAR : this.EOL_CHAR,
|
row == this.session.getLength() - 1 ? this.EOF_CHAR : this.EOL_CHAR,
|
||||||
"</span>"
|
"</span>"
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -81,14 +81,14 @@ module.exports = {
|
||||||
this.textLayer.$renderLine(stringBuilder, 0, true);
|
this.textLayer.$renderLine(stringBuilder, 0, true);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
stringBuilder.join(""),
|
stringBuilder.join(""),
|
||||||
"<span class='ace_cjk ace_invisible' style='width:20px'>" + this.textLayer.SPACE_CHAR + "</span>"
|
"<span class='ace_cjk ace_invisible ace_invisible_space' style='width:20px'>" + this.textLayer.SPACE_CHAR + "</span>"
|
||||||
+ "<span class='ace_invisible'>\xB6</span>"
|
+ "<span class='ace_invisible ace_invisible_eol'>\xB6</span>"
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
"test rendering of indent guides" : function() {
|
"test rendering of indent guides" : function() {
|
||||||
var textLayer = this.textLayer
|
var textLayer = this.textLayer
|
||||||
var EOL = "<span class='ace_invisible'>" + textLayer.EOL_CHAR + "</span>";
|
var EOL = "<span class='ace_invisible ace_invisible_eol'>" + textLayer.EOL_CHAR + "</span>";
|
||||||
var SPACE = function(i) {return Array(i+1).join("\xa0")}
|
var SPACE = function(i) {return Array(i+1).join("\xa0")}
|
||||||
var DOT = function(i) {return Array(i+1).join(textLayer.SPACE_CHAR)}
|
var DOT = function(i) {return Array(i+1).join(textLayer.SPACE_CHAR)}
|
||||||
var TAB = function(i) {return textLayer.TAB_CHAR + SPACE(i-1)}
|
var TAB = function(i) {return textLayer.TAB_CHAR + SPACE(i-1)}
|
||||||
|
|
@ -108,13 +108,13 @@ module.exports = {
|
||||||
]);
|
]);
|
||||||
this.textLayer.setShowInvisibles(true);
|
this.textLayer.setShowInvisibles(true);
|
||||||
testRender([
|
testRender([
|
||||||
"<span class='ace_indent-guide ace_invisible'>" + DOT(4) + "</span><span class='ace_invisible'>" + DOT(2) + "</span>" + EOL,
|
"<span class='ace_indent-guide ace_invisible ace_invisible_space'>" + DOT(4) + "</span><span class='ace_invisible ace_invisible_space'>" + DOT(2) + "</span>" + EOL,
|
||||||
"<span class='ace_indent-guide ace_invisible'>" + TAB(4) + "</span><span class='ace_invisible'>" + TAB(4) + "</span><span class='ace_identifier'>f</span>" + EOL,
|
"<span class='ace_indent-guide ace_invisible ace_invisible_tab'>" + TAB(4) + "</span><span class='ace_invisible ace_invisible_tab'>" + TAB(4) + "</span><span class='ace_identifier'>f</span>" + EOL,
|
||||||
]);
|
]);
|
||||||
this.textLayer.setDisplayIndentGuides(false);
|
this.textLayer.setDisplayIndentGuides(false);
|
||||||
testRender([
|
testRender([
|
||||||
"<span class='ace_invisible'>" + DOT(6) + "</span>" + EOL,
|
"<span class='ace_invisible ace_invisible_space'>" + DOT(6) + "</span>" + EOL,
|
||||||
"<span class='ace_invisible'>" + TAB(4) + "</span><span class='ace_invisible'>" + TAB(4) + "</span><span class='ace_identifier'>f</span>" + EOL
|
"<span class='ace_invisible ace_invisible_tab'>" + TAB(4) + "</span><span class='ace_invisible ace_invisible_tab'>" + TAB(4) + "</span><span class='ace_identifier'>f</span>" + EOL
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
var keys = require("./keys");
|
var keys = require("./keys");
|
||||||
var useragent = require("./useragent");
|
var useragent = require("./useragent");
|
||||||
var dom = require("./dom");
|
|
||||||
|
|
||||||
exports.addListener = function(elem, type, callback) {
|
exports.addListener = function(elem, type, callback) {
|
||||||
if (elem.addEventListener) {
|
if (elem.addEventListener) {
|
||||||
|
|
@ -170,7 +169,7 @@ exports.addMultiMouseDownListener = function(el, timeouts, eventHandler, callbac
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.addListener(el, "mousedown", function(e) {
|
exports.addListener(el, "mousedown", function(e) {
|
||||||
if (exports.getButton(e) != 0) {
|
if (exports.getButton(e) !== 0) {
|
||||||
clicks = 0;
|
clicks = 0;
|
||||||
} else if (e.detail > 1) {
|
} else if (e.detail > 1) {
|
||||||
clicks++;
|
clicks++;
|
||||||
|
|
@ -210,22 +209,27 @@ exports.addMultiMouseDownListener = function(el, timeouts, eventHandler, callbac
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function normalizeCommandKeys(callback, e, keyCode) {
|
var getModifierHash = useragent.isMac && useragent.isOpera && !("KeyboardEvent" in window)
|
||||||
var hashId = 0;
|
? function(e) {
|
||||||
if ((useragent.isOpera && !("KeyboardEvent" in window)) && useragent.isMac) {
|
return 0 | (e.metaKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.ctrlKey ? 8 : 0);
|
||||||
hashId = 0 | (e.metaKey ? 1 : 0) | (e.altKey ? 2 : 0)
|
|
||||||
| (e.shiftKey ? 4 : 0) | (e.ctrlKey ? 8 : 0);
|
|
||||||
} else {
|
|
||||||
hashId = 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0)
|
|
||||||
| (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0);
|
|
||||||
}
|
}
|
||||||
|
: function(e) {
|
||||||
|
return 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.getModifierString = function(e) {
|
||||||
|
return keys.KEY_MODS[getModifierHash(e)];
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeCommandKeys(callback, e, keyCode) {
|
||||||
|
var hashId = getModifierHash(e);
|
||||||
|
|
||||||
if (!useragent.isMac && pressedKeys) {
|
if (!useragent.isMac && pressedKeys) {
|
||||||
if (pressedKeys[91] || pressedKeys[92])
|
if (pressedKeys[91] || pressedKeys[92])
|
||||||
hashId |= 8;
|
hashId |= 8;
|
||||||
if (pressedKeys.altGr) {
|
if (pressedKeys.altGr) {
|
||||||
if ((3 & hashId) != 3)
|
if ((3 & hashId) != 3)
|
||||||
pressedKeys.altGr = 0
|
pressedKeys.altGr = 0;
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -267,13 +271,12 @@ function normalizeCommandKeys(callback, e, keyCode) {
|
||||||
|
|
||||||
if (!hashId && keyCode === 13) {
|
if (!hashId && keyCode === 13) {
|
||||||
if (e.location || e.keyLocation === 3) {
|
if (e.location || e.keyLocation === 3) {
|
||||||
callback(e, hashId, -keyCode)
|
callback(e, hashId, -keyCode);
|
||||||
if (e.defaultPrevented)
|
if (e.defaultPrevented)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// If there is no hashId and the keyCode is not a function key, then
|
// If there is no hashId and the keyCode is not a function key, then
|
||||||
// we don't call the callback as we don't handle a command key here
|
// we don't call the callback as we don't handle a command key here
|
||||||
// (it's a normal key/character input).
|
// (it's a normal key/character input).
|
||||||
|
|
@ -281,8 +284,6 @@ function normalizeCommandKeys(callback, e, keyCode) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return callback(e, hashId, keyCode);
|
return callback(e, hashId, keyCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,8 +102,8 @@ var Keys = (function() {
|
||||||
73: 'i', 74: 'j', 75: 'k', 76: 'l', 77: 'm', 78: 'n', 79: 'o',
|
73: 'i', 74: 'j', 75: 'k', 76: 'l', 77: 'm', 78: 'n', 79: 'o',
|
||||||
80: 'p', 81: 'q', 82: 'r', 83: 's', 84: 't', 85: 'u', 86: 'v',
|
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: '.',
|
87: 'w', 88: 'x', 89: 'y', 90: 'z', 107: '+', 109: '-', 110: '.',
|
||||||
188: ',', 190: '.', 191: '/', 192: '`', 219: '[', 220: '\\',
|
187: '=', 188: ',', 189: '-', 190: '.', 191: '/', 192: '`', 219: '[',
|
||||||
221: ']', 222: '\''
|
220: '\\',221: ']', 222: '\'',
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -134,12 +134,21 @@ var Keys = (function() {
|
||||||
// workaround for firefox bug
|
// workaround for firefox bug
|
||||||
ret[173] = '-';
|
ret[173] = '-';
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
var mods = ["cmd", "ctrl", "alt", "shift"];
|
||||||
|
for (var i = Math.pow(2, mods.length); i--;) {
|
||||||
|
ret.KEY_MODS[i] = mods.filter(function(x) {
|
||||||
|
return i & ret.KEY_MODS[x];
|
||||||
|
}).join("-") + "-";
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
})();
|
})();
|
||||||
oop.mixin(exports, Keys);
|
oop.mixin(exports, Keys);
|
||||||
|
|
||||||
exports.keyCodeToString = function(keyCode) {
|
exports.keyCodeToString = function(keyCode) {
|
||||||
return (Keys[keyCode] || String.fromCharCode(keyCode)).toLowerCase();
|
return (Keys[keyCode] || String.fromCharCode(keyCode)).toLowerCase();
|
||||||
}
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -38,4 +38,14 @@ exports.loadScript = function(path, callback) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Convert a url into a fully qualified absolute URL
|
||||||
|
* This function does not work in IE6
|
||||||
|
*/
|
||||||
|
exports.qualifyURL = function(url) {
|
||||||
|
var a = document.createElement('a');
|
||||||
|
a.href = url;
|
||||||
|
return a.href;
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ exports.isLinux = (os == "linux");
|
||||||
// Windows Store JavaScript apps (aka Metro apps written in HTML5 and JavaScript) do not use the "Microsoft Internet Explorer" string in their user agent, but "MSAppHost" instead.
|
// Windows Store JavaScript apps (aka Metro apps written in HTML5 and JavaScript) do not use the "Microsoft Internet Explorer" string in their user agent, but "MSAppHost" instead.
|
||||||
exports.isIE =
|
exports.isIE =
|
||||||
(navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSAppHost") >= 0)
|
(navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSAppHost") >= 0)
|
||||||
&& parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]);
|
&& parseFloat(navigator.userAgent.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:|MSIE )([0-9]+[\.0-9]+)/)[1]);
|
||||||
|
|
||||||
exports.isOldIE = exports.isIE && exports.isIE < 9;
|
exports.isOldIE = exports.isIE && exports.isIE < 9;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ function generateTestData() {
|
||||||
var tokenizer = new Mode().getTokenizer();
|
var tokenizer = new Mode().getTokenizer();
|
||||||
|
|
||||||
var state = "start";
|
var state = "start";
|
||||||
var data = text.split(/\n|\r|\r\n/).map(function(line) {
|
var data = text.split(/\r\n|\r|\n/).map(function(line) {
|
||||||
var data = tokenizer.getLineTokens(line, state);
|
var data = tokenizer.getLineTokens(line, state);
|
||||||
var tmp = [];
|
var tmp = [];
|
||||||
tmp.push(JSON.stringify(data.state));
|
tmp.push(JSON.stringify(data.state));
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,26 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["comment","<!--- hello world --->"]
|
["comment.xml","<!--- hello world --->"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","cfset"],
|
["meta.tag.tag-name.xml","cfset"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","welcome"],
|
["entity.other.attribute-name.xml","welcome"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"Hello World!\""],
|
["string.attribute-value.xml","\"Hello World!\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","cfoutput"],
|
["meta.tag.tag-name.xml","cfoutput"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","#welcome#"],
|
["text.xml","#welcome#"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","cfoutput"],
|
["meta.tag.tag-name.xml","cfoutput"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,56 +1,56 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["text","tokenize Curly template"],
|
["text.xml","tokenize Curly template"],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text","test"],
|
["text","test"],
|
||||||
["variable","}}"]
|
["variable","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","tokenize embedded script"]
|
["text.xml","tokenize embedded script"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","a"],
|
["entity.other.attribute-name.xml","a"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","'a'"],
|
["string.attribute-value.xml","'a'"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["storage.type","var"],
|
["storage.type","var"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","'123'"]
|
["text.xml","'123'"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","tokenize multiline attribute value with double quotes"]
|
["text.xml","tokenize multiline attribute value with double quotes"]
|
||||||
],[
|
],[
|
||||||
["qqstring_inner","start_tag_stuff"],
|
["string.attribute-value.xml0","tag_stuff"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"abc{{xyz}}"]
|
["string.attribute-value.xml","\"abc{{xyz}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["string","def\""],
|
["string.attribute-value.xml","def\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","tokenize multiline attribute value with single quotes"]
|
["text.xml","tokenize multiline attribute value with single quotes"]
|
||||||
],[
|
],[
|
||||||
["qstring_inner","start_tag_stuff"],
|
["string.attribute-value.xml","tag_stuff"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","'abc"]
|
["string.attribute-value.xml","'abc"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["string","def\\\"'"],
|
["string.attribute-value.xml","def\\\"'"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,90 +1,90 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["punctuation.doctype.begin","<!"],
|
["xml-pe.doctype.xml","<!"],
|
||||||
["meta.tag.doctype","DOCTYPE"],
|
["xml-pe.doctype.xml","DOCTYPE"],
|
||||||
["text"," "],
|
["text.whitespace.xml"," "],
|
||||||
["xml-pe","html"],
|
["xml-pe.xml","html"],
|
||||||
["punctuation.doctype.end",">"]
|
["xml-pe.doctype.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Cloud9 Rocks!"],
|
["text.xml","Cloud9 Rocks!"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"table\""],
|
["string.attribute-value.xml","\"table\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Name"],
|
["text.xml","Name"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Size"],
|
["text.xml","Size"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["markup.list.meta.tag","<%"],
|
["markup.list.meta.tag","<%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","if"],
|
["keyword","if"],
|
||||||
|
|
@ -99,51 +99,51 @@
|
||||||
["markup.list.meta.tag","%>"]
|
["markup.list.meta.tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"..\""],
|
["string.attribute-value.xml","\"..\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text",".."],
|
["text.xml",".."],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["markup.list.meta.tag","<%"],
|
["markup.list.meta.tag","<%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["paren.rparen","}"],
|
["paren.rparen","}"],
|
||||||
|
|
@ -151,7 +151,7 @@
|
||||||
["markup.list.meta.tag","%>"]
|
["markup.list.meta.tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["markup.list.meta.tag","<%"],
|
["markup.list.meta.tag","<%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","entries"],
|
["identifier","entries"],
|
||||||
|
|
@ -168,25 +168,25 @@
|
||||||
["markup.list.meta.tag","%>"]
|
["markup.list.meta.tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","span"],
|
["meta.tag.tag-name.xml","span"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"glyphicon "],
|
["string.attribute-value.xml","\"glyphicon "],
|
||||||
["markup.list.meta.tag","<%="],
|
["markup.list.meta.tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","entry"],
|
["identifier","entry"],
|
||||||
|
|
@ -204,20 +204,20 @@
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["string","'file'"],
|
["string","'file'"],
|
||||||
["markup.list.meta.tag","%>"],
|
["markup.list.meta.tag","%>"],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","span"],
|
["meta.tag.tag-name.xml","span"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["markup.list.meta.tag","<%="],
|
["markup.list.meta.tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","entry"],
|
["identifier","entry"],
|
||||||
|
|
@ -225,8 +225,8 @@
|
||||||
["identifier","name"],
|
["identifier","name"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["markup.list.meta.tag","%>"],
|
["markup.list.meta.tag","%>"],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["markup.list.meta.tag","<%="],
|
["markup.list.meta.tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","entry"],
|
["identifier","entry"],
|
||||||
|
|
@ -234,21 +234,21 @@
|
||||||
["identifier","name"],
|
["identifier","name"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["markup.list.meta.tag","%>"],
|
["markup.list.meta.tag","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["markup.list.meta.tag","<%="],
|
["markup.list.meta.tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","entry"],
|
["identifier","entry"],
|
||||||
|
|
@ -256,18 +256,18 @@
|
||||||
["identifier","size"],
|
["identifier","size"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["markup.list.meta.tag","%>"],
|
["markup.list.meta.tag","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["markup.list.meta.tag","<%"],
|
["markup.list.meta.tag","<%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["paren.rparen","})"],
|
["paren.rparen","})"],
|
||||||
|
|
@ -275,22 +275,22 @@
|
||||||
["markup.list.meta.tag","%>"]
|
["markup.list.meta.tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -43,110 +43,110 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["punctuation.doctype.begin","<!"],
|
["xml-pe.doctype.xml","<!"],
|
||||||
["meta.tag.doctype","DOCTYPE"],
|
["xml-pe.doctype.xml","DOCTYPE"],
|
||||||
["text"," "],
|
["text.whitespace.xml"," "],
|
||||||
["xml-pe","html"],
|
["xml-pe.xml","html"],
|
||||||
["punctuation.doctype.end",">"]
|
["xml-pe.doctype.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","lang"],
|
["entity.other.attribute-name.xml","lang"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"en-us\""],
|
["string.attribute-value.xml","\"en-us\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","meta"],
|
["meta.tag.tag-name.xml","meta"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","charset"],
|
["entity.other.attribute-name.xml","charset"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"utf-8\""],
|
["string.attribute-value.xml","\"utf-8\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["meta.tag.punctuation.end","/>"]
|
["meta.tag.punctuation.tag-close.xml","/>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["string.interpolated","${"],
|
["string.interpolated","${"],
|
||||||
["variable","title"],
|
["variable","title"],
|
||||||
["keyword.operator","!"],
|
["keyword.operator","!"],
|
||||||
["string","\"FreeMarker\""],
|
["string","\"FreeMarker\""],
|
||||||
["string.interpolated","}"],
|
["string.interpolated","}"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h1"],
|
["meta.tag.tag-name.xml","h1"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Hello "],
|
["text.xml","Hello "],
|
||||||
["string.interpolated","${"],
|
["string.interpolated","${"],
|
||||||
["variable","name"],
|
["variable","name"],
|
||||||
["keyword.operator","!"],
|
["keyword.operator","!"],
|
||||||
["string","\"\""],
|
["string","\"\""],
|
||||||
["string.interpolated","}"],
|
["string.interpolated","}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h1"],
|
["meta.tag.tag-name.xml","h1"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Today is: "],
|
["text.xml","Today is: "],
|
||||||
["string.interpolated","${"],
|
["string.interpolated","${"],
|
||||||
["language.variable",".now"],
|
["language.variable",".now"],
|
||||||
["support.function","?date"],
|
["support.function","?date"],
|
||||||
["string.interpolated","}"],
|
["string.interpolated","}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","<#assign"],
|
["keyword.function","<#assign"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","x"],
|
["variable","x"],
|
||||||
|
|
@ -157,7 +157,7 @@
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","<#if"],
|
["keyword.function","<#if"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","x"],
|
["variable","x"],
|
||||||
|
|
@ -174,7 +174,7 @@
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["constant.numeric","14"],
|
["constant.numeric","14"],
|
||||||
["keyword",">"],
|
["keyword",">"],
|
||||||
["text","x equals 13: "],
|
["text.xml","x equals 13: "],
|
||||||
["string.interpolated","${"],
|
["string.interpolated","${"],
|
||||||
["variable","x"],
|
["variable","x"],
|
||||||
["string.interpolated","}"],
|
["string.interpolated","}"],
|
||||||
|
|
@ -182,16 +182,16 @@
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","<#list"],
|
["keyword.function","<#list"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","items"],
|
["variable","items"],
|
||||||
|
|
@ -202,14 +202,14 @@
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["string.interpolated","${"],
|
["string.interpolated","${"],
|
||||||
["variable","item_index"],
|
["variable","item_index"],
|
||||||
["string.interpolated","}"],
|
["string.interpolated","}"],
|
||||||
["text",": "],
|
["text.xml",": "],
|
||||||
["string.interpolated","${"],
|
["string.interpolated","${"],
|
||||||
["variable","item.name"],
|
["variable","item.name"],
|
||||||
["keyword.operator","!"],
|
["keyword.operator","!"],
|
||||||
|
|
@ -223,26 +223,26 @@
|
||||||
["constant.numeric","0"],
|
["constant.numeric","0"],
|
||||||
["paren.rparen","]"],
|
["paren.rparen","]"],
|
||||||
["string.interpolated","}"],
|
["string.interpolated","}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","</#list"],
|
["keyword.function","</#list"],
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," User directive: "],
|
["text.xml"," User directive: "],
|
||||||
["keyword.other","<@lib.function"],
|
["keyword.other","<@lib.function"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","attr1"],
|
["variable","attr1"],
|
||||||
|
|
@ -257,21 +257,21 @@
|
||||||
["keyword.operator","="],
|
["keyword.operator","="],
|
||||||
["constant.numeric","-42.12"],
|
["constant.numeric","-42.12"],
|
||||||
["keyword",">"],
|
["keyword",">"],
|
||||||
["text","Test"],
|
["text.xml","Test"],
|
||||||
["keyword.other","</@lib.function"],
|
["keyword.other","</@lib.function"],
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.other","<@anotherOne"],
|
["keyword.other","<@anotherOne"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","/>"]
|
["keyword","/>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","<#if"],
|
["keyword.function","<#if"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","variable"],
|
["variable","variable"],
|
||||||
|
|
@ -279,10 +279,10 @@
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Deprecated"]
|
["text.xml"," Deprecated"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","<#elseif"],
|
["keyword.function","<#elseif"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","variable"],
|
["variable","variable"],
|
||||||
|
|
@ -290,52 +290,52 @@
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Better"]
|
["text.xml"," Better"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","<#else"],
|
["keyword.function","<#else"],
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Default"]
|
["text.xml"," Default"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["keyword.function","</#if"],
|
["keyword.function","</#if"],
|
||||||
["keyword",">"]
|
["keyword",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.image","img"],
|
["meta.tag.image.tag-name.xml","img"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","src"],
|
["entity.other.attribute-name.xml","src"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"images/"],
|
["string.attribute-value.xml","\"images/"],
|
||||||
["string.interpolated","${"],
|
["string.interpolated","${"],
|
||||||
["variable","user.id"],
|
["variable","user.id"],
|
||||||
["string.interpolated","}"],
|
["string.interpolated","}"],
|
||||||
["string",".png\""],
|
["string.attribute-value.xml",".png\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["meta.tag.punctuation.end","/>"]
|
["meta.tag.punctuation.tag-close.xml","/>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
]]
|
]]
|
||||||
|
|
@ -7,16 +7,16 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"comments\""],
|
["string.attribute-value.xml","\"comments\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["storage.type.start","{{#"],
|
["storage.type.start","{{#"],
|
||||||
["variable.parameter","each"],
|
["variable.parameter","each"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -24,58 +24,58 @@
|
||||||
["storage.type.end","}}"]
|
["storage.type.end","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"/posts/"],
|
["string.attribute-value.xml","\"/posts/"],
|
||||||
["storage.type.start","{{"],
|
["storage.type.start","{{"],
|
||||||
["text","../"],
|
["text","../"],
|
||||||
["variable.parameter","permalink"],
|
["variable.parameter","permalink"],
|
||||||
["storage.type.end","}}"],
|
["storage.type.end","}}"],
|
||||||
["string","#"],
|
["string.attribute-value.xml","#"],
|
||||||
["storage.type.start","{{"],
|
["storage.type.start","{{"],
|
||||||
["variable.parameter","id"],
|
["variable.parameter","id"],
|
||||||
["storage.type.end","}}"],
|
["storage.type.end","}}"],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["storage.type.start","{{"],
|
["storage.type.start","{{"],
|
||||||
["variable.parameter","title"],
|
["variable.parameter","title"],
|
||||||
["storage.type.end","}}"],
|
["storage.type.end","}}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["storage.type.start","{{"],
|
["storage.type.start","{{"],
|
||||||
["variable.parameter","body"],
|
["variable.parameter","body"],
|
||||||
["storage.type.end","}}"],
|
["storage.type.end","}}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["storage.type.start","{{/"],
|
["storage.type.start","{{/"],
|
||||||
["variable.parameter","each"],
|
["variable.parameter","each"],
|
||||||
["storage.type.end","}}"]
|
["storage.type.end","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,51 +1,51 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","a"],
|
["entity.other.attribute-name.xml","a"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","'a'"],
|
["string.attribute-value.xml","'a'"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["storage.type","var"],
|
["storage.type","var"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","'123'"]
|
["text.xml","'123'"]
|
||||||
],[
|
],[
|
||||||
["qqstring_inner","start_tag_stuff"],
|
["string.attribute-value.xml0","tag_stuff"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"abc"]
|
["string.attribute-value.xml","\"abc"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["string"," def\""],
|
["string.attribute-value.xml"," def\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
["qstring_inner","start_tag_stuff"],
|
["string.attribute-value.xml","tag_stuff"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","'abc"]
|
["string.attribute-value.xml","'abc"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["string","def\\'"],
|
["string.attribute-value.xml","def\\'"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,82 +1,82 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h1"],
|
["meta.tag.tag-name.xml","h1"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Listing Books"],
|
["text.xml","Listing Books"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h1"],
|
["meta.tag.tag-name.xml","h1"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Title"],
|
["text.xml","Title"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Summary"],
|
["text.xml","Summary"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","th"],
|
["meta.tag.table.tag-name.xml","th"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["support.ruby_tag","<%"],
|
["support.ruby_tag","<%"],
|
||||||
|
|
@ -92,22 +92,22 @@
|
||||||
["support.ruby_tag","%>"]
|
["support.ruby_tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment.start.erb","<%#"],
|
["comment.start.erb","<%#"],
|
||||||
["comment"," comment "],
|
["comment"," comment "],
|
||||||
["comment.end.erb","%>"]
|
["comment.end.erb","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["support.ruby_tag","<%="],
|
["support.ruby_tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","book"],
|
["identifier","book"],
|
||||||
|
|
@ -115,15 +115,15 @@
|
||||||
["identifier","title"],
|
["identifier","title"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.ruby_tag","%>"],
|
["support.ruby_tag","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["support.ruby_tag","<%="],
|
["support.ruby_tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","book"],
|
["identifier","book"],
|
||||||
|
|
@ -131,15 +131,15 @@
|
||||||
["identifier","content"],
|
["identifier","content"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.ruby_tag","%>"],
|
["support.ruby_tag","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["support.ruby_tag","<%="],
|
["support.ruby_tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.function","link_to"],
|
["support.function","link_to"],
|
||||||
|
|
@ -149,15 +149,15 @@
|
||||||
["identifier","book"],
|
["identifier","book"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.ruby_tag","%>"],
|
["support.ruby_tag","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["support.ruby_tag","<%="],
|
["support.ruby_tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.function","link_to"],
|
["support.function","link_to"],
|
||||||
|
|
@ -170,15 +170,15 @@
|
||||||
["paren.rparen",")"],
|
["paren.rparen",")"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.ruby_tag","%>"],
|
["support.ruby_tag","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["support.ruby_tag","<%="],
|
["support.ruby_tag","<%="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.function","link_to"],
|
["support.function","link_to"],
|
||||||
|
|
@ -200,15 +200,15 @@
|
||||||
["constant.other.symbol.ruby",":delete"],
|
["constant.other.symbol.ruby",":delete"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.ruby_tag","%>"],
|
["support.ruby_tag","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["support.ruby_tag","<%"],
|
["support.ruby_tag","<%"],
|
||||||
|
|
@ -218,21 +218,21 @@
|
||||||
["support.ruby_tag","%>"]
|
["support.ruby_tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","br"],
|
["meta.tag.tag-name.xml","br"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["meta.tag.punctuation.end","/>"]
|
["meta.tag.punctuation.tag-close.xml","/>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["support.ruby_tag","<%="],
|
["support.ruby_tag","<%="],
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"js-start",
|
"js-start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"js-start",
|
"js-start",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -40,15 +40,15 @@
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"css-start",
|
"css-start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.style","style"],
|
["meta.tag.style.tag-name.xml","style"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
["css-ruleset","css-start"],
|
["css-ruleset","css-start"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -69,20 +69,20 @@
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.style","style"],
|
["meta.tag.style.tag-name.xml","style"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Today's date: "],
|
["text.xml"," Today's date: "],
|
||||||
["meta.tag","<%"],
|
["meta.tag","<%"],
|
||||||
["keyword.operator","="],
|
["keyword.operator","="],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -103,13 +103,13 @@
|
||||||
["meta.tag","%>"]
|
["meta.tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag","<%"],
|
["meta.tag","<%"],
|
||||||
["keyword.operator","!"],
|
["keyword.operator","!"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -124,7 +124,7 @@
|
||||||
["meta.tag","%>"]
|
["meta.tag","%>"]
|
||||||
],[
|
],[
|
||||||
"jsp-start",
|
"jsp-start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag","<jsp:declaration>"]
|
["meta.tag","<jsp:declaration>"]
|
||||||
],[
|
],[
|
||||||
"jsp-start",
|
"jsp-start",
|
||||||
|
|
@ -145,11 +145,11 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment","<%-- This is JSP comment --%>"]
|
["comment","<%-- This is JSP comment --%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag","<%@"],
|
["meta.tag","<%@"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","directive"],
|
["identifier","directive"],
|
||||||
|
|
@ -163,161 +163,161 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Select Languages:"],
|
["text.xml","Select Languages:"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.form","form"],
|
["meta.tag.form.tag-name.xml","form"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","ACTION"],
|
["entity.other.attribute-name.xml","ACTION"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"jspCheckBox.jsp\""],
|
["string.attribute-value.xml","\"jspCheckBox.jsp\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.form","input"],
|
["meta.tag.form.tag-name.xml","input"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"checkbox\""],
|
["string.attribute-value.xml","\"checkbox\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","name"],
|
["entity.other.attribute-name.xml","name"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"id\""],
|
["string.attribute-value.xml","\"id\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","value"],
|
["entity.other.attribute-name.xml","value"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"Java\""],
|
["string.attribute-value.xml","\"Java\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," Java"],
|
["text.xml"," Java"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","BR"],
|
["meta.tag.tag-name.xml","BR"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.form","input"],
|
["meta.tag.form.tag-name.xml","input"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"checkbox\""],
|
["string.attribute-value.xml","\"checkbox\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","name"],
|
["entity.other.attribute-name.xml","name"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"id\""],
|
["string.attribute-value.xml","\"id\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","value"],
|
["entity.other.attribute-name.xml","value"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\".NET\""],
|
["string.attribute-value.xml","\".NET\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," .NET"],
|
["text.xml"," .NET"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","BR"],
|
["meta.tag.tag-name.xml","BR"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.form","input"],
|
["meta.tag.form.tag-name.xml","input"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"checkbox\""],
|
["string.attribute-value.xml","\"checkbox\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","name"],
|
["entity.other.attribute-name.xml","name"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"id\""],
|
["string.attribute-value.xml","\"id\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","value"],
|
["entity.other.attribute-name.xml","value"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"PHP\""],
|
["string.attribute-value.xml","\"PHP\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," PHP"],
|
["text.xml"," PHP"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","BR"],
|
["meta.tag.tag-name.xml","BR"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.form","input"],
|
["meta.tag.form.tag-name.xml","input"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"checkbox\""],
|
["string.attribute-value.xml","\"checkbox\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","name"],
|
["entity.other.attribute-name.xml","name"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"id\""],
|
["string.attribute-value.xml","\"id\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","value"],
|
["entity.other.attribute-name.xml","value"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"C/C++\""],
|
["string.attribute-value.xml","\"C/C++\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," C/C++"],
|
["text.xml"," C/C++"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","BR"],
|
["meta.tag.tag-name.xml","BR"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.form","input"],
|
["meta.tag.form.tag-name.xml","input"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"checkbox\""],
|
["string.attribute-value.xml","\"checkbox\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","name"],
|
["entity.other.attribute-name.xml","name"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"id\""],
|
["string.attribute-value.xml","\"id\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","value"],
|
["entity.other.attribute-name.xml","value"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"PERL\""],
|
["string.attribute-value.xml","\"PERL\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," PERL "],
|
["text.xml"," PERL "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","BR"],
|
["meta.tag.tag-name.xml","BR"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.form","input"],
|
["meta.tag.form.tag-name.xml","input"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"submit\""],
|
["string.attribute-value.xml","\"submit\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","value"],
|
["entity.other.attribute-name.xml","value"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"Submit\""],
|
["string.attribute-value.xml","\"Submit\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.form","form"],
|
["meta.tag.form.tag-name.xml","form"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"jsp-start",
|
"jsp-start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag","<%"]
|
["meta.tag","<%"]
|
||||||
],[
|
],[
|
||||||
"jsp-start",
|
"jsp-start",
|
||||||
|
|
@ -424,12 +424,12 @@
|
||||||
["meta.tag","%>"]
|
["meta.tag","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,56 +1,56 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["text","The following examples can be found in full at http://liquidmarkup.org/"]
|
["text.xml","The following examples can be found in full at http://liquidmarkup.org/"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","Liquid is an extraction from the e-commerce system Shopify."]
|
["text.xml","Liquid is an extraction from the e-commerce system Shopify."]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","Shopify powers many thousands of e-commerce stores which all call for unique designs."]
|
["text.xml","Shopify powers many thousands of e-commerce stores which all call for unique designs."]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","For this we developed Liquid which allows our customers complete design freedom while"]
|
["text.xml","For this we developed Liquid which allows our customers complete design freedom while"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","maintaining the integrity of our servers."]
|
["text.xml","maintaining the integrity of our servers."]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","Liquid has been in production use since June 2006 and is now used by many other"]
|
["text.xml","Liquid has been in production use since June 2006 and is now used by many other"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","hosted web applications."]
|
["text.xml","hosted web applications."]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","It was developed for usage in Ruby on Rails web applications and integrates seamlessly"]
|
["text.xml","It was developed for usage in Ruby on Rails web applications and integrates seamlessly"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","as a plugin but it also works excellently as a stand alone library."]
|
["text.xml","as a plugin but it also works excellently as a stand alone library."]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","Here's what it looks like:"]
|
["text.xml","Here's what it looks like:"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"products\""],
|
["string.attribute-value.xml","\"products\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","for"],
|
["keyword","for"],
|
||||||
|
|
@ -64,16 +64,16 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","product"],
|
["identifier","product"],
|
||||||
|
|
@ -81,12 +81,12 @@
|
||||||
["identifier","title"],
|
["identifier","title"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","}}"],
|
["variable","}}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Only "],
|
["text.xml"," Only "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","product"],
|
["identifier","product"],
|
||||||
|
|
@ -100,10 +100,10 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","product"],
|
["identifier","product"],
|
||||||
|
|
@ -117,20 +117,20 @@
|
||||||
["constant.numeric","200"],
|
["constant.numeric","200"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","}}"],
|
["variable","}}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","endfor"],
|
["keyword","endfor"],
|
||||||
|
|
@ -138,34 +138,34 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","Some more features include:"]
|
["text.xml","Some more features include:"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Filters"],
|
["text.xml","Filters"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," The word \"tobi\" in uppercase: "],
|
["text.xml"," The word \"tobi\" in uppercase: "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["string","'tobi'"],
|
["string","'tobi'"],
|
||||||
|
|
@ -173,16 +173,16 @@
|
||||||
["support.function","upcase"],
|
["support.function","upcase"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","}}"],
|
["variable","}}"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","The word \"tobi\" has "],
|
["text.xml","The word \"tobi\" has "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["string","'tobi'"],
|
["string","'tobi'"],
|
||||||
|
|
@ -190,16 +190,16 @@
|
||||||
["support.function","size"],
|
["support.function","size"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","}}"],
|
["variable","}}"],
|
||||||
["text"," letters! "],
|
["text.xml"," letters! "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Change \"Hello world\" to \"Hi world\": "],
|
["text.xml","Change \"Hello world\" to \"Hi world\": "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["string","'Hello world'"],
|
["string","'Hello world'"],
|
||||||
|
|
@ -211,16 +211,16 @@
|
||||||
["string","'Hi'"],
|
["string","'Hi'"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","}}"],
|
["variable","}}"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","The date today is "],
|
["text.xml","The date today is "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["string","'now'"],
|
["string","'now'"],
|
||||||
|
|
@ -230,31 +230,31 @@
|
||||||
["string","\"%Y %b %d\""],
|
["string","\"%Y %b %d\""],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","}}"],
|
["variable","}}"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","If"],
|
["text.xml","If"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","if"],
|
["keyword","if"],
|
||||||
|
|
@ -278,13 +278,13 @@
|
||||||
["string","'marc'"],
|
["string","'marc'"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","%}"],
|
["variable","%}"],
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," hi marc or tobi"]
|
["text.xml"," hi marc or tobi"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","endif"],
|
["keyword","endif"],
|
||||||
|
|
@ -292,30 +292,30 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Case"],
|
["text.xml","Case"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","case"],
|
["keyword","case"],
|
||||||
|
|
@ -325,7 +325,7 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","when"],
|
["keyword","when"],
|
||||||
|
|
@ -335,10 +335,10 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Welcome"]
|
["text.xml"," Welcome"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","when"],
|
["keyword","when"],
|
||||||
|
|
@ -348,7 +348,7 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","product"],
|
["identifier","product"],
|
||||||
|
|
@ -358,7 +358,7 @@
|
||||||
["identifier","link_to_vendor"],
|
["identifier","link_to_vendor"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","}}"],
|
["variable","}}"],
|
||||||
["text"," / "],
|
["text.xml"," / "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","product"],
|
["identifier","product"],
|
||||||
|
|
@ -368,7 +368,7 @@
|
||||||
["variable","}}"]
|
["variable","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","else"],
|
["keyword","else"],
|
||||||
|
|
@ -376,7 +376,7 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","page_title"],
|
["identifier","page_title"],
|
||||||
|
|
@ -384,7 +384,7 @@
|
||||||
["variable","}}"]
|
["variable","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","endcase"],
|
["keyword","endcase"],
|
||||||
|
|
@ -392,30 +392,30 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","For Loops"],
|
["text.xml","For Loops"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","for"],
|
["keyword","for"],
|
||||||
|
|
@ -427,10 +427,10 @@
|
||||||
["identifier","array"],
|
["identifier","array"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable","%}"],
|
["variable","%}"],
|
||||||
["text"," "]
|
["text.xml"," "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","item"],
|
["identifier","item"],
|
||||||
|
|
@ -438,7 +438,7 @@
|
||||||
["variable","}}"]
|
["variable","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","endfor"],
|
["keyword","endfor"],
|
||||||
|
|
@ -446,30 +446,30 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Tables"],
|
["text.xml","Tables"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","tablerow"],
|
["keyword","tablerow"],
|
||||||
|
|
@ -487,7 +487,7 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","if"],
|
["keyword","if"],
|
||||||
|
|
@ -499,7 +499,7 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," First column: "],
|
["text.xml"," First column: "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","item"],
|
["identifier","item"],
|
||||||
|
|
@ -509,7 +509,7 @@
|
||||||
["variable","}}"]
|
["variable","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","else"],
|
["keyword","else"],
|
||||||
|
|
@ -517,7 +517,7 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Different column: "],
|
["text.xml"," Different column: "],
|
||||||
["variable","{{"],
|
["variable","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","item"],
|
["identifier","item"],
|
||||||
|
|
@ -527,7 +527,7 @@
|
||||||
["variable","}}"]
|
["variable","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","endif"],
|
["keyword","endif"],
|
||||||
|
|
@ -535,7 +535,7 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable","{%"],
|
["variable","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword","endtablerow"],
|
["keyword","endtablerow"],
|
||||||
|
|
@ -543,9 +543,9 @@
|
||||||
["variable","%}"]
|
["variable","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[[
|
[[
|
||||||
"comment",
|
"comment",
|
||||||
["comment.block.lsl","/*"]
|
["comment.block.begin.lsl","/*"]
|
||||||
],[
|
],[
|
||||||
"comment",
|
"comment",
|
||||||
["comment.block.lsl"," Testing syntax highlighting"]
|
["comment.block.lsl"," Testing syntax highlighting"]
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
["comment.block.lsl"," for the Linden Scripting Language"]
|
["comment.block.lsl"," for the Linden Scripting Language"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["comment.block.lsl","*/"]
|
["comment.block.end.lsl","*/"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
|
|
@ -51,14 +51,14 @@
|
||||||
"start",
|
"start",
|
||||||
["storage.type.lsl","integer"],
|
["storage.type.lsl","integer"],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["invalid.unimplemented.lsl","event"],
|
["invalid.illegal.lsl","event"],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["keyword.operator.lsl","="],
|
["keyword.operator.lsl","="],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["constant.numeric.lsl","5673"],
|
["constant.numeric.lsl","5673"],
|
||||||
["punctuation.operator.lsl",";"],
|
["punctuation.operator.lsl",";"],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["comment.line.double-slash.lsl","// unimplemented reserved keyword!"]
|
["comment.line.double-slash.lsl","// invalid.illegal"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
|
|
@ -368,14 +368,14 @@
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["invalid.unimplemented.lsl","event"],
|
["invalid.illegal.lsl","event"],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["keyword.operator.lsl","="],
|
["keyword.operator.lsl","="],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["constant.numeric.lsl","5673"],
|
["constant.numeric.lsl","5673"],
|
||||||
["punctuation.operator.lsl",";"],
|
["punctuation.operator.lsl",";"],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["comment.line.double-slash.lsl","// unimplemented reserved keyword!"]
|
["comment.line.double-slash.lsl","// invalid.illegal"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
|
|
@ -401,13 +401,21 @@
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["invalid.deprecated.lsl","llCloud"],
|
["reserved.godmode.lsl","llSetInventoryPermMask"],
|
||||||
["paren.lparen.lsl","("],
|
["paren.lparen.lsl","("],
|
||||||
["constant.language.vector.lsl","ZERO_VECTOR"],
|
["string.quoted.double.lsl.start","\""],
|
||||||
|
["string.quoted.double.lsl","some item"],
|
||||||
|
["string.quoted.double.lsl.end","\""],
|
||||||
|
["punctuation.operator.lsl",","],
|
||||||
|
["text.lsl"," "],
|
||||||
|
["constant.language.integer.lsl","MASK_NEXT"],
|
||||||
|
["punctuation.operator.lsl",","],
|
||||||
|
["text.lsl"," "],
|
||||||
|
["constant.language.integer.lsl","PERM_ALL"],
|
||||||
["paren.rparen.lsl",")"],
|
["paren.rparen.lsl",")"],
|
||||||
["punctuation.operator.lsl",";"],
|
["punctuation.operator.lsl",";"],
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["comment.line.double-slash.lsl","// invalid deprecated function!"]
|
["comment.line.double-slash.lsl","// reserved.godmode"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
|
|
@ -420,9 +428,9 @@
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["string.quoted.double.lsl.start","\""],
|
["string.quoted.double.lsl.start","\""],
|
||||||
["string.quoted.double.lsl","Leaving "],
|
["string.quoted.double.lsl","Leaving "],
|
||||||
["constant.language.escape.lsl","\\\""],
|
["constant.character.escape.lsl","\\\""],
|
||||||
["string.quoted.double.lsl","default"],
|
["string.quoted.double.lsl","default"],
|
||||||
["constant.language.escape.lsl","\\\""],
|
["constant.character.escape.lsl","\\\""],
|
||||||
["string.quoted.double.lsl"," now..."],
|
["string.quoted.double.lsl"," now..."],
|
||||||
["string.quoted.double.lsl.end","\""],
|
["string.quoted.double.lsl.end","\""],
|
||||||
["paren.rparen.lsl",")"],
|
["paren.rparen.lsl",")"],
|
||||||
|
|
@ -467,13 +475,13 @@
|
||||||
["text.lsl"," "],
|
["text.lsl"," "],
|
||||||
["string.quoted.double.lsl.start","\""],
|
["string.quoted.double.lsl.start","\""],
|
||||||
["string.quoted.double.lsl","Entered "],
|
["string.quoted.double.lsl","Entered "],
|
||||||
["constant.language.escape.lsl","\\\""],
|
["constant.character.escape.lsl","\\\""],
|
||||||
["string.quoted.double.lsl","state other"],
|
["string.quoted.double.lsl","state other"],
|
||||||
["constant.language.escape.lsl","\\\""],
|
["constant.character.escape.lsl","\\\""],
|
||||||
["string.quoted.double.lsl",", returning to "],
|
["string.quoted.double.lsl",", returning to "],
|
||||||
["constant.language.escape.lsl","\\\""],
|
["constant.character.escape.lsl","\\\""],
|
||||||
["string.quoted.double.lsl","default"],
|
["string.quoted.double.lsl","default"],
|
||||||
["constant.language.escape.lsl","\\\""],
|
["constant.character.escape.lsl","\\\""],
|
||||||
["string.quoted.double.lsl"," again..."],
|
["string.quoted.double.lsl"," again..."],
|
||||||
["string.quoted.double.lsl.end","\""],
|
["string.quoted.double.lsl.end","\""],
|
||||||
["paren.rparen.lsl",")"],
|
["paren.rparen.lsl",")"],
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,24 @@
|
||||||
[[
|
[[
|
||||||
"doctype",
|
"doctype",
|
||||||
["text",""],
|
["text.xml",""],
|
||||||
["punctuation.doctype.begin","<!"],
|
["xml-pe.doctype.xml","<!"],
|
||||||
["meta.tag.doctype","DOCTYPE"],
|
["xml-pe.doctype.xml","DOCTYPE"],
|
||||||
["text"," "],
|
["text.whitespace.xml"," "],
|
||||||
["xml-pe","html"],
|
["xml-pe.xml","html"],
|
||||||
["text"," "],
|
["text.whitespace.xml"," "],
|
||||||
["xml-pe","PUBLIC"],
|
["xml-pe.xml","PUBLIC"],
|
||||||
["text"," "],
|
["text.whitespace.xml"," "],
|
||||||
["string","\"-//W3C//DTD XHTML 1.0 Strict//EN\""]
|
["string.xml","\"-//W3C//DTD XHTML 1.0 Strict//EN\""]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.whitespace.xml"," "],
|
||||||
["string","\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\""],
|
["string.xml","\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\""],
|
||||||
["punctuation.doctype.end",">"]
|
["xml-pe.doctype.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
["lua-bracketedComment",2,"lua-start"],
|
["lua-bracketedComment",2,"lua-start"],
|
||||||
["keyword","<%"],
|
["keyword","<%"],
|
||||||
|
|
@ -37,32 +37,32 @@
|
||||||
["keyword","%>"]
|
["keyword","%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Reference"],
|
["text.xml","Reference"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","link"],
|
["meta.tag.tag-name.xml","link"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","rel"],
|
["entity.other.attribute-name.xml","rel"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"stylesheet\""],
|
["string.attribute-value.xml","\"stylesheet\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["keyword","<%="],
|
["keyword","<%="],
|
||||||
["identifier","luadoc"],
|
["identifier","luadoc"],
|
||||||
["text","."],
|
["text","."],
|
||||||
|
|
@ -75,129 +75,129 @@
|
||||||
["string","\"luadoc.css\""],
|
["string","\"luadoc.css\""],
|
||||||
["paren.rparen",")"],
|
["paren.rparen",")"],
|
||||||
["keyword","%>"],
|
["keyword","%>"],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"text/css\""],
|
["string.attribute-value.xml","\"text/css\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["meta.tag.punctuation.end","/>"]
|
["meta.tag.punctuation.tag-close.xml","/>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["comment","<!--meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/-->"]
|
["comment.xml","<!--meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/-->"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"container\""],
|
["string.attribute-value.xml","\"container\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"product\""],
|
["string.attribute-value.xml","\"product\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"product_logo\""],
|
["string.attribute-value.xml","\"product_logo\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"product_name\""],
|
["string.attribute-value.xml","\"product_name\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","big"],
|
["meta.tag.tag-name.xml","big"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","b"],
|
["meta.tag.tag-name.xml","b"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","b"],
|
["meta.tag.tag-name.xml","b"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","big"],
|
["meta.tag.tag-name.xml","big"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"product_description\""],
|
["string.attribute-value.xml","\"product_description\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment","<!-- id=\"product\" -->"]
|
["comment.xml","<!-- id=\"product\" -->"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"main\""],
|
["string.attribute-value.xml","\"main\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"navigation\""],
|
["string.attribute-value.xml","\"navigation\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","<%="],
|
["keyword","<%="],
|
||||||
|
|
@ -223,22 +223,22 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment","<!-- id=\"navigation\" -->"]
|
["comment.xml","<!-- id=\"navigation\" -->"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"content\""],
|
["string.attribute-value.xml","\"content\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
|
|
@ -267,25 +267,25 @@
|
||||||
["keyword","then%>"]
|
["keyword","then%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Modules"],
|
["text.xml","Modules"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"module_list\""],
|
["string.attribute-value.xml","\"module_list\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["comment","<!--<tr><td colspan=\"2\">Modules</td></tr>-->"]
|
["comment.xml","<!--<tr><td colspan=\"2\">Modules</td></tr>-->"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","<%for"],
|
["keyword","<%for"],
|
||||||
|
|
@ -306,26 +306,26 @@
|
||||||
["keyword","do%>"]
|
["keyword","do%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t\t"],
|
["text.xml","\t\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"name\""],
|
["string.attribute-value.xml","\"name\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["keyword","<%="],
|
["keyword","<%="],
|
||||||
["identifier","luadoc"],
|
["identifier","luadoc"],
|
||||||
["text","."],
|
["text","."],
|
||||||
|
|
@ -340,27 +340,27 @@
|
||||||
["identifier","doc"],
|
["identifier","doc"],
|
||||||
["paren.rparen",")"],
|
["paren.rparen",")"],
|
||||||
["keyword","%>"],
|
["keyword","%>"],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["keyword","<%="],
|
["keyword","<%="],
|
||||||
["identifier","modulename"],
|
["identifier","modulename"],
|
||||||
["keyword","%>"],
|
["keyword","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t\t"],
|
["text.xml","\t\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"summary\""],
|
["string.attribute-value.xml","\"summary\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["keyword","<%="],
|
["keyword","<%="],
|
||||||
["identifier","doc"],
|
["identifier","doc"],
|
||||||
["text","."],
|
["text","."],
|
||||||
|
|
@ -371,23 +371,23 @@
|
||||||
["text","."],
|
["text","."],
|
||||||
["identifier","summary"],
|
["identifier","summary"],
|
||||||
["keyword","%>"],
|
["keyword","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","<%end%>"]
|
["keyword","<%end%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","<%end%>"]
|
["keyword","<%end%>"]
|
||||||
|
|
@ -421,25 +421,25 @@
|
||||||
["keyword","then%>"]
|
["keyword","then%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Files"],
|
["text.xml","Files"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h2"],
|
["meta.tag.tag-name.xml","h2"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"file_list\""],
|
["string.attribute-value.xml","\"file_list\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["comment","<!--<tr><td colspan=\"2\">Files</td></tr>-->"]
|
["comment.xml","<!--<tr><td colspan=\"2\">Files</td></tr>-->"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","<%for"],
|
["keyword","<%for"],
|
||||||
|
|
@ -460,26 +460,26 @@
|
||||||
["keyword","do%>"]
|
["keyword","do%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t\t"],
|
["text.xml","\t\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"name\""],
|
["string.attribute-value.xml","\"name\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["keyword","<%="],
|
["keyword","<%="],
|
||||||
["identifier","luadoc"],
|
["identifier","luadoc"],
|
||||||
["text","."],
|
["text","."],
|
||||||
|
|
@ -492,44 +492,44 @@
|
||||||
["identifier","filepath"],
|
["identifier","filepath"],
|
||||||
["paren.rparen",")"],
|
["paren.rparen",")"],
|
||||||
["keyword","%>"],
|
["keyword","%>"],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["keyword","<%="],
|
["keyword","<%="],
|
||||||
["identifier","filepath"],
|
["identifier","filepath"],
|
||||||
["keyword","%>"],
|
["keyword","%>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t\t"],
|
["text.xml","\t\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","class"],
|
["entity.other.attribute-name.xml","class"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"summary\""],
|
["string.attribute-value.xml","\"summary\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","td"],
|
["meta.tag.table.tag-name.xml","td"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","tr"],
|
["meta.tag.table.tag-name.xml","tr"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","<%end%>"]
|
["keyword","<%end%>"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.table","table"],
|
["meta.tag.table.tag-name.xml","table"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","<%end%>"]
|
["keyword","<%end%>"]
|
||||||
|
|
@ -537,97 +537,97 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment","<!-- id=\"content\" -->"]
|
["comment.xml","<!-- id=\"content\" -->"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment","<!-- id=\"main\" -->"]
|
["comment.xml","<!-- id=\"main\" -->"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"about\""],
|
["string.attribute-value.xml","\"about\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","\t"],
|
["text.xml","\t"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"http://validator.w3.org/check?uri=referer\""],
|
["string.attribute-value.xml","\"http://validator.w3.org/check?uri=referer\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.image","img"],
|
["meta.tag.image.tag-name.xml","img"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","src"],
|
["entity.other.attribute-name.xml","src"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"http://www.w3.org/Icons/valid-xhtml10\""],
|
["string.attribute-value.xml","\"http://www.w3.org/Icons/valid-xhtml10\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","alt"],
|
["entity.other.attribute-name.xml","alt"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"Valid XHTML 1.0!\""],
|
["string.attribute-value.xml","\"Valid XHTML 1.0!\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","height"],
|
["entity.other.attribute-name.xml","height"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"31\""],
|
["string.attribute-value.xml","\"31\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","width"],
|
["entity.other.attribute-name.xml","width"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"88\""],
|
["string.attribute-value.xml","\"88\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["meta.tag.punctuation.end","/>"],
|
["meta.tag.punctuation.tag-close.xml","/>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment","<!-- id=\"about\" -->"]
|
["comment.xml","<!-- id=\"about\" -->"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","div"],
|
["meta.tag.tag-name.xml","div"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment","<!-- id=\"container\" -->"],
|
["comment.xml","<!-- id=\"container\" -->"],
|
||||||
["text","\t"]
|
["text.xml","\t"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,49 +1,49 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["text","test: header 1 "]
|
["text.xml","test: header 1 "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["markup.heading.1","#"],
|
["markup.heading.1","#"],
|
||||||
["heading","f"]
|
["heading","f"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: header 2"]
|
["text.xml","test: header 2"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["markup.heading.2","##"],
|
["markup.heading.2","##"],
|
||||||
["heading"," foo"]
|
["heading"," foo"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: header ends with ' #'"]
|
["text.xml","test: header ends with ' #'"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["markup.heading.1","#"],
|
["markup.heading.1","#"],
|
||||||
["heading"," # # "]
|
["heading"," # # "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: header ends with '#'"]
|
["text.xml","test: header ends with '#'"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["markup.heading.1","#"],
|
["markup.heading.1","#"],
|
||||||
["heading","foo# "]
|
["heading","foo# "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: 6+ #s is not a valid header"]
|
["text.xml","test: 6+ #s is not a valid header"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","####### foo"]
|
["text.xml","####### foo"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: # followed be only space is not a valid header"]
|
["text.xml","test: # followed be only space is not a valid header"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","# "]
|
["text.xml","# "]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: only space between #s is not a valid header"]
|
["text.xml","test: only space between #s is not a valid header"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","# #"]
|
["text.xml","# #"]
|
||||||
],[
|
],[
|
||||||
"allowBlock"
|
"allowBlock"
|
||||||
],[
|
],[
|
||||||
|
|
@ -99,14 +99,14 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","in plain text "],
|
["text.xml","in plain text "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","b"],
|
["meta.tag.tag-name.xml","b"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","http://ace.ajaxorg.com"],
|
["text.xml","http://ace.ajaxorg.com"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","b"],
|
["meta.tag.tag-name.xml","b"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"allowBlock"
|
"allowBlock"
|
||||||
],[
|
],[
|
||||||
|
|
|
||||||
|
|
@ -1,55 +1,55 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Title"],
|
["text.xml","Title"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","This is an R HTML document. When you click the "],
|
["text.xml","This is an R HTML document. When you click the "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","b"],
|
["meta.tag.tag-name.xml","b"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Knit HTML"],
|
["text.xml","Knit HTML"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","b"],
|
["meta.tag.tag-name.xml","b"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text"," button a web page will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:"],
|
["text.xml"," button a web page will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
|
|
@ -68,13 +68,13 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","You can also embed plots, for example:"],
|
["text.xml","You can also embed plots, for example:"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","p"],
|
["meta.tag.tag-name.xml","p"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
|
|
@ -93,14 +93,14 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
]]
|
]]
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["entity.name.tag.soy","if"],
|
["entity.name.tag.soy","if"],
|
||||||
["meta.tag.if.soy"," "],
|
["meta.tag.if.soy"," "],
|
||||||
|
|
@ -42,31 +42,31 @@
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Hello "],
|
["text.xml"," Hello "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["variable.other.soy","$name"],
|
["variable.other.soy","$name"],
|
||||||
["punctuation.definition.tag.end.soy","}"],
|
["punctuation.definition.tag.end.soy","}"],
|
||||||
["text","!"]
|
["text.xml","!"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["text","else"],
|
["text","else"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["variable.other.soy","$greetingWord"],
|
["variable.other.soy","$greetingWord"],
|
||||||
["punctuation.definition.tag.end.soy","}"],
|
["punctuation.definition.tag.end.soy","}"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["variable.other.soy","$name"],
|
["variable.other.soy","$name"],
|
||||||
["punctuation.definition.tag.end.soy","}"],
|
["punctuation.definition.tag.end.soy","}"],
|
||||||
["text","!"]
|
["text.xml","!"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{/"],
|
["punctuation.definition.tag.begin.soy","{/"],
|
||||||
["entity.name.tag.soy","if"],
|
["entity.name.tag.soy","if"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
|
|
@ -115,7 +115,7 @@
|
||||||
["comment.line.double-slash.soy"," Greet the person."]
|
["comment.line.double-slash.soy"," Greet the person."]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["entity.name.tag.soy","call"],
|
["entity.name.tag.soy","call"],
|
||||||
["variable.parameter.soy"," .helloName"],
|
["variable.parameter.soy"," .helloName"],
|
||||||
|
|
@ -125,9 +125,9 @@
|
||||||
["string.quoted.double","\"all\""],
|
["string.quoted.double","\"all\""],
|
||||||
["meta.tag.call.soy"," /"],
|
["meta.tag.call.soy"," /"],
|
||||||
["punctuation.definition.tag.end.soy","}"],
|
["punctuation.definition.tag.end.soy","}"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","br"],
|
["meta.tag.tag-name.xml","br"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["comment.line.double-slash.soy"," "],
|
["comment.line.double-slash.soy"," "],
|
||||||
|
|
@ -135,7 +135,7 @@
|
||||||
["comment.line.double-slash.soy"," Greet the additional people."]
|
["comment.line.double-slash.soy"," Greet the additional people."]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["entity.name.tag.soy","foreach"],
|
["entity.name.tag.soy","foreach"],
|
||||||
["meta.tag.foreach.soy"," "],
|
["meta.tag.foreach.soy"," "],
|
||||||
|
|
@ -147,14 +147,14 @@
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["entity.name.tag.soy","call"],
|
["entity.name.tag.soy","call"],
|
||||||
["variable.parameter.soy"," .helloName"],
|
["variable.parameter.soy"," .helloName"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["entity.name.tag.soy","param"],
|
["entity.name.tag.soy","param"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -167,13 +167,13 @@
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{/"],
|
["punctuation.definition.tag.begin.soy","{/"],
|
||||||
["meta.tag.call.soy","call"],
|
["meta.tag.call.soy","call"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["entity.name.tag.soy","if"],
|
["entity.name.tag.soy","if"],
|
||||||
["meta.tag.if.soy"," "],
|
["meta.tag.if.soy"," "],
|
||||||
|
|
@ -186,31 +186,31 @@
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","br"],
|
["meta.tag.tag-name.xml","br"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["comment.line.double-slash.soy"," "],
|
["comment.line.double-slash.soy"," "],
|
||||||
["punctuation.definition.comment.soy","//"],
|
["punctuation.definition.comment.soy","//"],
|
||||||
["comment.line.double-slash.soy"," break after every line except the last"]
|
["comment.line.double-slash.soy"," break after every line except the last"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{/"],
|
["punctuation.definition.tag.begin.soy","{/"],
|
||||||
["entity.name.tag.soy","if"],
|
["entity.name.tag.soy","if"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["text","ifempty"],
|
["text","ifempty"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," No additional people to greet."]
|
["text.xml"," No additional people to greet."]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["punctuation.definition.tag.begin.soy","{/"],
|
["punctuation.definition.tag.begin.soy","{/"],
|
||||||
["entity.name.tag.soy","foreach"],
|
["entity.name.tag.soy","foreach"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
|
|
@ -275,7 +275,7 @@
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," foo is "],
|
["text.xml"," foo is "],
|
||||||
["punctuation.definition.tag.begin.soy","{"],
|
["punctuation.definition.tag.begin.soy","{"],
|
||||||
["variable.other.soy","$ij.foo"],
|
["variable.other.soy","$ij.foo"],
|
||||||
["punctuation.definition.tag.end.soy","}"]
|
["punctuation.definition.tag.end.soy","}"]
|
||||||
|
|
|
||||||
|
|
@ -1,65 +1,65 @@
|
||||||
[[
|
[[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","svg"]
|
["meta.tag.tag-name.xml","svg"]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","width"],
|
["entity.other.attribute-name.xml","width"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"800\""],
|
["string.attribute-value.xml","\"800\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","height"],
|
["entity.other.attribute-name.xml","height"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"600\""]
|
["string.attribute-value.xml","\"600\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","xmlns"],
|
["entity.other.attribute-name.xml","xmlns"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"http://www.w3.org/2000/svg\""]
|
["string.attribute-value.xml","\"http://www.w3.org/2000/svg\""]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","onload"],
|
["entity.other.attribute-name.xml","onload"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"StartAnimation(evt)\""],
|
["string.attribute-value.xml","\"StartAnimation(evt)\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Test Tube Progress Bar"],
|
["text.xml","Test Tube Progress Bar"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","desc"],
|
["meta.tag.tag-name.xml","desc"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","Created for the Web Directions SVG competition"],
|
["text.xml","Created for the Web Directions SVG competition"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","desc"],
|
["meta.tag.tag-name.xml","desc"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"js-no_regex",
|
"js-no_regex",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","type"],
|
["entity.other.attribute-name.xml","type"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"text/ecmascript\""],
|
["string.attribute-value.xml","\"text/ecmascript\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["string.begin","<![CDATA["]
|
["string.cdata.xml","<![CDATA["]
|
||||||
],[
|
],[
|
||||||
"js-start",
|
"js-start",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -488,197 +488,197 @@
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["string.end","]]>"],
|
["string.cdata.xml","]]>"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","rect"]
|
["meta.tag.tag-name.xml","rect"]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","fill"],
|
["entity.other.attribute-name.xml","fill"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"#2e3436\""]
|
["string.attribute-value.xml","\"#2e3436\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","fill-rule"],
|
["entity.other.attribute-name.xml","fill-rule"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"nonzero\""]
|
["string.attribute-value.xml","\"nonzero\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","stroke-width"],
|
["entity.other.attribute-name.xml","stroke-width"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"3\""]
|
["string.attribute-value.xml","\"3\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","y"],
|
["entity.other.attribute-name.xml","y"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"0\""]
|
["string.attribute-value.xml","\"0\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","x"],
|
["entity.other.attribute-name.xml","x"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"0\""]
|
["string.attribute-value.xml","\"0\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","height"],
|
["entity.other.attribute-name.xml","height"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"600\""]
|
["string.attribute-value.xml","\"600\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","width"],
|
["entity.other.attribute-name.xml","width"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"800\""]
|
["string.attribute-value.xml","\"800\""]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"rect3590\""],
|
["string.attribute-value.xml","\"rect3590\""],
|
||||||
["meta.tag.punctuation.end","/>"]
|
["meta.tag.punctuation.tag-close.xml","/>"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","text"]
|
["meta.tag.tag-name.xml","text"]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","style"],
|
["entity.other.attribute-name.xml","style"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""]
|
["string.attribute-value.xml","\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","x"],
|
["entity.other.attribute-name.xml","x"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"50\""]
|
["string.attribute-value.xml","\"50\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","y"],
|
["entity.other.attribute-name.xml","y"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"350\""]
|
["string.attribute-value.xml","\"350\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"hickory\""]
|
["string.attribute-value.xml","\"hickory\""]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","display"],
|
["entity.other.attribute-name.xml","display"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"none\""],
|
["string.attribute-value.xml","\"none\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," Hickory,"],
|
["text.xml"," Hickory,"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","text"],
|
["meta.tag.tag-name.xml","text"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","text"]
|
["meta.tag.tag-name.xml","text"]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","style"],
|
["entity.other.attribute-name.xml","style"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""]
|
["string.attribute-value.xml","\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","x"],
|
["entity.other.attribute-name.xml","x"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"50\""]
|
["string.attribute-value.xml","\"50\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","y"],
|
["entity.other.attribute-name.xml","y"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"350\""]
|
["string.attribute-value.xml","\"350\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"dickory\""]
|
["string.attribute-value.xml","\"dickory\""]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","display"],
|
["entity.other.attribute-name.xml","display"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"none\""],
|
["string.attribute-value.xml","\"none\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," dickory,"],
|
["text.xml"," dickory,"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","text"],
|
["meta.tag.tag-name.xml","text"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","text"]
|
["meta.tag.tag-name.xml","text"]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","style"],
|
["entity.other.attribute-name.xml","style"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""]
|
["string.attribute-value.xml","\"font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","x"],
|
["entity.other.attribute-name.xml","x"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"50\""]
|
["string.attribute-value.xml","\"50\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","y"],
|
["entity.other.attribute-name.xml","y"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"350\""]
|
["string.attribute-value.xml","\"350\""]
|
||||||
],[
|
],[
|
||||||
"meta.tag.punctuation.begin0",
|
"meta.tag.punctuation.tag-open.xml1",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"dock\""]
|
["string.attribute-value.xml","\"dock\""]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","display"],
|
["entity.other.attribute-name.xml","display"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"none\""],
|
["string.attribute-value.xml","\"none\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," dock!"],
|
["text.xml"," dock!"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","text"],
|
["meta.tag.tag-name.xml","text"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","svg"],
|
["meta.tag.tag-name.xml","svg"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,56 +1,56 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["punctuation.doctype.begin","<!"],
|
["xml-pe.doctype.xml","<!"],
|
||||||
["meta.tag.doctype","DOCTYPE"],
|
["xml-pe.doctype.xml","DOCTYPE"],
|
||||||
["text"," "],
|
["text.whitespace.xml"," "],
|
||||||
["xml-pe","html"],
|
["xml-pe.xml","html"],
|
||||||
["punctuation.doctype.end",">"]
|
["xml-pe.doctype.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","My Webpage"],
|
["text.xml","My Webpage"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","title"],
|
["meta.tag.tag-name.xml","title"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","head"],
|
["meta.tag.tag-name.xml","head"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","id"],
|
["entity.other.attribute-name.xml","id"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"navigation\""],
|
["string.attribute-value.xml","\"navigation\""],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.twig","{%"],
|
["meta.tag.twig","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword.control.twig","for"],
|
["keyword.control.twig","for"],
|
||||||
|
|
@ -64,16 +64,16 @@
|
||||||
["meta.tag.twig","%}"]
|
["meta.tag.twig","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","href"],
|
["entity.other.attribute-name.xml","href"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","item"],
|
["identifier","item"],
|
||||||
|
|
@ -83,8 +83,8 @@
|
||||||
["support.function.twig","escape"],
|
["support.function.twig","escape"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable.other.readwrite.local.twig","}}"],
|
["variable.other.readwrite.local.twig","}}"],
|
||||||
["string","\""],
|
["string.attribute-value.xml","\""],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","item"],
|
["identifier","item"],
|
||||||
|
|
@ -92,15 +92,15 @@
|
||||||
["identifier","caption"],
|
["identifier","caption"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable.other.readwrite.local.twig","}}"],
|
["variable.other.readwrite.local.twig","}}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.anchor","a"],
|
["meta.tag.anchor.tag-name.xml","a"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.twig","{%"],
|
["meta.tag.twig","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword.control.twig","endfor"],
|
["keyword.control.twig","endfor"],
|
||||||
|
|
@ -108,15 +108,15 @@
|
||||||
["meta.tag.twig","%}"]
|
["meta.tag.twig","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.twig","{%"],
|
["meta.tag.twig","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword.control.twig","if"],
|
["keyword.control.twig","if"],
|
||||||
|
|
@ -142,11 +142,11 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment.block.twig","{# is equivalent to #}"]
|
["comment.block.twig","{# is equivalent to #}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.twig","{%"],
|
["meta.tag.twig","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword.control.twig","if"],
|
["keyword.control.twig","if"],
|
||||||
|
|
@ -173,7 +173,7 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.twig","{%"],
|
["meta.tag.twig","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword.control.twig","autoescape"],
|
["keyword.control.twig","autoescape"],
|
||||||
|
|
@ -183,7 +183,7 @@
|
||||||
["meta.tag.twig","%}"]
|
["meta.tag.twig","%}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","var"],
|
["identifier","var"],
|
||||||
|
|
@ -191,7 +191,7 @@
|
||||||
["variable.other.readwrite.local.twig","}}"]
|
["variable.other.readwrite.local.twig","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","var"],
|
["identifier","var"],
|
||||||
|
|
@ -199,11 +199,11 @@
|
||||||
["support.function.twig","raw"],
|
["support.function.twig","raw"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable.other.readwrite.local.twig","}}"],
|
["variable.other.readwrite.local.twig","}}"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment.block.twig","{# var won't be escaped #}"]
|
["comment.block.twig","{# var won't be escaped #}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","var"],
|
["identifier","var"],
|
||||||
|
|
@ -211,11 +211,11 @@
|
||||||
["support.function.twig","escape"],
|
["support.function.twig","escape"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["variable.other.readwrite.local.twig","}}"],
|
["variable.other.readwrite.local.twig","}}"],
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["comment.block.twig","{# var won't be doubled-escaped #}"]
|
["comment.block.twig","{# var won't be doubled-escaped #}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.twig","{%"],
|
["meta.tag.twig","{%"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword.control.twig","endautoescape"],
|
["keyword.control.twig","endautoescape"],
|
||||||
|
|
@ -225,7 +225,7 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["keyword.control.twig","include"],
|
["keyword.control.twig","include"],
|
||||||
|
|
@ -245,7 +245,7 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["string","\"string "],
|
["string","\"string "],
|
||||||
["constant.language.escape","#{with}"],
|
["constant.language.escape","#{with}"],
|
||||||
|
|
@ -258,17 +258,17 @@
|
||||||
["variable.other.readwrite.local.twig","}}"]
|
["variable.other.readwrite.local.twig","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","h1"],
|
["meta.tag.tag-name.xml","h1"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","My Webpage"],
|
["text.xml","My Webpage"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","h1"],
|
["meta.tag.tag-name.xml","h1"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["variable.other.readwrite.local.twig","{{"],
|
["variable.other.readwrite.local.twig","{{"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["identifier","a_variable"],
|
["identifier","a_variable"],
|
||||||
|
|
@ -276,13 +276,13 @@
|
||||||
["variable.other.readwrite.local.twig","}}"]
|
["variable.other.readwrite.local.twig","}}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text.xml"," "],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","body"],
|
["meta.tag.tag-name.xml","body"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","html"],
|
["meta.tag.tag-name.xml","html"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -26,15 +26,15 @@
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["variable","${"],
|
["variable","${"],
|
||||||
["identifier","item"],
|
["identifier","item"],
|
||||||
["variable","}"],
|
["variable","}"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","li"],
|
["meta.tag.tag-name.xml","li"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["keyword","#end"]
|
["keyword","#end"]
|
||||||
|
|
@ -55,11 +55,14 @@
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["lparen","["],
|
["lparen","["],
|
||||||
["constant.numeric","1"],
|
["constant.numeric","1"],
|
||||||
["text",", "],
|
["text.xml",","],
|
||||||
|
["text"," "],
|
||||||
["constant.numeric","2"],
|
["constant.numeric","2"],
|
||||||
["text",", "],
|
["text.xml",","],
|
||||||
|
["text"," "],
|
||||||
["constant.numeric","3"],
|
["constant.numeric","3"],
|
||||||
["text",", "],
|
["text.xml",","],
|
||||||
|
["text"," "],
|
||||||
["constant.numeric","4"],
|
["constant.numeric","4"],
|
||||||
["rparen","]"],
|
["rparen","]"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -68,9 +71,9 @@
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -97,11 +100,12 @@
|
||||||
["lparen","("],
|
["lparen","("],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
["support.function","$_MathTool"],
|
["support.function","$_MathTool"],
|
||||||
["text","."],
|
["text.xml","."],
|
||||||
["identifier","mod"],
|
["identifier","mod"],
|
||||||
["lparen","("],
|
["lparen","("],
|
||||||
["variable","$item"],
|
["variable","$item"],
|
||||||
["text",", "],
|
["text.xml",","],
|
||||||
|
["text"," "],
|
||||||
["constant.numeric","2"],
|
["constant.numeric","2"],
|
||||||
["rparen",")"],
|
["rparen",")"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -128,16 +132,16 @@
|
||||||
["keyword","#end"]
|
["keyword","#end"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","ul"],
|
["meta.tag.tag-name.xml","ul"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"js-start",
|
"js-start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"js-comment_regex_allowed",
|
"js-comment_regex_allowed",
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -216,16 +220,16 @@
|
||||||
["paren.rparen","}"]
|
["paren.rparen","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.script","script"],
|
["meta.tag.script.tag-name.xml","script"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start"
|
"start"
|
||||||
],[
|
],[
|
||||||
"css-start",
|
"css-start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name.style","style"],
|
["meta.tag.style.tag-name.xml","style"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
["css-comment","css-start"],
|
["css-comment","css-start"],
|
||||||
["text"," "],
|
["text"," "],
|
||||||
|
|
@ -275,7 +279,7 @@
|
||||||
["paren.rparen","}"]
|
["paren.rparen","}"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name.style","style"],
|
["meta.tag.style.tag-name.xml","style"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,43 +1,43 @@
|
||||||
[[
|
[[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","Juhu"],
|
["meta.tag.tag-name.xml","Juhu"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["text","//Juhu Kinners"],
|
["text.xml","//Juhu Kinners"],
|
||||||
["meta.tag.punctuation.begin","</"],
|
["meta.tag.punctuation.end-tag-open.xml","</"],
|
||||||
["meta.tag.name","Kinners"],
|
["meta.tag.tag-name.xml","Kinners"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: two tags in the same lines should be in separate tokens\""]
|
["text.xml","test: two tags in the same lines should be in separate tokens\""]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","Juhu"],
|
["meta.tag.tag-name.xml","Juhu"],
|
||||||
["meta.tag.punctuation.end",">"],
|
["meta.tag.punctuation.tag-close.xml",">"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","Kinners"],
|
["meta.tag.tag-name.xml","Kinners"],
|
||||||
["meta.tag.punctuation.end",">"]
|
["meta.tag.punctuation.tag-close.xml",">"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["text","test: multiline attributes\""]
|
["text.xml","test: multiline attributes\""]
|
||||||
],[
|
],[
|
||||||
["qqstring_inner","meta.tag.punctuation.begin"],
|
["string.attribute-value.xml0","meta.tag.punctuation.tag-open.xml"],
|
||||||
["meta.tag.punctuation.begin","<"],
|
["meta.tag.punctuation.tag-open.xml","<"],
|
||||||
["meta.tag.name","copy"],
|
["meta.tag.tag-name.xml","copy"],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","set"],
|
["entity.other.attribute-name.xml","set"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"{"]
|
["string.attribute-value.xml","\"{"]
|
||||||
],[
|
],[
|
||||||
["qqstring_inner","meta.tag.punctuation.begin"],
|
["string.attribute-value.xml0","meta.tag.punctuation.tag-open.xml"],
|
||||||
["string","}\""],
|
["string.attribute-value.xml","}\""],
|
||||||
["text"," "],
|
["text.tag-whitespace.xml"," "],
|
||||||
["entity.other.attribute-name","undo"],
|
["entity.other.attribute-name.xml","undo"],
|
||||||
["keyword.operator.separator","="],
|
["keyword.operator.attribute-equals.xml","="],
|
||||||
["string","\"{"]
|
["string.attribute-value.xml","\"{"]
|
||||||
],[
|
],[
|
||||||
"start",
|
"start",
|
||||||
["string","}\""],
|
["string.attribute-value.xml","}\""],
|
||||||
["meta.tag.punctuation.end","/>"]
|
["meta.tag.punctuation.tag-close.xml","/>"]
|
||||||
]]
|
]]
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
/* ***** BEGIN LICENSE BLOCK *****
|
|
||||||
* Distributed under the BSD license:
|
|
||||||
*
|
|
||||||
* Copyright (c) 2010, 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 XmlBehaviour = require("../behaviour/xml").XmlBehaviour;
|
|
||||||
var CstyleBehaviour = require("./cstyle").CstyleBehaviour;
|
|
||||||
var TokenIterator = require("../../token_iterator").TokenIterator;
|
|
||||||
var voidElements = ['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'];
|
|
||||||
|
|
||||||
function hasType(token, type) {
|
|
||||||
var hasType = true;
|
|
||||||
var typeList = token.type.split('.');
|
|
||||||
var needleList = type.split('.');
|
|
||||||
needleList.forEach(function(needle){
|
|
||||||
if (typeList.indexOf(needle) == -1) {
|
|
||||||
hasType = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return hasType;
|
|
||||||
}
|
|
||||||
|
|
||||||
var CfmlBehaviour = function () {
|
|
||||||
|
|
||||||
this.inherit(XmlBehaviour); // Get xml behaviour
|
|
||||||
|
|
||||||
this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
|
|
||||||
if (text == '>') {
|
|
||||||
var position = editor.getCursorPosition();
|
|
||||||
var iterator = new TokenIterator(session, position.row, position.column);
|
|
||||||
var token = iterator.getCurrentToken();
|
|
||||||
|
|
||||||
if (token && hasType(token, 'meta.tag.name') && /^cf+(abort|application|argument|associate|break|cache|collection|cookie|dbinfo|directory|dump|else|elseif|error|exchangecalendar|exchangeconnection|exchangecontact|exchangefilter|exchangetask|exit|feed|file|flush|ftp|header|htmlhead|httpparam|image|import|include|index|insert|invokeargument|location|log|mailparam|NTauthenticate|object|objectcache|param|pdfformparam|print|procparam|procresult|property|queryparam|registry|reportparam|rethrow|return|schedule|search|set|setting|throw|zipparam)$/gi.test(token.value))
|
|
||||||
return;
|
|
||||||
if (hasType(token, 'string') && iterator.getCurrentTokenColumn() + token.value.length > position.column)
|
|
||||||
return;
|
|
||||||
var atCursor = false;
|
|
||||||
if (!token || !hasType(token, 'meta.tag') && !(hasType(token, 'text') && token.value.match('/'))){
|
|
||||||
do {
|
|
||||||
token = iterator.stepBackward();
|
|
||||||
} while (token && (hasType(token, 'string') || hasType(token, 'keyword.operator') || hasType(token, 'entity.attribute-name') || hasType(token, 'text')));
|
|
||||||
} else {
|
|
||||||
atCursor = true;
|
|
||||||
}
|
|
||||||
if (!token || !hasType(token, 'meta.tag.name') || iterator.stepBackward().value.match('/')) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var element = token.value;
|
|
||||||
if (atCursor){
|
|
||||||
var element = element.substring(0, position.column - token.start);
|
|
||||||
}
|
|
||||||
if (voidElements.indexOf(element) !== -1){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
text: '>' + '</' + element + '>',
|
|
||||||
selection: [1, 1]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
oop.inherits(CfmlBehaviour, XmlBehaviour);
|
|
||||||
|
|
||||||
exports.CfmlBehaviour = CfmlBehaviour;
|
|
||||||
});
|
|
||||||
|
|
@ -41,89 +41,34 @@ var SAFE_INSERT_IN_TOKENS =
|
||||||
var SAFE_INSERT_BEFORE_TOKENS =
|
var SAFE_INSERT_BEFORE_TOKENS =
|
||||||
["text", "paren.rparen", "punctuation.operator", "comment"];
|
["text", "paren.rparen", "punctuation.operator", "comment"];
|
||||||
|
|
||||||
|
var context;
|
||||||
var autoInsertedBrackets = 0;
|
var contextCache = {}
|
||||||
var autoInsertedRow = -1;
|
var initContext = function(editor) {
|
||||||
var autoInsertedLineEnd = "";
|
var id = -1;
|
||||||
var maybeInsertedBrackets = 0;
|
if (editor.multiSelect) {
|
||||||
var maybeInsertedRow = -1;
|
id = editor.selection.id;
|
||||||
var maybeInsertedLineStart = "";
|
if (contextCache.rangeCount != editor.multiSelect.rangeCount)
|
||||||
var maybeInsertedLineEnd = "";
|
contextCache = {rangeCount: editor.multiSelect.rangeCount};
|
||||||
|
|
||||||
var CstyleBehaviour = function () {
|
|
||||||
|
|
||||||
CstyleBehaviour.isSaneInsertion = function(editor, session) {
|
|
||||||
var cursor = editor.getCursorPosition();
|
|
||||||
var iterator = new TokenIterator(session, cursor.row, cursor.column);
|
|
||||||
|
|
||||||
// Don't insert in the middle of a keyword/identifier/lexical
|
|
||||||
if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
|
|
||||||
// Look ahead in case we're at the end of a token
|
|
||||||
var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
|
|
||||||
if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
if (contextCache[id])
|
||||||
// Only insert in front of whitespace/comments
|
return context = contextCache[id];
|
||||||
iterator.stepForward();
|
context = contextCache[id] = {
|
||||||
return iterator.getCurrentTokenRow() !== cursor.row ||
|
autoInsertedBrackets: 0,
|
||||||
this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
|
autoInsertedRow: -1,
|
||||||
|
autoInsertedLineEnd: "",
|
||||||
|
maybeInsertedBrackets: 0,
|
||||||
|
maybeInsertedRow: -1,
|
||||||
|
maybeInsertedLineStart: "",
|
||||||
|
maybeInsertedLineEnd: ""
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
CstyleBehaviour.$matchTokenType = function(token, types) {
|
var CstyleBehaviour = function() {
|
||||||
return types.indexOf(token.type || token) > -1;
|
this.add("braces", "insertion", function(state, action, editor, session, text) {
|
||||||
};
|
|
||||||
|
|
||||||
CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
|
|
||||||
var cursor = editor.getCursorPosition();
|
|
||||||
var line = session.doc.getLine(cursor.row);
|
|
||||||
// Reset previous state if text or context changed too much
|
|
||||||
if (!this.isAutoInsertedClosing(cursor, line, autoInsertedLineEnd[0]))
|
|
||||||
autoInsertedBrackets = 0;
|
|
||||||
autoInsertedRow = cursor.row;
|
|
||||||
autoInsertedLineEnd = bracket + line.substr(cursor.column);
|
|
||||||
autoInsertedBrackets++;
|
|
||||||
};
|
|
||||||
|
|
||||||
CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
|
|
||||||
var cursor = editor.getCursorPosition();
|
|
||||||
var line = session.doc.getLine(cursor.row);
|
|
||||||
if (!this.isMaybeInsertedClosing(cursor, line))
|
|
||||||
maybeInsertedBrackets = 0;
|
|
||||||
maybeInsertedRow = cursor.row;
|
|
||||||
maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
|
|
||||||
maybeInsertedLineEnd = line.substr(cursor.column);
|
|
||||||
maybeInsertedBrackets++;
|
|
||||||
};
|
|
||||||
|
|
||||||
CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
|
|
||||||
return autoInsertedBrackets > 0 &&
|
|
||||||
cursor.row === autoInsertedRow &&
|
|
||||||
bracket === autoInsertedLineEnd[0] &&
|
|
||||||
line.substr(cursor.column) === autoInsertedLineEnd;
|
|
||||||
};
|
|
||||||
|
|
||||||
CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
|
|
||||||
return maybeInsertedBrackets > 0 &&
|
|
||||||
cursor.row === maybeInsertedRow &&
|
|
||||||
line.substr(cursor.column) === maybeInsertedLineEnd &&
|
|
||||||
line.substr(0, cursor.column) == maybeInsertedLineStart;
|
|
||||||
};
|
|
||||||
|
|
||||||
CstyleBehaviour.popAutoInsertedClosing = function() {
|
|
||||||
autoInsertedLineEnd = autoInsertedLineEnd.substr(1);
|
|
||||||
autoInsertedBrackets--;
|
|
||||||
};
|
|
||||||
|
|
||||||
CstyleBehaviour.clearMaybeInsertedClosing = function() {
|
|
||||||
maybeInsertedBrackets = 0;
|
|
||||||
maybeInsertedRow = -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
this.add("braces", "insertion", function (state, action, editor, session, text) {
|
|
||||||
var cursor = editor.getCursorPosition();
|
var cursor = editor.getCursorPosition();
|
||||||
var line = session.doc.getLine(cursor.row);
|
var line = session.doc.getLine(cursor.row);
|
||||||
if (text == '{') {
|
if (text == '{') {
|
||||||
|
initContext(editor);
|
||||||
var selection = editor.getSelectionRange();
|
var selection = editor.getSelectionRange();
|
||||||
var selected = session.doc.getTextRange(selection);
|
var selected = session.doc.getTextRange(selection);
|
||||||
if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
|
if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
|
||||||
|
|
@ -147,6 +92,7 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (text == '}') {
|
} else if (text == '}') {
|
||||||
|
initContext(editor);
|
||||||
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
||||||
if (rightChar == '}') {
|
if (rightChar == '}') {
|
||||||
var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
|
var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
|
||||||
|
|
@ -159,9 +105,10 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (text == "\n" || text == "\r\n") {
|
} else if (text == "\n" || text == "\r\n") {
|
||||||
|
initContext(editor);
|
||||||
var closing = "";
|
var closing = "";
|
||||||
if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
|
if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
|
||||||
closing = lang.stringRepeat("}", maybeInsertedBrackets);
|
closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
|
||||||
CstyleBehaviour.clearMaybeInsertedClosing();
|
CstyleBehaviour.clearMaybeInsertedClosing();
|
||||||
}
|
}
|
||||||
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
||||||
|
|
@ -173,6 +120,7 @@ var CstyleBehaviour = function () {
|
||||||
} else if (closing) {
|
} else if (closing) {
|
||||||
var next_indent = this.$getIndent(line);
|
var next_indent = this.$getIndent(line);
|
||||||
} else {
|
} else {
|
||||||
|
CstyleBehaviour.clearMaybeInsertedClosing();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var indent = next_indent + session.getTabString();
|
var indent = next_indent + session.getTabString();
|
||||||
|
|
@ -186,22 +134,24 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add("braces", "deletion", function (state, action, editor, session, range) {
|
this.add("braces", "deletion", function(state, action, editor, session, range) {
|
||||||
var selected = session.doc.getTextRange(range);
|
var selected = session.doc.getTextRange(range);
|
||||||
if (!range.isMultiLine() && selected == '{') {
|
if (!range.isMultiLine() && selected == '{') {
|
||||||
|
initContext(editor);
|
||||||
var line = session.doc.getLine(range.start.row);
|
var line = session.doc.getLine(range.start.row);
|
||||||
var rightChar = line.substring(range.end.column, range.end.column + 1);
|
var rightChar = line.substring(range.end.column, range.end.column + 1);
|
||||||
if (rightChar == '}') {
|
if (rightChar == '}') {
|
||||||
range.end.column++;
|
range.end.column++;
|
||||||
return range;
|
return range;
|
||||||
} else {
|
} else {
|
||||||
maybeInsertedBrackets--;
|
context.maybeInsertedBrackets--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add("parens", "insertion", function (state, action, editor, session, text) {
|
this.add("parens", "insertion", function(state, action, editor, session, text) {
|
||||||
if (text == '(') {
|
if (text == '(') {
|
||||||
|
initContext(editor);
|
||||||
var selection = editor.getSelectionRange();
|
var selection = editor.getSelectionRange();
|
||||||
var selected = session.doc.getTextRange(selection);
|
var selected = session.doc.getTextRange(selection);
|
||||||
if (selected !== "" && editor.getWrapBehavioursEnabled()) {
|
if (selected !== "" && editor.getWrapBehavioursEnabled()) {
|
||||||
|
|
@ -217,6 +167,7 @@ var CstyleBehaviour = function () {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
} else if (text == ')') {
|
} else if (text == ')') {
|
||||||
|
initContext(editor);
|
||||||
var cursor = editor.getCursorPosition();
|
var cursor = editor.getCursorPosition();
|
||||||
var line = session.doc.getLine(cursor.row);
|
var line = session.doc.getLine(cursor.row);
|
||||||
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
||||||
|
|
@ -233,9 +184,10 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add("parens", "deletion", function (state, action, editor, session, range) {
|
this.add("parens", "deletion", function(state, action, editor, session, range) {
|
||||||
var selected = session.doc.getTextRange(range);
|
var selected = session.doc.getTextRange(range);
|
||||||
if (!range.isMultiLine() && selected == '(') {
|
if (!range.isMultiLine() && selected == '(') {
|
||||||
|
initContext(editor);
|
||||||
var line = session.doc.getLine(range.start.row);
|
var line = session.doc.getLine(range.start.row);
|
||||||
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
||||||
if (rightChar == ')') {
|
if (rightChar == ')') {
|
||||||
|
|
@ -245,8 +197,9 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add("brackets", "insertion", function (state, action, editor, session, text) {
|
this.add("brackets", "insertion", function(state, action, editor, session, text) {
|
||||||
if (text == '[') {
|
if (text == '[') {
|
||||||
|
initContext(editor);
|
||||||
var selection = editor.getSelectionRange();
|
var selection = editor.getSelectionRange();
|
||||||
var selected = session.doc.getTextRange(selection);
|
var selected = session.doc.getTextRange(selection);
|
||||||
if (selected !== "" && editor.getWrapBehavioursEnabled()) {
|
if (selected !== "" && editor.getWrapBehavioursEnabled()) {
|
||||||
|
|
@ -262,6 +215,7 @@ var CstyleBehaviour = function () {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
} else if (text == ']') {
|
} else if (text == ']') {
|
||||||
|
initContext(editor);
|
||||||
var cursor = editor.getCursorPosition();
|
var cursor = editor.getCursorPosition();
|
||||||
var line = session.doc.getLine(cursor.row);
|
var line = session.doc.getLine(cursor.row);
|
||||||
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
||||||
|
|
@ -278,9 +232,10 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add("brackets", "deletion", function (state, action, editor, session, range) {
|
this.add("brackets", "deletion", function(state, action, editor, session, range) {
|
||||||
var selected = session.doc.getTextRange(range);
|
var selected = session.doc.getTextRange(range);
|
||||||
if (!range.isMultiLine() && selected == '[') {
|
if (!range.isMultiLine() && selected == '[') {
|
||||||
|
initContext(editor);
|
||||||
var line = session.doc.getLine(range.start.row);
|
var line = session.doc.getLine(range.start.row);
|
||||||
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
||||||
if (rightChar == ']') {
|
if (rightChar == ']') {
|
||||||
|
|
@ -290,8 +245,9 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
|
this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
|
||||||
if (text == '"' || text == "'") {
|
if (text == '"' || text == "'") {
|
||||||
|
initContext(editor);
|
||||||
var quote = text;
|
var quote = text;
|
||||||
var selection = editor.getSelectionRange();
|
var selection = editor.getSelectionRange();
|
||||||
var selected = session.doc.getTextRange(selection);
|
var selected = session.doc.getTextRange(selection);
|
||||||
|
|
@ -350,9 +306,10 @@ var CstyleBehaviour = function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
|
this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
|
||||||
var selected = session.doc.getTextRange(range);
|
var selected = session.doc.getTextRange(range);
|
||||||
if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
|
if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
|
||||||
|
initContext(editor);
|
||||||
var line = session.doc.getLine(range.start.row);
|
var line = session.doc.getLine(range.start.row);
|
||||||
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
||||||
if (rightChar == selected) {
|
if (rightChar == selected) {
|
||||||
|
|
@ -364,6 +321,79 @@ var CstyleBehaviour = function () {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
CstyleBehaviour.isSaneInsertion = function(editor, session) {
|
||||||
|
var cursor = editor.getCursorPosition();
|
||||||
|
var iterator = new TokenIterator(session, cursor.row, cursor.column);
|
||||||
|
|
||||||
|
// Don't insert in the middle of a keyword/identifier/lexical
|
||||||
|
if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
|
||||||
|
// Look ahead in case we're at the end of a token
|
||||||
|
var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
|
||||||
|
if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only insert in front of whitespace/comments
|
||||||
|
iterator.stepForward();
|
||||||
|
return iterator.getCurrentTokenRow() !== cursor.row ||
|
||||||
|
this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
|
||||||
|
};
|
||||||
|
|
||||||
|
CstyleBehaviour.$matchTokenType = function(token, types) {
|
||||||
|
return types.indexOf(token.type || token) > -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
|
||||||
|
var cursor = editor.getCursorPosition();
|
||||||
|
var line = session.doc.getLine(cursor.row);
|
||||||
|
// Reset previous state if text or context changed too much
|
||||||
|
if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
|
||||||
|
context.autoInsertedBrackets = 0;
|
||||||
|
context.autoInsertedRow = cursor.row;
|
||||||
|
context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
|
||||||
|
context.autoInsertedBrackets++;
|
||||||
|
};
|
||||||
|
|
||||||
|
CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
|
||||||
|
var cursor = editor.getCursorPosition();
|
||||||
|
var line = session.doc.getLine(cursor.row);
|
||||||
|
if (!this.isMaybeInsertedClosing(cursor, line))
|
||||||
|
context.maybeInsertedBrackets = 0;
|
||||||
|
context.maybeInsertedRow = cursor.row;
|
||||||
|
context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
|
||||||
|
context.maybeInsertedLineEnd = line.substr(cursor.column);
|
||||||
|
context.maybeInsertedBrackets++;
|
||||||
|
};
|
||||||
|
|
||||||
|
CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
|
||||||
|
return context.autoInsertedBrackets > 0 &&
|
||||||
|
cursor.row === context.autoInsertedRow &&
|
||||||
|
bracket === context.autoInsertedLineEnd[0] &&
|
||||||
|
line.substr(cursor.column) === context.autoInsertedLineEnd;
|
||||||
|
};
|
||||||
|
|
||||||
|
CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
|
||||||
|
return context.maybeInsertedBrackets > 0 &&
|
||||||
|
cursor.row === context.maybeInsertedRow &&
|
||||||
|
line.substr(cursor.column) === context.maybeInsertedLineEnd &&
|
||||||
|
line.substr(0, cursor.column) == context.maybeInsertedLineStart;
|
||||||
|
};
|
||||||
|
|
||||||
|
CstyleBehaviour.popAutoInsertedClosing = function() {
|
||||||
|
context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
|
||||||
|
context.autoInsertedBrackets--;
|
||||||
|
};
|
||||||
|
|
||||||
|
CstyleBehaviour.clearMaybeInsertedClosing = function() {
|
||||||
|
if (context) {
|
||||||
|
context.maybeInsertedBrackets = 0;
|
||||||
|
context.maybeInsertedRow = -1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
oop.inherits(CstyleBehaviour, Behaviour);
|
oop.inherits(CstyleBehaviour, Behaviour);
|
||||||
|
|
||||||
exports.CstyleBehaviour = CstyleBehaviour;
|
exports.CstyleBehaviour = CstyleBehaviour;
|
||||||
|
|
|
||||||
|
|
@ -33,55 +33,13 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
var oop = require("../../lib/oop");
|
var oop = require("../../lib/oop");
|
||||||
var XmlBehaviour = require("../behaviour/xml").XmlBehaviour;
|
var XmlBehaviour = require("../behaviour/xml").XmlBehaviour;
|
||||||
var CstyleBehaviour = require("./cstyle").CstyleBehaviour;
|
|
||||||
var TokenIterator = require("../../token_iterator").TokenIterator;
|
|
||||||
var voidElements = ['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'];
|
|
||||||
|
|
||||||
function hasType(token, type) {
|
|
||||||
var tokenTypes = token.type.split('.');
|
|
||||||
return type.split('.').every(function(type){
|
|
||||||
return (tokenTypes.indexOf(type) !== -1);
|
|
||||||
});
|
|
||||||
return hasType;
|
|
||||||
}
|
|
||||||
|
|
||||||
var HtmlBehaviour = function () {
|
var HtmlBehaviour = function () {
|
||||||
|
|
||||||
this.inherit(XmlBehaviour); // Get xml behaviour
|
XmlBehaviour.call(this);
|
||||||
|
|
||||||
this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
|
};
|
||||||
if (text == '>') {
|
|
||||||
var position = editor.getCursorPosition();
|
|
||||||
var iterator = new TokenIterator(session, position.row, position.column);
|
|
||||||
var token = iterator.getCurrentToken();
|
|
||||||
|
|
||||||
if (token && hasType(token, 'string') && iterator.getCurrentTokenColumn() + token.value.length > position.column)
|
|
||||||
return;
|
|
||||||
var atCursor = false;
|
|
||||||
if (!token || !hasType(token, 'meta.tag') && !(hasType(token, 'text') && token.value.match('/'))){
|
|
||||||
do {
|
|
||||||
token = iterator.stepBackward();
|
|
||||||
} while (token && (hasType(token, 'string') || hasType(token, 'keyword.operator') || hasType(token, 'entity.attribute-name') || hasType(token, 'text')));
|
|
||||||
} else {
|
|
||||||
atCursor = true;
|
|
||||||
}
|
|
||||||
if (!token || !hasType(token, 'meta.tag.name') || iterator.stepBackward().value.match('/')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var element = token.value;
|
|
||||||
if (atCursor){
|
|
||||||
var element = element.substring(0, position.column - token.start);
|
|
||||||
}
|
|
||||||
if (voidElements.indexOf(element) !== -1){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
text: '>' + '</' + element + '>',
|
|
||||||
selection: [1, 1]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
oop.inherits(HtmlBehaviour, XmlBehaviour);
|
oop.inherits(HtmlBehaviour, XmlBehaviour);
|
||||||
|
|
||||||
exports.HtmlBehaviour = HtmlBehaviour;
|
exports.HtmlBehaviour = HtmlBehaviour;
|
||||||
|
|
|
||||||
|
|
@ -33,49 +33,116 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
var oop = require("../../lib/oop");
|
var oop = require("../../lib/oop");
|
||||||
var Behaviour = require("../behaviour").Behaviour;
|
var Behaviour = require("../behaviour").Behaviour;
|
||||||
var CstyleBehaviour = require("./cstyle").CstyleBehaviour;
|
|
||||||
var TokenIterator = require("../../token_iterator").TokenIterator;
|
var TokenIterator = require("../../token_iterator").TokenIterator;
|
||||||
|
|
||||||
function hasType(token, type) {
|
function is(token, type) {
|
||||||
var tokenTypes = token.type.split('.');
|
return token.type.lastIndexOf(type + ".xml") > -1;
|
||||||
return type.split('.').every(function(type){
|
|
||||||
return (tokenTypes.indexOf(type) !== -1);
|
|
||||||
});
|
|
||||||
return hasType;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var XmlBehaviour = function () {
|
var XmlBehaviour = function () {
|
||||||
|
|
||||||
this.inherit(CstyleBehaviour, ["string_dquotes"]); // Get string behaviour
|
this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
|
||||||
|
if (text == '"' || text == "'") {
|
||||||
|
var quote = text;
|
||||||
|
var selected = session.doc.getTextRange(editor.getSelectionRange());
|
||||||
|
if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
|
||||||
|
return {
|
||||||
|
text: quote + selected + quote,
|
||||||
|
selection: false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var cursor = editor.getCursorPosition();
|
||||||
|
var line = session.doc.getLine(cursor.row);
|
||||||
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
||||||
|
var iterator = new TokenIterator(session, cursor.row, cursor.column);
|
||||||
|
var token = iterator.getCurrentToken();
|
||||||
|
|
||||||
|
if (rightChar == quote && (is(token, "attribute-value") || is(token, "string"))) {
|
||||||
|
// Ignore input and move right one if we're typing over the closing quote.
|
||||||
|
return {
|
||||||
|
text: "",
|
||||||
|
selection: [1, 1]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!token)
|
||||||
|
token = iterator.stepBackward();
|
||||||
|
|
||||||
|
if (!token)
|
||||||
|
return;
|
||||||
|
|
||||||
|
while (is(token, "tag-whitespace") || is(token, "whitespace")) {
|
||||||
|
token = iterator.stepBackward();
|
||||||
|
}
|
||||||
|
var rightSpace = !rightChar || rightChar.match(/\s/);
|
||||||
|
if (is(token, "attribute-equals") && (rightSpace || rightChar == '>') || (is(token, "decl-attribute-equals") && (rightSpace || rightChar == '?'))) {
|
||||||
|
return {
|
||||||
|
text: quote + quote,
|
||||||
|
selection: [1, 1]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
|
||||||
|
var selected = session.doc.getTextRange(range);
|
||||||
|
if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
|
||||||
|
var line = session.doc.getLine(range.start.row);
|
||||||
|
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
||||||
|
if (rightChar == selected) {
|
||||||
|
range.end.column++;
|
||||||
|
return range;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
|
this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
|
||||||
if (text == '>') {
|
if (text == '>') {
|
||||||
var position = editor.getCursorPosition();
|
var position = editor.getCursorPosition();
|
||||||
var iterator = new TokenIterator(session, position.row, position.column);
|
var iterator = new TokenIterator(session, position.row, position.column);
|
||||||
var token = iterator.getCurrentToken();
|
var token = iterator.getCurrentToken() || iterator.stepBackward();
|
||||||
|
|
||||||
if (token && hasType(token, 'string') && iterator.getCurrentTokenColumn() + token.value.length > position.column)
|
// exit if we're not in a tag
|
||||||
|
if (!token || !(is(token, "tag-name") || is(token, "tag-whitespace") || is(token, "attribute-name") || is(token, "attribute-equals") || is(token, "attribute-value")))
|
||||||
return;
|
return;
|
||||||
var atCursor = false;
|
|
||||||
if (!token || !hasType(token, 'meta.tag') && !(hasType(token, 'text') && token.value.match('/'))){
|
// exit if we're inside of a quoted attribute value
|
||||||
do {
|
if (is(token, "reference.attribute-value"))
|
||||||
|
return;
|
||||||
|
if (is(token, "attribute-value")) {
|
||||||
|
var firstChar = token.value.charAt(0);
|
||||||
|
if (firstChar == '"' || firstChar == "'") {
|
||||||
|
var lastChar = token.value.charAt(token.value.length - 1);
|
||||||
|
var tokenEnd = iterator.getCurrentTokenColumn() + token.value.length;
|
||||||
|
if (tokenEnd > position.column || tokenEnd == position.column && firstChar != lastChar)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// find tag name
|
||||||
|
while (!is(token, "tag-name")) {
|
||||||
token = iterator.stepBackward();
|
token = iterator.stepBackward();
|
||||||
} while (token && (hasType(token, 'string') || hasType(token, 'keyword.operator') || hasType(token, 'entity.attribute-name') || hasType(token, 'text')));
|
|
||||||
} else {
|
|
||||||
atCursor = true;
|
|
||||||
}
|
}
|
||||||
if (!token || !hasType(token, 'meta.tag.name') || iterator.stepBackward().value.match('/')) {
|
|
||||||
|
var tokenRow = iterator.getCurrentTokenRow();
|
||||||
|
var tokenColumn = iterator.getCurrentTokenColumn();
|
||||||
|
|
||||||
|
// exit if the tag is ending
|
||||||
|
if (is(iterator.stepBackward(), "end-tag-open"))
|
||||||
|
return;
|
||||||
|
|
||||||
|
var element = token.value;
|
||||||
|
if (tokenRow == position.row)
|
||||||
|
element = element.substring(0, position.column - tokenColumn);
|
||||||
|
|
||||||
|
if (this.voidElements.hasOwnProperty(element.toLowerCase()))
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
var tag = token.value;
|
|
||||||
if (atCursor){
|
|
||||||
var tag = tag.substring(0, position.column - token.start);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
text: '>' + '</' + tag + '>',
|
text: '>' + '</' + element + '>',
|
||||||
selection: [1, 1]
|
selection: [1, 1]
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -91,12 +158,13 @@ var XmlBehaviour = function () {
|
||||||
return {
|
return {
|
||||||
text: '\n' + indent + '\n' + next_indent,
|
text: '\n' + indent + '\n' + next_indent,
|
||||||
selection: [1, indent.length, 1, indent.length]
|
selection: [1, indent.length, 1, indent.length]
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
};
|
||||||
|
|
||||||
oop.inherits(XmlBehaviour, Behaviour);
|
oop.inherits(XmlBehaviour, Behaviour);
|
||||||
|
|
||||||
exports.XmlBehaviour = XmlBehaviour;
|
exports.XmlBehaviour = XmlBehaviour;
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,10 @@ var CirruHighlightRules = function() {
|
||||||
}, {
|
}, {
|
||||||
token: 'storage.modifier',
|
token: 'storage.modifier',
|
||||||
regex: /\(/,
|
regex: /\(/,
|
||||||
|
}, {
|
||||||
|
token: 'storage.modifier',
|
||||||
|
regex: /\,/,
|
||||||
|
next: 'line',
|
||||||
}, {
|
}, {
|
||||||
token: 'support.function',
|
token: 'support.function',
|
||||||
regex: /[^\(\)\"\s]+/,
|
regex: /[^\(\)\"\s]+/,
|
||||||
|
|
@ -88,6 +92,10 @@ var CirruHighlightRules = function() {
|
||||||
token: 'markup.raw',
|
token: 'markup.raw',
|
||||||
regex: /^\s*/,
|
regex: /^\s*/,
|
||||||
next: 'start',
|
next: 'start',
|
||||||
|
}, {
|
||||||
|
token: 'storage.modifier',
|
||||||
|
regex: /\$/,
|
||||||
|
next: 'start',
|
||||||
}, {
|
}, {
|
||||||
token: 'variable.parameter',
|
token: 'variable.parameter',
|
||||||
regex: /[^\(\)\"\s]+/
|
regex: /[^\(\)\"\s]+/
|
||||||
|
|
@ -102,10 +110,6 @@ var CirruHighlightRules = function() {
|
||||||
token: 'markup.raw',
|
token: 'markup.raw',
|
||||||
regex: /^\ */,
|
regex: /^\ */,
|
||||||
next: 'start',
|
next: 'start',
|
||||||
}, {
|
|
||||||
token: 'storage.modifier',
|
|
||||||
regex: /\$/,
|
|
||||||
next: 'start',
|
|
||||||
}, {
|
}, {
|
||||||
token: 'string.quoted.double',
|
token: 'string.quoted.double',
|
||||||
regex: /"/,
|
regex: /"/,
|
||||||
|
|
|
||||||
|
|
@ -32,28 +32,25 @@ define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var oop = require("../lib/oop");
|
var oop = require("../lib/oop");
|
||||||
var XmlMode = require("./xml").Mode;
|
var lang = require("../lib/lang");
|
||||||
var JavaScriptMode = require("./javascript").Mode;
|
var HtmlMode = require("./html").Mode;
|
||||||
var CssMode = require("./css").Mode;
|
|
||||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
var ColdfusionHighlightRules = require("./coldfusion_highlight_rules").ColdfusionHighlightRules;
|
var ColdfusionHighlightRules = require("./coldfusion_highlight_rules").ColdfusionHighlightRules;
|
||||||
var CfmlBehaviour = require("./behaviour/coldfusion").CfmlBehaviour;
|
|
||||||
|
var voidElements = "cfabort|cfapplication|cfargument|cfassociate|cfbreak|cfcache|cfcollection|cfcookie|cfdbinfo|cfdirectory|cfdump|cfelse|cfelseif|cferror|cfexchangecalendar|cfexchangeconnection|cfexchangecontact|cfexchangefilter|cfexchangetask|cfexit|cffeed|cffile|cfflush|cfftp|cfheader|cfhtmlhead|cfhttpparam|cfimage|cfimport|cfinclude|cfindex|cfinsert|cfinvokeargument|cflocation|cflog|cfmailparam|cfNTauthenticate|cfobject|cfobjectcache|cfparam|cfpdfformparam|cfprint|cfprocparam|cfprocresult|cfproperty|cfqueryparam|cfregistry|cfreportparam|cfrethrow|cfreturn|cfschedule|cfsearch|cfset|cfsetting|cfthrow|cfzipparam)".split("|");
|
||||||
|
|
||||||
var Mode = function() {
|
var Mode = function() {
|
||||||
XmlMode.call(this);
|
HtmlMode.call(this);
|
||||||
|
|
||||||
this.HighlightRules = ColdfusionHighlightRules;
|
this.HighlightRules = ColdfusionHighlightRules;
|
||||||
this.$behaviour = new CfmlBehaviour();
|
|
||||||
|
|
||||||
this.createModeDelegates({
|
|
||||||
"js-": JavaScriptMode,
|
|
||||||
"css-": CssMode
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
oop.inherits(Mode, XmlMode);
|
oop.inherits(Mode, HtmlMode);
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
|
// mix with html void elements
|
||||||
|
this.voidElements = oop.mixin(lang.arrayToMap(voidElements), this.voidElements);
|
||||||
|
|
||||||
this.getNextLineIndent = function(state, line, tab) {
|
this.getNextLineIndent = function(state, line, tab) {
|
||||||
return this.$getIndent(line);
|
return this.$getIndent(line);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -36,39 +36,8 @@ var MixedFoldMode = require("./mixed").FoldMode;
|
||||||
var XmlFoldMode = require("./xml").FoldMode;
|
var XmlFoldMode = require("./xml").FoldMode;
|
||||||
var CStyleFoldMode = require("./cstyle").FoldMode;
|
var CStyleFoldMode = require("./cstyle").FoldMode;
|
||||||
|
|
||||||
var FoldMode = exports.FoldMode = function() {
|
var FoldMode = exports.FoldMode = function(voidElements, optionalTags) {
|
||||||
MixedFoldMode.call(this, new XmlFoldMode({
|
MixedFoldMode.call(this, new XmlFoldMode(voidElements, optionalTags), {
|
||||||
// void elements
|
|
||||||
"area": 1,
|
|
||||||
"base": 1,
|
|
||||||
"br": 1,
|
|
||||||
"col": 1,
|
|
||||||
"command": 1,
|
|
||||||
"embed": 1,
|
|
||||||
"hr": 1,
|
|
||||||
"img": 1,
|
|
||||||
"input": 1,
|
|
||||||
"keygen": 1,
|
|
||||||
"link": 1,
|
|
||||||
"meta": 1,
|
|
||||||
"param": 1,
|
|
||||||
"source": 1,
|
|
||||||
"track": 1,
|
|
||||||
"wbr": 1,
|
|
||||||
|
|
||||||
// optional tags
|
|
||||||
"li": 1,
|
|
||||||
"dt": 1,
|
|
||||||
"dd": 1,
|
|
||||||
"p": 1,
|
|
||||||
"rt": 1,
|
|
||||||
"rp": 1,
|
|
||||||
"optgroup": 1,
|
|
||||||
"option": 1,
|
|
||||||
"colgroup": 1,
|
|
||||||
"td": 1,
|
|
||||||
"th": 1
|
|
||||||
}), {
|
|
||||||
"js-": new CStyleFoldMode(),
|
"js-": new CStyleFoldMode(),
|
||||||
"css-": new CStyleFoldMode()
|
"css-": new CStyleFoldMode()
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -37,60 +37,96 @@ var Range = require("../../range").Range;
|
||||||
var BaseFoldMode = require("./fold_mode").FoldMode;
|
var BaseFoldMode = require("./fold_mode").FoldMode;
|
||||||
var TokenIterator = require("../../token_iterator").TokenIterator;
|
var TokenIterator = require("../../token_iterator").TokenIterator;
|
||||||
|
|
||||||
var FoldMode = exports.FoldMode = function(voidElements) {
|
var FoldMode = exports.FoldMode = function(voidElements, optionalEndTags) {
|
||||||
BaseFoldMode.call(this);
|
BaseFoldMode.call(this);
|
||||||
this.voidElements = voidElements || {};
|
// TODO folding support for optional end tags
|
||||||
|
this.voidElements = oop.mixin(voidElements || {}, optionalEndTags || {});
|
||||||
};
|
};
|
||||||
oop.inherits(FoldMode, BaseFoldMode);
|
oop.inherits(FoldMode, BaseFoldMode);
|
||||||
|
|
||||||
|
var Tag = function() {
|
||||||
|
this.tagName = "";
|
||||||
|
this.closing = false;
|
||||||
|
this.selfClosing = false;
|
||||||
|
this.start = {row: 0, column: 0};
|
||||||
|
this.end = {row: 0, column: 0};
|
||||||
|
};
|
||||||
|
|
||||||
|
function is(token, type) {
|
||||||
|
return token.type.lastIndexOf(type + ".xml") > -1;
|
||||||
|
}
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
this.getFoldWidget = function(session, foldStyle, row) {
|
this.getFoldWidget = function(session, foldStyle, row) {
|
||||||
var tag = this._getFirstTagInLine(session, row);
|
var tag = this._getFirstTagInLine(session, row);
|
||||||
|
|
||||||
if (tag.closing)
|
if (!tag)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
if (tag.closing || (!tag.tagName && tag.selfClosing))
|
||||||
return foldStyle == "markbeginend" ? "end" : "";
|
return foldStyle == "markbeginend" ? "end" : "";
|
||||||
|
|
||||||
if (!tag.tagName || this.voidElements[tag.tagName.toLowerCase()])
|
if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
if (tag.selfClosing)
|
if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))
|
||||||
return "";
|
|
||||||
|
|
||||||
if (tag.value.indexOf("/" + tag.tagName) !== -1)
|
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
return "start";
|
return "start";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* returns a first tag (or a fragment) in a line
|
||||||
|
*/
|
||||||
this._getFirstTagInLine = function(session, row) {
|
this._getFirstTagInLine = function(session, row) {
|
||||||
var tokens = session.getTokens(row);
|
var tokens = session.getTokens(row);
|
||||||
var value = "";
|
var tag = new Tag();
|
||||||
|
|
||||||
for (var i = 0; i < tokens.length; i++) {
|
for (var i = 0; i < tokens.length; i++) {
|
||||||
var token = tokens[i];
|
var token = tokens[i];
|
||||||
if (token.type.lastIndexOf("meta.tag", 0) === 0)
|
if (is(token, "tag-open")) {
|
||||||
value += token.value;
|
tag.end.column = tag.start.column + token.value.length;
|
||||||
else
|
tag.closing = is(token, "end-tag-open");
|
||||||
value += lang.stringRepeat(" ", token.value.length);
|
token = tokens[++i];
|
||||||
|
if (!token)
|
||||||
|
return null;
|
||||||
|
tag.tagName = token.value;
|
||||||
|
tag.end.column += token.value.length;
|
||||||
|
for (i++; i < tokens.length; i++) {
|
||||||
|
token = tokens[i];
|
||||||
|
tag.end.column += token.value.length;
|
||||||
|
if (is(token, "tag-close")) {
|
||||||
|
tag.selfClosing = token.value == '/>';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return tag;
|
||||||
|
} else if (is(token, "tag-close")) {
|
||||||
|
tag.selfClosing = token.value == '/>';
|
||||||
|
return tag;
|
||||||
|
}
|
||||||
|
tag.start.column += token.value.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this._parseTag(value);
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.tagRe = /^(\s*)(<?(\/?)([-_a-zA-Z0-9:!]*)\s*(\/?)>?)/;
|
this._findEndTagInLine = function(session, row, tagName, startColumn) {
|
||||||
this._parseTag = function(tag) {
|
var tokens = session.getTokens(row);
|
||||||
|
|
||||||
var match = tag.match(this.tagRe);
|
|
||||||
var column = 0;
|
var column = 0;
|
||||||
|
for (var i = 0; i < tokens.length; i++) {
|
||||||
return {
|
var token = tokens[i];
|
||||||
value: tag,
|
column += token.value.length;
|
||||||
match: match ? match[2] : "",
|
if (column < startColumn)
|
||||||
closing: match ? !!match[3] : false,
|
continue;
|
||||||
selfClosing: match ? !!match[5] || match[2] == "/>" : false,
|
if (is(token, "end-tag-open")) {
|
||||||
tagName: match ? match[4] : "",
|
token = tokens[i + 1];
|
||||||
column: match[1] ? column + match[1].length : column
|
if (token && token.value == tagName)
|
||||||
};
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -101,29 +137,21 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
if (!token)
|
if (!token)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var value = "";
|
var tag = new Tag();
|
||||||
var start;
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (token.type.lastIndexOf("meta.tag", 0) === 0) {
|
if (is(token, "tag-open")) {
|
||||||
if (!start) {
|
tag.closing = is(token, "end-tag-open");
|
||||||
var start = {
|
tag.start.row = iterator.getCurrentTokenRow();
|
||||||
row: iterator.getCurrentTokenRow(),
|
tag.start.column = iterator.getCurrentTokenColumn();
|
||||||
column: iterator.getCurrentTokenColumn()
|
} else if (is(token, "tag-name")) {
|
||||||
};
|
tag.tagName = token.value;
|
||||||
}
|
} else if (is(token, "tag-close")) {
|
||||||
value += token.value;
|
tag.selfClosing = token.value == "/>";
|
||||||
if (value.indexOf(">") !== -1) {
|
tag.end.row = iterator.getCurrentTokenRow();
|
||||||
var tag = this._parseTag(value);
|
tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
|
||||||
tag.start = start;
|
|
||||||
tag.end = {
|
|
||||||
row: iterator.getCurrentTokenRow(),
|
|
||||||
column: iterator.getCurrentTokenColumn() + token.value.length
|
|
||||||
};
|
|
||||||
iterator.stepForward();
|
iterator.stepForward();
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} while(token = iterator.stepForward());
|
} while(token = iterator.stepForward());
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -134,28 +162,20 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
if (!token)
|
if (!token)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var value = "";
|
var tag = new Tag();
|
||||||
var end;
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (token.type.lastIndexOf("meta.tag", 0) === 0) {
|
if (is(token, "tag-open")) {
|
||||||
if (!end) {
|
tag.closing = is(token, "end-tag-open");
|
||||||
end = {
|
tag.start.row = iterator.getCurrentTokenRow();
|
||||||
row: iterator.getCurrentTokenRow(),
|
tag.start.column = iterator.getCurrentTokenColumn();
|
||||||
column: iterator.getCurrentTokenColumn() + token.value.length
|
|
||||||
};
|
|
||||||
}
|
|
||||||
value = token.value + value;
|
|
||||||
if (value.indexOf("<") !== -1) {
|
|
||||||
var tag = this._parseTag(value);
|
|
||||||
tag.end = end;
|
|
||||||
tag.start = {
|
|
||||||
row: iterator.getCurrentTokenRow(),
|
|
||||||
column: iterator.getCurrentTokenColumn()
|
|
||||||
};
|
|
||||||
iterator.stepBackward();
|
iterator.stepBackward();
|
||||||
return tag;
|
return tag;
|
||||||
}
|
} else if (is(token, "tag-name")) {
|
||||||
|
tag.tagName = token.value;
|
||||||
|
} else if (is(token, "tag-close")) {
|
||||||
|
tag.selfClosing = token.value == "/>";
|
||||||
|
tag.end.row = iterator.getCurrentTokenRow();
|
||||||
|
tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
|
||||||
}
|
}
|
||||||
} while(token = iterator.stepBackward());
|
} while(token = iterator.stepBackward());
|
||||||
|
|
||||||
|
|
@ -169,10 +189,10 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
if (!tag || top.tagName == tag.tagName) {
|
if (!tag || top.tagName == tag.tagName) {
|
||||||
return stack.pop();
|
return stack.pop();
|
||||||
}
|
}
|
||||||
else if (this.voidElements[tag.tagName]) {
|
else if (this.voidElements.hasOwnProperty(tag.tagName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (this.voidElements[top.tagName]) {
|
else if (this.voidElements.hasOwnProperty(top.tagName)) {
|
||||||
stack.pop();
|
stack.pop();
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -184,7 +204,7 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
this.getFoldWidgetRange = function(session, foldStyle, row) {
|
this.getFoldWidgetRange = function(session, foldStyle, row) {
|
||||||
var firstTag = this._getFirstTagInLine(session, row);
|
var firstTag = this._getFirstTagInLine(session, row);
|
||||||
|
|
||||||
if (!firstTag.match)
|
if (!firstTag)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var isBackward = firstTag.closing || firstTag.selfClosing;
|
var isBackward = firstTag.closing || firstTag.selfClosing;
|
||||||
|
|
@ -192,10 +212,10 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
var tag;
|
var tag;
|
||||||
|
|
||||||
if (!isBackward) {
|
if (!isBackward) {
|
||||||
var iterator = new TokenIterator(session, row, firstTag.column);
|
var iterator = new TokenIterator(session, row, firstTag.start.column);
|
||||||
var start = {
|
var start = {
|
||||||
row: row,
|
row: row,
|
||||||
column: firstTag.column + firstTag.tagName.length + 2
|
column: firstTag.start.column + firstTag.tagName.length + 2
|
||||||
};
|
};
|
||||||
while (tag = this._readTagForward(iterator)) {
|
while (tag = this._readTagForward(iterator)) {
|
||||||
if (tag.selfClosing) {
|
if (tag.selfClosing) {
|
||||||
|
|
@ -213,15 +233,15 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
return Range.fromPoints(start, tag.start);
|
return Range.fromPoints(start, tag.start);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
stack.push(tag)
|
stack.push(tag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var iterator = new TokenIterator(session, row, firstTag.column + firstTag.match.length);
|
var iterator = new TokenIterator(session, row, firstTag.end.column);
|
||||||
var end = {
|
var end = {
|
||||||
row: row,
|
row: row,
|
||||||
column: firstTag.column
|
column: firstTag.start.column
|
||||||
};
|
};
|
||||||
|
|
||||||
while (tag = this._readTagBackward(iterator)) {
|
while (tag = this._readTagBackward(iterator)) {
|
||||||
|
|
@ -242,7 +262,7 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
stack.push(tag)
|
stack.push(tag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
81
lib/ace/mode/gherkin.js
Normal file
81
lib/ace/mode/gherkin.js
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Distributed under the BSD license:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014, 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) {
|
||||||
|
|
||||||
|
var oop = require("../lib/oop");
|
||||||
|
var TextMode = require("./text").Mode;
|
||||||
|
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
|
var GherkinHighlightRules = require("./gherkin_highlight_rules").GherkinHighlightRules;
|
||||||
|
|
||||||
|
var Mode = function() {
|
||||||
|
this.HighlightRules = GherkinHighlightRules;
|
||||||
|
};
|
||||||
|
oop.inherits(Mode, TextMode);
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
this.lineCommentStart = "#";
|
||||||
|
this.$id = "ace/mode/gherkin";
|
||||||
|
|
||||||
|
this.getNextLineIndent = function(state, line, tab) {
|
||||||
|
var indent = this.$getIndent(line);
|
||||||
|
var space2 = " ";
|
||||||
|
|
||||||
|
var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
|
||||||
|
var tokens = tokenizedLine.tokens;
|
||||||
|
|
||||||
|
console.log(state)
|
||||||
|
|
||||||
|
if(line.match("[ ]*\\|")) {
|
||||||
|
indent += "| ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tokens.length && tokens[tokens.length-1].type == "comment") {
|
||||||
|
return indent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (state == "start") {
|
||||||
|
if (line.match("Scenario:|Feature:|Scenario\ Outline:|Background:")) {
|
||||||
|
indent += space2;
|
||||||
|
} else if(line.match("(Given|Then).+(:)$|Examples:")) {
|
||||||
|
indent += space2;
|
||||||
|
} else if(line.match("\\*.+")) {
|
||||||
|
indent += "* ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return indent;
|
||||||
|
};
|
||||||
|
}).call(Mode.prototype);
|
||||||
|
|
||||||
|
exports.Mode = Mode;
|
||||||
|
});
|
||||||
113
lib/ace/mode/gherkin_highlight_rules.js
Normal file
113
lib/ace/mode/gherkin_highlight_rules.js
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Distributed under the BSD license:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014, 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) {
|
||||||
|
|
||||||
|
var oop = require("../lib/oop");
|
||||||
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
||||||
|
var stringEscape = "\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";
|
||||||
|
|
||||||
|
var GherkinHighlightRules = function() {
|
||||||
|
|
||||||
|
// need to include constant ints
|
||||||
|
this.$rules = {
|
||||||
|
start : [{
|
||||||
|
token: 'constant.numeric',
|
||||||
|
regex: "(?:(?:[1-9]\\d*)|(?:0))"
|
||||||
|
}, {
|
||||||
|
token : "comment",
|
||||||
|
regex : "#.*$"
|
||||||
|
}, {
|
||||||
|
token : "keyword",
|
||||||
|
regex : "Feature:|Background:|Scenario:|Scenario\ Outline:|Examples:|Given|When|Then|And|But|\\*",
|
||||||
|
}, {
|
||||||
|
token : "string", // multi line """ string start
|
||||||
|
regex : '"{3}',
|
||||||
|
next : "qqstring3"
|
||||||
|
}, {
|
||||||
|
token : "string", // " string
|
||||||
|
regex : '"',
|
||||||
|
next : "qqstring"
|
||||||
|
}, {
|
||||||
|
token : "comment",
|
||||||
|
regex : "@[A-Za-z0-9]+",
|
||||||
|
next : "start"
|
||||||
|
}, {
|
||||||
|
token : "comment",
|
||||||
|
regex : "<.+>"
|
||||||
|
}, {
|
||||||
|
token : "comment",
|
||||||
|
regex : "\\| ",
|
||||||
|
next : "table-item"
|
||||||
|
}, {
|
||||||
|
token : "comment",
|
||||||
|
regex : "\\|$",
|
||||||
|
next : "start"
|
||||||
|
}],
|
||||||
|
"qqstring3" : [ {
|
||||||
|
token : "constant.language.escape",
|
||||||
|
regex : stringEscape
|
||||||
|
}, {
|
||||||
|
token : "string", // multi line """ string end
|
||||||
|
regex : '"{3}',
|
||||||
|
next : "start"
|
||||||
|
}, {
|
||||||
|
defaultToken : "string"
|
||||||
|
}],
|
||||||
|
"qqstring" : [{
|
||||||
|
token : "constant.language.escape",
|
||||||
|
regex : stringEscape
|
||||||
|
}, {
|
||||||
|
token : "string",
|
||||||
|
regex : "\\\\$",
|
||||||
|
next : "qqstring"
|
||||||
|
}, {
|
||||||
|
token : "string",
|
||||||
|
regex : '"|$',
|
||||||
|
next : "start"
|
||||||
|
}, {
|
||||||
|
defaultToken: "string"
|
||||||
|
}],
|
||||||
|
"table-item" : [{
|
||||||
|
token : "string",
|
||||||
|
regex : "[A-Za-z0-9 ]*",
|
||||||
|
next : "start"
|
||||||
|
}],
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//new TextHighlightRules().getRules();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
oop.inherits(GherkinHighlightRules, TextHighlightRules);
|
||||||
|
|
||||||
|
exports.GherkinHighlightRules = GherkinHighlightRules;
|
||||||
|
});
|
||||||
|
|
@ -32,20 +32,25 @@ define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var oop = require("../lib/oop");
|
var oop = require("../lib/oop");
|
||||||
|
var lang = require("../lib/lang");
|
||||||
var TextMode = require("./text").Mode;
|
var TextMode = require("./text").Mode;
|
||||||
var JavaScriptMode = require("./javascript").Mode;
|
var JavaScriptMode = require("./javascript").Mode;
|
||||||
var CssMode = require("./css").Mode;
|
var CssMode = require("./css").Mode;
|
||||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
|
var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
|
||||||
var HtmlBehaviour = require("./behaviour/html").HtmlBehaviour;
|
var XmlBehaviour = require("./behaviour/xml").XmlBehaviour;
|
||||||
var HtmlFoldMode = require("./folding/html").FoldMode;
|
var HtmlFoldMode = require("./folding/html").FoldMode;
|
||||||
var HtmlCompletions = require("./html_completions").HtmlCompletions;
|
var HtmlCompletions = require("./html_completions").HtmlCompletions;
|
||||||
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
||||||
|
|
||||||
|
// http://www.w3.org/TR/html5/syntax.html#void-elements
|
||||||
|
var voidElements = ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"];
|
||||||
|
var optionalEndTags = ["li", "dt", "dd", "p", "rt", "rp", "optgroup", "option", "colgroup", "td", "th"];
|
||||||
|
|
||||||
var Mode = function(options) {
|
var Mode = function(options) {
|
||||||
this.fragmentContext = options && options.fragmentContext;
|
this.fragmentContext = options && options.fragmentContext;
|
||||||
this.HighlightRules = HtmlHighlightRules;
|
this.HighlightRules = HtmlHighlightRules;
|
||||||
this.$behaviour = new HtmlBehaviour();
|
this.$behaviour = new XmlBehaviour();
|
||||||
this.$completer = new HtmlCompletions();
|
this.$completer = new HtmlCompletions();
|
||||||
|
|
||||||
this.createModeDelegates({
|
this.createModeDelegates({
|
||||||
|
|
@ -53,7 +58,7 @@ var Mode = function(options) {
|
||||||
"css-": CssMode
|
"css-": CssMode
|
||||||
});
|
});
|
||||||
|
|
||||||
this.foldingRules = new HtmlFoldMode();
|
this.foldingRules = new HtmlFoldMode(this.voidElements, lang.arrayToMap(optionalEndTags));
|
||||||
};
|
};
|
||||||
oop.inherits(Mode, TextMode);
|
oop.inherits(Mode, TextMode);
|
||||||
|
|
||||||
|
|
@ -61,6 +66,8 @@ oop.inherits(Mode, TextMode);
|
||||||
|
|
||||||
this.blockComment = {start: "<!--", end: "-->"};
|
this.blockComment = {start: "<!--", end: "-->"};
|
||||||
|
|
||||||
|
this.voidElements = lang.arrayToMap(voidElements);
|
||||||
|
|
||||||
this.getNextLineIndent = function(state, line, tab) {
|
this.getNextLineIndent = function(state, line, tab) {
|
||||||
return this.$getIndent(line);
|
return this.$getIndent(line);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
define(["require", "exports", "module"], function(require, exports, module){
|
define(function(require, exports, module){
|
||||||
require=(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s<n.length;s++)i(n[s]);return i})({1:[function(require,module,exports){
|
var req = require=(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s<n.length;s++)i(n[s]);return i})({1:[function(req,module,exports){
|
||||||
function isScopeMarker(node) {
|
function isScopeMarker(node) {
|
||||||
if (node.namespaceURI === "http://www.w3.org/1999/xhtml") {
|
if (node.namespaceURI === "http://www.w3.org/1999/xhtml") {
|
||||||
return node.localName === "applet"
|
return node.localName === "applet"
|
||||||
|
|
@ -228,9 +228,9 @@ Object.defineProperty(ElementStack.prototype, 'length', {
|
||||||
|
|
||||||
exports.ElementStack = ElementStack;
|
exports.ElementStack = ElementStack;
|
||||||
|
|
||||||
},{}],2:[function(require,module,exports){
|
},{}],2:[function(req,module,exports){
|
||||||
var entities = require('html5-entities');
|
var entities = req('html5-entities');
|
||||||
var InputStream = require('./InputStream').InputStream;
|
var InputStream = req('./InputStream').InputStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Magic value for UTF-16 operations.
|
* Magic value for UTF-16 operations.
|
||||||
|
|
@ -413,7 +413,7 @@ EntityParser.replaceEntityNumbers = function(c) {
|
||||||
|
|
||||||
exports.EntityParser = EntityParser;
|
exports.EntityParser = EntityParser;
|
||||||
|
|
||||||
},{"./InputStream":3,"html5-entities":12}],3:[function(require,module,exports){
|
},{"./InputStream":3,"html5-entities":12}],3:[function(req,module,exports){
|
||||||
// FIXME convert CR to LF http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#input-stream
|
// FIXME convert CR to LF http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#input-stream
|
||||||
function InputStream() {
|
function InputStream() {
|
||||||
this.data = '';
|
this.data = '';
|
||||||
|
|
@ -523,7 +523,7 @@ InputStream.prototype = {
|
||||||
|
|
||||||
exports.InputStream = InputStream;
|
exports.InputStream = InputStream;
|
||||||
|
|
||||||
},{}],4:[function(require,module,exports){
|
},{}],4:[function(req,module,exports){
|
||||||
var SpecialElements = {
|
var SpecialElements = {
|
||||||
"http://www.w3.org/1999/xhtml": [
|
"http://www.w3.org/1999/xhtml": [
|
||||||
'address',
|
'address',
|
||||||
|
|
@ -704,9 +704,9 @@ StackItem.prototype.isMathMLTextIntegrationPoint = function() {
|
||||||
|
|
||||||
exports.StackItem = StackItem;
|
exports.StackItem = StackItem;
|
||||||
|
|
||||||
},{}],5:[function(require,module,exports){
|
},{}],5:[function(req,module,exports){
|
||||||
var InputStream = require('./InputStream').InputStream;
|
var InputStream = req('./InputStream').InputStream;
|
||||||
var EntityParser = require('./EntityParser').EntityParser;
|
var EntityParser = req('./EntityParser').EntityParser;
|
||||||
|
|
||||||
function isWhitespace(c){
|
function isWhitespace(c){
|
||||||
return c === " " || c === "\n" || c === "\t" || c === "\r" || c === "\f";
|
return c === " " || c === "\n" || c === "\t" || c === "\r" || c === "\f";
|
||||||
|
|
@ -2257,17 +2257,17 @@ Tokenizer.prototype.tokenize = function(source) {
|
||||||
|
|
||||||
exports.Tokenizer = Tokenizer;
|
exports.Tokenizer = Tokenizer;
|
||||||
|
|
||||||
},{"./EntityParser":2,"./InputStream":3}],6:[function(require,module,exports){
|
},{"./EntityParser":2,"./InputStream":3}],6:[function(req,module,exports){
|
||||||
(function(){var assert = require('assert');
|
(function(){var assert = req('assert');
|
||||||
|
|
||||||
var messages = require('./messages.json');
|
var messages = req('./messages.json');
|
||||||
var constants = require('./constants');
|
var constants = req('./constants');
|
||||||
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = req('events').EventEmitter;
|
||||||
|
|
||||||
var Tokenizer = require('./Tokenizer').Tokenizer;
|
var Tokenizer = req('./Tokenizer').Tokenizer;
|
||||||
var ElementStack = require('./ElementStack').ElementStack;
|
var ElementStack = req('./ElementStack').ElementStack;
|
||||||
var StackItem = require('./StackItem').StackItem;
|
var StackItem = req('./StackItem').StackItem;
|
||||||
|
|
||||||
var Marker = {};
|
var Marker = {};
|
||||||
|
|
||||||
|
|
@ -5322,7 +5322,7 @@ function formatMessage(format, args) {
|
||||||
exports.TreeBuilder = TreeBuilder;
|
exports.TreeBuilder = TreeBuilder;
|
||||||
|
|
||||||
})()
|
})()
|
||||||
},{"./ElementStack":1,"./StackItem":4,"./Tokenizer":5,"./constants":7,"./messages.json":8,"assert":13,"events":14}],7:[function(require,module,exports){
|
},{"./ElementStack":1,"./StackItem":4,"./Tokenizer":5,"./constants":7,"./messages.json":8,"assert":13,"events":14}],7:[function(req,module,exports){
|
||||||
exports.SVGTagMap = {
|
exports.SVGTagMap = {
|
||||||
"altglyph": "altGlyph",
|
"altglyph": "altGlyph",
|
||||||
"altglyphdef": "altGlyphDef",
|
"altglyphdef": "altGlyphDef",
|
||||||
|
|
@ -5445,7 +5445,7 @@ exports.ForeignAttributeMap = {
|
||||||
"xmlns": {prefix: null, localName: "xmlns", namespaceURI: "http://www.w3.org/2000/xmlns/"},
|
"xmlns": {prefix: null, localName: "xmlns", namespaceURI: "http://www.w3.org/2000/xmlns/"},
|
||||||
"xmlns:xlink": {prefix: "xmlns", localName: "xlink", namespaceURI: "http://www.w3.org/2000/xmlns/"},
|
"xmlns:xlink": {prefix: "xmlns", localName: "xlink", namespaceURI: "http://www.w3.org/2000/xmlns/"},
|
||||||
};
|
};
|
||||||
},{}],8:[function(require,module,exports){
|
},{}],8:[function(req,module,exports){
|
||||||
module.exports={
|
module.exports={
|
||||||
"null-character":
|
"null-character":
|
||||||
"Null character in input stream, replaced with U+FFFD.",
|
"Null character in input stream, replaced with U+FFFD.",
|
||||||
|
|
@ -5702,10 +5702,10 @@ module.exports={
|
||||||
"unexpected-start-tag-in-table":
|
"unexpected-start-tag-in-table":
|
||||||
"Unexpected {name}. Expected table content."
|
"Unexpected {name}. Expected table content."
|
||||||
}
|
}
|
||||||
},{}],"DaboPu":[function(require,module,exports){
|
},{}],"DaboPu":[function(req,module,exports){
|
||||||
var SAXTreeBuilder = require('./SAXTreeBuilder').SAXTreeBuilder;
|
var SAXTreeBuilder = req('./SAXTreeBuilder').SAXTreeBuilder;
|
||||||
var Tokenizer = require('../Tokenizer').Tokenizer;
|
var Tokenizer = req('../Tokenizer').Tokenizer;
|
||||||
var TreeParser = require('./TreeParser').TreeParser;
|
var TreeParser = req('./TreeParser').TreeParser;
|
||||||
|
|
||||||
function SAXParser() {
|
function SAXParser() {
|
||||||
this.contentHandler = null;
|
this.contentHandler = null;
|
||||||
|
|
@ -5754,9 +5754,9 @@ Object.defineProperty(SAXParser.prototype, 'errorHandler', {
|
||||||
|
|
||||||
exports.SAXParser = SAXParser;
|
exports.SAXParser = SAXParser;
|
||||||
|
|
||||||
},{"../Tokenizer":5,"./SAXTreeBuilder":10,"./TreeParser":11}],10:[function(require,module,exports){
|
},{"../Tokenizer":5,"./SAXTreeBuilder":10,"./TreeParser":11}],10:[function(req,module,exports){
|
||||||
var util = require('util');
|
var util = req('util');
|
||||||
var TreeBuilder = require('../TreeBuilder').TreeBuilder;
|
var TreeBuilder = req('../TreeBuilder').TreeBuilder;
|
||||||
|
|
||||||
function SAXTreeBuilder() {
|
function SAXTreeBuilder() {
|
||||||
TreeBuilder.call(this);
|
TreeBuilder.call(this);
|
||||||
|
|
@ -6429,7 +6429,7 @@ DTD.prototype.revisit = function(treeParser) {
|
||||||
|
|
||||||
exports.SAXTreeBuilder = SAXTreeBuilder;
|
exports.SAXTreeBuilder = SAXTreeBuilder;
|
||||||
|
|
||||||
},{"../TreeBuilder":6,"util":15}],11:[function(require,module,exports){
|
},{"../TreeBuilder":6,"util":15}],11:[function(req,module,exports){
|
||||||
/**
|
/**
|
||||||
* A tree visitor that replays a tree as SAX events.
|
* A tree visitor that replays a tree as SAX events.
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
|
|
@ -6712,7 +6712,7 @@ NullLexicalHandler.prototype.startEntity = function() {};
|
||||||
|
|
||||||
exports.TreeParser = TreeParser;
|
exports.TreeParser = TreeParser;
|
||||||
|
|
||||||
},{}],12:[function(require,module,exports){
|
},{}],12:[function(req,module,exports){
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"AElig": "\u00C6",
|
"AElig": "\u00C6",
|
||||||
"AElig;": "\u00C6",
|
"AElig;": "\u00C6",
|
||||||
|
|
@ -8947,10 +8947,10 @@ module.exports = {
|
||||||
"zwnj;": "\u200C"
|
"zwnj;": "\u200C"
|
||||||
};
|
};
|
||||||
|
|
||||||
},{}],13:[function(require,module,exports){
|
},{}],13:[function(req,module,exports){
|
||||||
(function(){// UTILITY
|
(function(){// UTILITY
|
||||||
var util = require('util');
|
var util = req('util');
|
||||||
var Buffer = require("buffer").Buffer;
|
var Buffer = req("buffer").Buffer;
|
||||||
var pSlice = Array.prototype.slice;
|
var pSlice = Array.prototype.slice;
|
||||||
|
|
||||||
function objectKeys(object) {
|
function objectKeys(object) {
|
||||||
|
|
@ -9262,7 +9262,7 @@ assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {
|
||||||
assert.ifError = function(err) { if (err) {throw err;}};
|
assert.ifError = function(err) { if (err) {throw err;}};
|
||||||
|
|
||||||
})()
|
})()
|
||||||
},{"buffer":17,"util":15}],14:[function(require,module,exports){
|
},{"buffer":17,"util":15}],14:[function(req,module,exports){
|
||||||
(function(process){if (!process.EventEmitter) process.EventEmitter = function () {};
|
(function(process){if (!process.EventEmitter) process.EventEmitter = function () {};
|
||||||
|
|
||||||
var EventEmitter = exports.EventEmitter = process.EventEmitter;
|
var EventEmitter = exports.EventEmitter = process.EventEmitter;
|
||||||
|
|
@ -9447,9 +9447,9 @@ EventEmitter.prototype.listeners = function(type) {
|
||||||
return this._events[type];
|
return this._events[type];
|
||||||
};
|
};
|
||||||
|
|
||||||
})(require("__browserify_process"))
|
})(req("__browserify_process"))
|
||||||
},{"__browserify_process":20}],15:[function(require,module,exports){
|
},{"__browserify_process":20}],15:[function(req,module,exports){
|
||||||
var events = require('events');
|
var events = req('events');
|
||||||
|
|
||||||
exports.isArray = isArray;
|
exports.isArray = isArray;
|
||||||
exports.isDate = function(obj){return Object.prototype.toString.call(obj) === '[object Date]'};
|
exports.isDate = function(obj){return Object.prototype.toString.call(obj) === '[object Date]'};
|
||||||
|
|
@ -9795,7 +9795,7 @@ exports.format = function(f) {
|
||||||
return str;
|
return str;
|
||||||
};
|
};
|
||||||
|
|
||||||
},{"events":14}],16:[function(require,module,exports){
|
},{"events":14}],16:[function(req,module,exports){
|
||||||
exports.readIEEE754 = function(buffer, offset, isBE, mLen, nBytes) {
|
exports.readIEEE754 = function(buffer, offset, isBE, mLen, nBytes) {
|
||||||
var e, m,
|
var e, m,
|
||||||
eLen = nBytes * 8 - mLen - 1,
|
eLen = nBytes * 8 - mLen - 1,
|
||||||
|
|
@ -9881,8 +9881,8 @@ exports.writeIEEE754 = function(buffer, value, offset, isBE, mLen, nBytes) {
|
||||||
buffer[offset + i - d] |= s * 128;
|
buffer[offset + i - d] |= s * 128;
|
||||||
};
|
};
|
||||||
|
|
||||||
},{}],17:[function(require,module,exports){
|
},{}],17:[function(req,module,exports){
|
||||||
(function(){var assert = require('assert');
|
(function(){var assert = req('assert');
|
||||||
exports.Buffer = Buffer;
|
exports.Buffer = Buffer;
|
||||||
exports.SlowBuffer = Buffer;
|
exports.SlowBuffer = Buffer;
|
||||||
Buffer.poolSize = 8192;
|
Buffer.poolSize = 8192;
|
||||||
|
|
@ -9992,7 +9992,7 @@ Buffer.prototype.base64Write = function (string, offset, length) {
|
||||||
|
|
||||||
Buffer.prototype.base64Slice = function (start, end) {
|
Buffer.prototype.base64Slice = function (start, end) {
|
||||||
var bytes = Array.prototype.slice.apply(this, arguments)
|
var bytes = Array.prototype.slice.apply(this, arguments)
|
||||||
return require("base64-js").fromByteArray(bytes);
|
return req("base64-js").fromByteArray(bytes);
|
||||||
};
|
};
|
||||||
|
|
||||||
Buffer.prototype.utf8Slice = function () {
|
Buffer.prototype.utf8Slice = function () {
|
||||||
|
|
@ -10353,7 +10353,7 @@ function asciiToBytes(str) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function base64ToBytes(str) {
|
function base64ToBytes(str) {
|
||||||
return require("base64-js").toByteArray(str);
|
return req("base64-js").toByteArray(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
function blitBuffer(src, dst, offset, length) {
|
function blitBuffer(src, dst, offset, length) {
|
||||||
|
|
@ -10618,7 +10618,7 @@ function readFloat(buffer, offset, isBigEndian, noAssert) {
|
||||||
'Trying to read beyond buffer length');
|
'Trying to read beyond buffer length');
|
||||||
}
|
}
|
||||||
|
|
||||||
return require('./buffer_ieee754').readIEEE754(buffer, offset, isBigEndian,
|
return req('./buffer_ieee754').readIEEE754(buffer, offset, isBigEndian,
|
||||||
23, 4);
|
23, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -10639,7 +10639,7 @@ function readDouble(buffer, offset, isBigEndian, noAssert) {
|
||||||
'Trying to read beyond buffer length');
|
'Trying to read beyond buffer length');
|
||||||
}
|
}
|
||||||
|
|
||||||
return require('./buffer_ieee754').readIEEE754(buffer, offset, isBigEndian,
|
return req('./buffer_ieee754').readIEEE754(buffer, offset, isBigEndian,
|
||||||
52, 8);
|
52, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -10923,7 +10923,7 @@ function writeFloat(buffer, value, offset, isBigEndian, noAssert) {
|
||||||
verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38);
|
verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38);
|
||||||
}
|
}
|
||||||
|
|
||||||
require('./buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
req('./buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
||||||
23, 4);
|
23, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -10952,7 +10952,7 @@ function writeDouble(buffer, value, offset, isBigEndian, noAssert) {
|
||||||
verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308);
|
verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308);
|
||||||
}
|
}
|
||||||
|
|
||||||
require('./buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
req('./buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
||||||
52, 8);
|
52, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -10965,7 +10965,7 @@ Buffer.prototype.writeDoubleBE = function(value, offset, noAssert) {
|
||||||
};
|
};
|
||||||
|
|
||||||
})()
|
})()
|
||||||
},{"./buffer_ieee754":16,"assert":13,"base64-js":18}],18:[function(require,module,exports){
|
},{"./buffer_ieee754":16,"assert":13,"base64-js":18}],18:[function(req,module,exports){
|
||||||
(function (exports) {
|
(function (exports) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
|
@ -11051,9 +11051,9 @@ Buffer.prototype.writeDoubleBE = function(value, offset, noAssert) {
|
||||||
module.exports.fromByteArray = uint8ToBase64;
|
module.exports.fromByteArray = uint8ToBase64;
|
||||||
}());
|
}());
|
||||||
|
|
||||||
},{}],"./lib/sax/SAXParser.js":[function(require,module,exports){
|
},{}],"./lib/sax/SAXParser.js":[function(req,module,exports){
|
||||||
module.exports=require('DaboPu');
|
module.exports=req('DaboPu');
|
||||||
},{}],20:[function(require,module,exports){
|
},{}],20:[function(req,module,exports){
|
||||||
// shim for using process in browser
|
// shim for using process in browser
|
||||||
|
|
||||||
var process = module.exports = {};
|
var process = module.exports = {};
|
||||||
|
|
@ -11109,5 +11109,5 @@ process.chdir = function (dir) {
|
||||||
|
|
||||||
},{}]},{},["DaboPu"])
|
},{}]},{},["DaboPu"])
|
||||||
;
|
;
|
||||||
exports.SAXParser = require('./lib/sax/SAXParser.js').SAXParser;
|
exports.SAXParser = req('./lib/sax/SAXParser.js').SAXParser;
|
||||||
});
|
});
|
||||||
|
|
@ -43,6 +43,12 @@ var commonAttributes = [
|
||||||
"dropzone",
|
"dropzone",
|
||||||
"hidden",
|
"hidden",
|
||||||
"id",
|
"id",
|
||||||
|
"inert",
|
||||||
|
"itemid",
|
||||||
|
"itemprop",
|
||||||
|
"itemref",
|
||||||
|
"itemscope",
|
||||||
|
"itemtype",
|
||||||
"lang",
|
"lang",
|
||||||
"spellcheck",
|
"spellcheck",
|
||||||
"style",
|
"style",
|
||||||
|
|
@ -226,24 +232,19 @@ var attributeMap = {
|
||||||
"dialog": ["open"]
|
"dialog": ["open"]
|
||||||
};
|
};
|
||||||
|
|
||||||
var allElements = Object.keys(attributeMap);
|
var elements = Object.keys(attributeMap);
|
||||||
|
|
||||||
function hasType(token, type) {
|
function is(token, type) {
|
||||||
var tokenTypes = token.type.split('.');
|
return token.type.lastIndexOf(type + ".xml") > -1;
|
||||||
return type.split('.').every(function(type){
|
|
||||||
return (tokenTypes.indexOf(type) !== -1);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function findTagName(session, pos) {
|
function findTagName(session, pos) {
|
||||||
var iterator = new TokenIterator(session, pos.row, pos.column);
|
var iterator = new TokenIterator(session, pos.row, pos.column);
|
||||||
var token = iterator.getCurrentToken();
|
var token = iterator.getCurrentToken();
|
||||||
if (!token || !hasType(token, 'tag') && !(hasType(token, 'text') && token.value.match('/'))){
|
while (token && !is(token, "tag-name")){
|
||||||
do {
|
|
||||||
token = iterator.stepBackward();
|
token = iterator.stepBackward();
|
||||||
} while (token && (hasType(token, 'string') || hasType(token, 'operator') || hasType(token, 'attribute-name') || hasType(token, 'text')));
|
|
||||||
}
|
}
|
||||||
if (token && hasType(token, 'tag-name') && !iterator.stepBackward().value.match('/'))
|
if (token)
|
||||||
return token.value;
|
return token.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -260,27 +261,22 @@ var HtmlCompletions = function() {
|
||||||
return [];
|
return [];
|
||||||
|
|
||||||
// tag name
|
// tag name
|
||||||
if (hasType(token, "tag-name") || (token.value == '<' && hasType(token, "text")))
|
if (is(token, "tag-name") || is(token, "tag-open") || is(token, "end-tag-open"))
|
||||||
return this.getTagCompletions(state, session, pos, prefix);
|
return this.getTagCompletions(state, session, pos, prefix);
|
||||||
|
|
||||||
// tag attribute
|
// tag attribute
|
||||||
if (hasType(token, 'text') || hasType(token, 'attribute-name'))
|
if (is(token, "tag-whitespace") || is(token, "attribute-name"))
|
||||||
return this.getAttributeCompetions(state, session, pos, prefix);
|
return this.getAttributeCompetions(state, session, pos, prefix);
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
};
|
};
|
||||||
|
|
||||||
this.getTagCompletions = function(state, session, pos, prefix) {
|
this.getTagCompletions = function(state, session, pos, prefix) {
|
||||||
var elements = allElements;
|
|
||||||
if (prefix) {
|
|
||||||
elements = elements.filter(function(element){
|
|
||||||
return element.indexOf(prefix) === 0;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return elements.map(function(element){
|
return elements.map(function(element){
|
||||||
return {
|
return {
|
||||||
value: element,
|
value: element,
|
||||||
meta: "tag"
|
meta: "tag",
|
||||||
|
score: Number.MAX_VALUE
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
@ -293,16 +289,12 @@ var HtmlCompletions = function() {
|
||||||
if (tagName in attributeMap) {
|
if (tagName in attributeMap) {
|
||||||
attributes = attributes.concat(attributeMap[tagName]);
|
attributes = attributes.concat(attributeMap[tagName]);
|
||||||
}
|
}
|
||||||
if (prefix) {
|
|
||||||
attributes = attributes.filter(function(attribute){
|
|
||||||
return attribute.indexOf(prefix) === 0;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return attributes.map(function(attribute){
|
return attributes.map(function(attribute){
|
||||||
return {
|
return {
|
||||||
caption: attribute,
|
caption: attribute,
|
||||||
snippet: attribute + '="$0"',
|
snippet: attribute + '="$0"',
|
||||||
meta: "attribute"
|
meta: "attribute",
|
||||||
|
score: Number.MAX_VALUE
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -62,17 +62,17 @@ var HtmlHighlightRules = function() {
|
||||||
|
|
||||||
this.addRules({
|
this.addRules({
|
||||||
attributes: [{
|
attributes: [{
|
||||||
include : "space"
|
include : "tag_whitespace"
|
||||||
}, {
|
}, {
|
||||||
token : "entity.other.attribute-name",
|
token : "entity.other.attribute-name.xml",
|
||||||
regex : "[-_a-zA-Z0-9:]+"
|
regex : "[-_a-zA-Z0-9:]+"
|
||||||
}, {
|
}, {
|
||||||
token : "keyword.operator.separator",
|
token : "keyword.operator.attribute-equals.xml",
|
||||||
regex : "=",
|
regex : "=",
|
||||||
push : [{
|
push : [{
|
||||||
include: "space"
|
include: "tag_whitespace"
|
||||||
}, {
|
}, {
|
||||||
token : "string",
|
token : "string.unquoted.attribute-value.html",
|
||||||
regex : "[^<>='\"`\\s]+",
|
regex : "[^<>='\"`\\s]+",
|
||||||
next : "pop"
|
next : "pop"
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -81,33 +81,21 @@ var HtmlHighlightRules = function() {
|
||||||
next : "pop"
|
next : "pop"
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
include : "string"
|
include : "attribute_value"
|
||||||
}],
|
}],
|
||||||
tag: [{
|
tag: [{
|
||||||
token : function(start, tag) {
|
token : function(start, tag) {
|
||||||
var group = tagMap[tag];
|
var group = tagMap[tag];
|
||||||
return ["meta.tag.punctuation.begin",
|
return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",
|
||||||
"meta.tag.name" + (group ? "." + group : "")];
|
"meta.tag" + (group ? "." + group : "") + ".tag-name.xml"];
|
||||||
},
|
},
|
||||||
regex : "(<)([-_a-zA-Z0-9:]+)",
|
regex : "(</?)([-_a-zA-Z0-9:]+)",
|
||||||
next: "start_tag_stuff"
|
next: "tag_stuff"
|
||||||
}, {
|
|
||||||
token : function(start, tag) {
|
|
||||||
var group = tagMap[tag];
|
|
||||||
return ["meta.tag.punctuation.begin",
|
|
||||||
"meta.tag.name" + (group ? "." + group : "")];
|
|
||||||
},
|
|
||||||
regex : "(</)([-_a-zA-Z0-9:]+)",
|
|
||||||
next: "end_tag_stuff"
|
|
||||||
}],
|
}],
|
||||||
start_tag_stuff: [
|
tag_stuff: [
|
||||||
{include : "attributes"},
|
{include : "attributes"},
|
||||||
{token : "meta.tag.punctuation.end", regex : "/?>", next : "start"}
|
{token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
|
||||||
],
|
],
|
||||||
end_tag_stuff: [
|
|
||||||
{include : "space"},
|
|
||||||
{token : "meta.tag.punctuation.end", regex : ">", next : "start"}
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embedTagRules(CssHighlightRules, "css-", "style");
|
this.embedTagRules(CssHighlightRules, "css-", "style");
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -8,7 +8,7 @@ var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
var LuaPageHighlightRules = require("./luapage_highlight_rules").LuaPageHighlightRules;
|
var LuaPageHighlightRules = require("./luapage_highlight_rules").LuaPageHighlightRules;
|
||||||
|
|
||||||
var Mode = function() {
|
var Mode = function() {
|
||||||
this.HighlightRules = LuaPageHighlightRules;
|
HtmlMode.call(this);
|
||||||
|
|
||||||
this.HighlightRules = LuaPageHighlightRules;
|
this.HighlightRules = LuaPageHighlightRules;
|
||||||
this.createModeDelegates({
|
this.createModeDelegates({
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ oop.inherits(Mode, TextMode);
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
this.type = "text";
|
this.type = "text";
|
||||||
this.lineCommentStart = ">";
|
this.blockComment = {start: "<!--", end: "-->"};
|
||||||
|
|
||||||
this.getNextLineIndent = function(state, line, tab) {
|
this.getNextLineIndent = function(state, line, tab) {
|
||||||
if (state == "listblock") {
|
if (state == "listblock") {
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ var escaped = function(ch) {
|
||||||
function github_embed(tag, prefix) {
|
function github_embed(tag, prefix) {
|
||||||
return { // Github style block
|
return { // Github style block
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
regex : "^```" + tag + "\\s*$",
|
regex : "^\\s*```" + tag + "\\s*$",
|
||||||
push : prefix + "start"
|
push : prefix + "start"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -79,7 +79,7 @@ var MarkdownHighlightRules = function() {
|
||||||
github_embed("css", "csscode-"),
|
github_embed("css", "csscode-"),
|
||||||
{ // Github style block
|
{ // Github style block
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
regex : "^```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",
|
regex : "^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$",
|
||||||
next : "githubblock"
|
next : "githubblock"
|
||||||
}, { // block quote
|
}, { // block quote
|
||||||
token : "string.blockquote",
|
token : "string.blockquote",
|
||||||
|
|
@ -164,11 +164,15 @@ var MarkdownHighlightRules = function() {
|
||||||
next : "listblock-start"
|
next : "listblock-start"
|
||||||
}, {
|
}, {
|
||||||
include : "basic", noEscape: true
|
include : "basic", noEscape: true
|
||||||
|
}, { // Github style block
|
||||||
|
token : "support.function",
|
||||||
|
regex : "^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",
|
||||||
|
next : "githubblock"
|
||||||
}, {
|
}, {
|
||||||
defaultToken : "list" //do not use markup.list to allow stling leading `*` differntly
|
defaultToken : "list" //do not use markup.list to allow stling leading `*` differntly
|
||||||
} ],
|
} ],
|
||||||
|
|
||||||
"blockquote" : [ { // BLockquotes only escape on blank lines.
|
"blockquote" : [ { // Blockquotes only escape on blank lines.
|
||||||
token : "empty_line",
|
token : "empty_line",
|
||||||
regex : "^\\s*$",
|
regex : "^\\s*$",
|
||||||
next : "start"
|
next : "start"
|
||||||
|
|
@ -184,7 +188,7 @@ var MarkdownHighlightRules = function() {
|
||||||
|
|
||||||
"githubblock" : [ {
|
"githubblock" : [ {
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
regex : "^```",
|
regex : "^\\s*```",
|
||||||
next : "start"
|
next : "start"
|
||||||
}, {
|
}, {
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
|
|
@ -194,25 +198,25 @@ var MarkdownHighlightRules = function() {
|
||||||
|
|
||||||
this.embedRules(JavaScriptHighlightRules, "jscode-", [{
|
this.embedRules(JavaScriptHighlightRules, "jscode-", [{
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
regex : "^```",
|
regex : "^\\s*```",
|
||||||
next : "pop"
|
next : "pop"
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
this.embedRules(HtmlHighlightRules, "htmlcode-", [{
|
this.embedRules(HtmlHighlightRules, "htmlcode-", [{
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
regex : "^```",
|
regex : "^\\s*```",
|
||||||
next : "pop"
|
next : "pop"
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
this.embedRules(CssHighlightRules, "csscode-", [{
|
this.embedRules(CssHighlightRules, "csscode-", [{
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
regex : "^```",
|
regex : "^\\s*```",
|
||||||
next : "pop"
|
next : "pop"
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
this.embedRules(XmlHighlightRules, "xmlcode-", [{
|
this.embedRules(XmlHighlightRules, "xmlcode-", [{
|
||||||
token : "support.function",
|
token : "support.function",
|
||||||
regex : "^```",
|
regex : "^\\s*```",
|
||||||
next : "pop"
|
next : "pop"
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4810,6 +4810,16 @@ PHP.Parser.prototype.Node_Expr_BitwiseOr = function() {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PHP.Parser.prototype.Node_Expr_BitwiseXor = function() {
|
||||||
|
return {
|
||||||
|
type: "Node_Expr_BitwiseXor",
|
||||||
|
left: arguments[ 0 ],
|
||||||
|
right: arguments[ 1 ],
|
||||||
|
attributes: arguments[ 2 ]
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
PHP.Parser.prototype.Node_Expr_BitwiseNot = function() {
|
PHP.Parser.prototype.Node_Expr_BitwiseNot = function() {
|
||||||
return {
|
return {
|
||||||
type: "Node_Expr_BitwiseNot",
|
type: "Node_Expr_BitwiseNot",
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ var RCodeModel = require("mode/r_code_model").RCodeModel;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var Mode = function(doc, session) {
|
var Mode = function(doc, session) {
|
||||||
|
HtmlMode.call(this);
|
||||||
this.$session = session;
|
this.$session = session;
|
||||||
this.HighlightRules = RHtmlHighlightRules;
|
this.HighlightRules = RHtmlHighlightRules;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ oop.inherits(Mode, TextMode);
|
||||||
|
|
||||||
if (state == "start") {
|
if (state == "start") {
|
||||||
var match = line.match(/^.*[\{\(\[]\s*$/);
|
var match = line.match(/^.*[\{\(\[]\s*$/);
|
||||||
var startingClassOrMethod = line.match(/^\s*(class|def)\s.*$/);
|
var startingClassOrMethod = line.match(/^\s*(class|def|module)\s.*$/);
|
||||||
var startingDoBlock = line.match(/.*do(\s*|\s+\|.*\|\s*)$/);
|
var startingDoBlock = line.match(/.*do(\s*|\s+\|.*\|\s*)$/);
|
||||||
var startingConditional = line.match(/^\s*(if|else)\s*/)
|
var startingConditional = line.match(/^\s*(if|else)\s*/)
|
||||||
if (match || startingClassOrMethod || startingDoBlock || startingConditional) {
|
if (match || startingClassOrMethod || startingDoBlock || startingConditional) {
|
||||||
|
|
|
||||||
|
|
@ -35,16 +35,10 @@ var oop = require("../lib/oop");
|
||||||
var HtmlMode = require("./html").Mode;
|
var HtmlMode = require("./html").Mode;
|
||||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
var SmartyHighlightRules = require("./smarty_highlight_rules").SmartyHighlightRules;
|
var SmartyHighlightRules = require("./smarty_highlight_rules").SmartyHighlightRules;
|
||||||
var HtmlBehaviour = require("./behaviour/html").HtmlBehaviour;
|
|
||||||
var HtmlFoldMode = require("./folding/html").FoldMode;
|
|
||||||
|
|
||||||
var Mode = function() {
|
var Mode = function() {
|
||||||
HtmlMode.call(this);
|
HtmlMode.call(this);
|
||||||
this.HighlightRules = SmartyHighlightRules;
|
this.HighlightRules = SmartyHighlightRules;
|
||||||
this.$behaviour = new HtmlBehaviour();
|
|
||||||
|
|
||||||
|
|
||||||
this.foldingRules = new HtmlFoldMode();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
oop.inherits(Mode, HtmlMode);
|
oop.inherits(Mode, HtmlMode);
|
||||||
|
|
|
||||||
|
|
@ -114,9 +114,9 @@ var SmartyHighlightRules = function() {
|
||||||
|
|
||||||
var smartyStart = smartyRules.start;
|
var smartyStart = smartyRules.start;
|
||||||
|
|
||||||
["start", "qqstring_inner", "qstring_inner", "attributes", "cdata"].forEach(function(x) {
|
for (var rule in this.$rules) {
|
||||||
this.$rules[x].unshift.apply(this.$rules[x], smartyStart);
|
this.$rules[rule].unshift.apply(this.$rules[rule], smartyStart);
|
||||||
}, this);
|
}
|
||||||
|
|
||||||
Object.keys(smartyRules).forEach(function(x) {
|
Object.keys(smartyRules).forEach(function(x) {
|
||||||
if (!this.$rules[x])
|
if (!this.$rules[x])
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ var Mode = function() {
|
||||||
"js-": JavaScriptMode
|
"js-": JavaScriptMode
|
||||||
});
|
});
|
||||||
|
|
||||||
this.foldingRules = new MixedFoldMode(new XmlFoldMode({}), {
|
this.foldingRules = new MixedFoldMode(new XmlFoldMode(), {
|
||||||
"js-": new CStyleFoldMode()
|
"js-": new CStyleFoldMode()
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -32,28 +32,16 @@ define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var oop = require("../lib/oop");
|
var oop = require("../lib/oop");
|
||||||
var TextMode = require("./text").Mode;
|
var HtmlMode = require("./html").Mode;
|
||||||
var JavaScriptMode = require("./javascript").Mode;
|
|
||||||
var CssMode = require("./css").Mode;
|
|
||||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
|
||||||
var TwigHighlightRules = require("./twig_highlight_rules").TwigHighlightRules;
|
var TwigHighlightRules = require("./twig_highlight_rules").TwigHighlightRules;
|
||||||
var HtmlBehaviour = require("./behaviour/html").HtmlBehaviour;
|
|
||||||
var HtmlFoldMode = require("./folding/html").FoldMode;
|
|
||||||
var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
|
var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
|
||||||
|
|
||||||
var Mode = function() {
|
var Mode = function() {
|
||||||
|
HtmlMode.call(this);
|
||||||
this.HighlightRules = TwigHighlightRules;
|
this.HighlightRules = TwigHighlightRules;
|
||||||
this.$outdent = new MatchingBraceOutdent();
|
this.$outdent = new MatchingBraceOutdent();
|
||||||
this.$behaviour = new HtmlBehaviour();
|
|
||||||
|
|
||||||
this.createModeDelegates({
|
|
||||||
"js-": JavaScriptMode,
|
|
||||||
"css-": CssMode
|
|
||||||
});
|
|
||||||
|
|
||||||
this.foldingRules = new HtmlFoldMode();
|
|
||||||
};
|
};
|
||||||
oop.inherits(Mode, TextMode);
|
oop.inherits(Mode, HtmlMode);
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
this.blockComment = {start: "{#", end: "#}"};
|
this.blockComment = {start: "{#", end: "#}"};
|
||||||
|
|
|
||||||
|
|
@ -37,18 +37,17 @@ define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var oop = require("../lib/oop");
|
var oop = require("../lib/oop");
|
||||||
var TextMode = require("./text").Mode;
|
var HtmlMode = require("./html").Mode;
|
||||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
var VelocityHighlightRules = require("./velocity_highlight_rules").VelocityHighlightRules;
|
var VelocityHighlightRules = require("./velocity_highlight_rules").VelocityHighlightRules;
|
||||||
var FoldMode = require("./folding/velocity").FoldMode;
|
var FoldMode = require("./folding/velocity").FoldMode;
|
||||||
var HtmlBehaviour = require("./behaviour/html").HtmlBehaviour;
|
|
||||||
|
|
||||||
var Mode = function() {
|
var Mode = function() {
|
||||||
|
HtmlMode.call(this);
|
||||||
this.HighlightRules = VelocityHighlightRules;
|
this.HighlightRules = VelocityHighlightRules;
|
||||||
this.foldingRules = new FoldMode();
|
this.foldingRules = new FoldMode();
|
||||||
this.$behaviour = new HtmlBehaviour();
|
|
||||||
};
|
};
|
||||||
oop.inherits(Mode, TextMode);
|
oop.inherits(Mode, HtmlMode);
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
this.lineCommentStart = "##";
|
this.lineCommentStart = "##";
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var oop = require("../lib/oop");
|
var oop = require("../lib/oop");
|
||||||
|
var lang = require("../lib/lang");
|
||||||
var TextMode = require("./text").Mode;
|
var TextMode = require("./text").Mode;
|
||||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||||
var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules;
|
var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules;
|
||||||
|
|
@ -48,6 +49,8 @@ oop.inherits(Mode, TextMode);
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
|
this.voidElements = lang.arrayToMap([]);
|
||||||
|
|
||||||
this.blockComment = {start: "<!--", end: "-->"};
|
this.blockComment = {start: "<!--", end: "-->"};
|
||||||
|
|
||||||
this.$id = "ace/mode/xml";
|
this.$id = "ace/mode/xml";
|
||||||
|
|
|
||||||
|
|
@ -38,57 +38,72 @@ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
||||||
var XmlHighlightRules = function(normalize) {
|
var XmlHighlightRules = function(normalize) {
|
||||||
this.$rules = {
|
this.$rules = {
|
||||||
start : [
|
start : [
|
||||||
{token : "punctuation.string.begin", regex : "<\\!\\[CDATA\\[", next : "cdata"},
|
{token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},
|
||||||
{
|
{
|
||||||
token : ["punctuation.instruction.begin", "keyword.instruction"],
|
token : ["punctuation.xml-decl.xml", "keyword.xml-decl.xml"],
|
||||||
regex : "(<\\?)(xml)(?=[\\s])", next : "xml_declaration"
|
regex : "(<\\?)(xml)(?=[\\s])", next : "xml_decl", caseInsensitive: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
token : ["punctuation.instruction.begin", "keyword.instruction"],
|
token : ["punctuation.instruction.xml", "keyword.instruction.xml"],
|
||||||
regex : "(<\\?)([-_a-zA-Z0-9]+)", next : "instruction"
|
regex : "(<\\?)([-_a-zA-Z0-9]+)", next : "processing_instruction",
|
||||||
},
|
},
|
||||||
{token : "comment", regex : "<\\!--", next : "comment"},
|
{token : "comment.xml", regex : "<\\!--", next : "comment"},
|
||||||
{
|
{
|
||||||
token : ["punctuation.doctype.begin", "meta.tag.doctype"],
|
token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
|
||||||
regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype"
|
regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true
|
||||||
},
|
},
|
||||||
{include : "tag"},
|
{include : "tag"},
|
||||||
{include : "reference"}
|
{token : "text.end-tag-open.xml", regex: "</"},
|
||||||
|
{token : "text.tag-open.xml", regex: "<"},
|
||||||
|
{include : "reference"},
|
||||||
|
{defaultToken : "text.xml"}
|
||||||
],
|
],
|
||||||
|
|
||||||
xml_declaration : [
|
xml_decl : [{
|
||||||
{include : "attributes"},
|
token : "entity.other.attribute-name.decl-attribute-name.xml",
|
||||||
{include : "instruction"}
|
regex : "(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"
|
||||||
],
|
}, {
|
||||||
|
token : "keyword.operator.decl-attribute-equals.xml",
|
||||||
|
regex : "="
|
||||||
|
}, {
|
||||||
|
include: "whitespace"
|
||||||
|
}, {
|
||||||
|
include: "string"
|
||||||
|
}, {
|
||||||
|
token : "punctuation.xml-decl.xml",
|
||||||
|
regex : "\\?>",
|
||||||
|
next : "start"
|
||||||
|
}],
|
||||||
|
|
||||||
instruction : [
|
processing_instruction : [
|
||||||
{token : "punctuation.instruction.end", regex : "\\?>", next : "start"}
|
{token : "punctuation.instruction.xml", regex : "\\?>", next : "start"},
|
||||||
|
{defaultToken : "instruction.xml"}
|
||||||
],
|
],
|
||||||
|
|
||||||
doctype : [
|
doctype : [
|
||||||
{include : "space"},
|
{include : "whitespace"},
|
||||||
{include : "string"},
|
{include : "string"},
|
||||||
{token : "punctuation.doctype.end", regex : ">", next : "start"},
|
{token : "xml-pe.doctype.xml", regex : ">", next : "start"},
|
||||||
{token : "xml-pe", regex : "[-_a-zA-Z0-9:]+"},
|
{token : "xml-pe.xml", regex : "[-_a-zA-Z0-9:]+"},
|
||||||
{token : "punctuation.begin", regex : "\\[", push : "declarations"}
|
{token : "punctuation.int-subset", regex : "\\[", push : "int_subset"}
|
||||||
],
|
],
|
||||||
|
|
||||||
declarations : [{
|
int_subset : [{
|
||||||
token : "text",
|
token : "text.xml",
|
||||||
regex : "\\s+"
|
regex : "\\s+"
|
||||||
}, {
|
}, {
|
||||||
token: "punctuation.end",
|
token: "punctuation.int-subset.xml",
|
||||||
regex: "]",
|
regex: "]",
|
||||||
next: "pop"
|
next: "pop"
|
||||||
}, {
|
}, {
|
||||||
token : ["punctuation.begin", "keyword"],
|
token : ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
|
||||||
regex : "(<\\!)([-_a-zA-Z0-9]+)",
|
regex : "(<\\!)([-_a-zA-Z0-9]+)",
|
||||||
push : [{
|
push : [{
|
||||||
token : "text",
|
token : "text",
|
||||||
regex : "\\s+"
|
regex : "\\s+"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
token : "punctuation.end",
|
token : "punctuation.markup-decl.xml",
|
||||||
regex : ">",
|
regex : ">",
|
||||||
next : "pop"
|
next : "pop"
|
||||||
},
|
},
|
||||||
|
|
@ -96,75 +111,88 @@ var XmlHighlightRules = function(normalize) {
|
||||||
}],
|
}],
|
||||||
|
|
||||||
cdata : [
|
cdata : [
|
||||||
{token : "string.end", regex : "\\]\\]>", next : "start"},
|
{token : "string.cdata.xml", regex : "\\]\\]>", next : "start"},
|
||||||
{token : "text", regex : "\\s+"},
|
{token : "text.xml", regex : "\\s+"},
|
||||||
{token : "text", regex : "(?:[^\\]]|\\](?!\\]>))+"}
|
{token : "text.xml", regex : "(?:[^\\]]|\\](?!\\]>))+"}
|
||||||
],
|
],
|
||||||
|
|
||||||
comment : [
|
comment : [
|
||||||
{token : "comment", regex : "-->", next : "start"},
|
{token : "comment.xml", regex : "-->", next : "start"},
|
||||||
{defaultToken : "comment"}
|
{defaultToken : "comment.xml"}
|
||||||
],
|
|
||||||
|
|
||||||
tag : [{
|
|
||||||
token : ["meta.tag.punctuation.begin", "meta.tag.name"],
|
|
||||||
regex : "(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",
|
|
||||||
next: [
|
|
||||||
{include : "attributes"},
|
|
||||||
{token : "meta.tag.punctuation.end", regex : "/?>", next : "start"}
|
|
||||||
]
|
|
||||||
}, {
|
|
||||||
token : ["meta.tag.punctuation.begin", "meta.tag.name"],
|
|
||||||
regex : "(</)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",
|
|
||||||
next: [
|
|
||||||
{include : "space"},
|
|
||||||
{token : "meta.tag.punctuation.end", regex : ">", next : "start"}
|
|
||||||
]
|
|
||||||
}],
|
|
||||||
|
|
||||||
space : [
|
|
||||||
{token : "text", regex : "\\s+"}
|
|
||||||
],
|
],
|
||||||
|
|
||||||
reference : [{
|
reference : [{
|
||||||
token : "constant.language.escape",
|
token : "constant.language.escape.reference.xml",
|
||||||
regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
|
regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
|
||||||
}, {
|
|
||||||
token : "text", regex : "&"
|
|
||||||
}],
|
}],
|
||||||
|
|
||||||
|
attr_reference : [{
|
||||||
|
token : "constant.language.escape.reference.attribute-value.xml",
|
||||||
|
regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
|
||||||
|
}],
|
||||||
|
|
||||||
|
tag : [{
|
||||||
|
token : ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
|
||||||
|
regex : "(?:(<)|(</))((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",
|
||||||
|
next: [
|
||||||
|
{include : "attributes"},
|
||||||
|
{token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
|
||||||
|
tag_whitespace : [
|
||||||
|
{token : "text.tag-whitespace.xml", regex : "\\s+"}
|
||||||
|
],
|
||||||
|
// for doctype and processing instructions
|
||||||
|
whitespace : [
|
||||||
|
{token : "text.whitespace.xml", regex : "\\s+"}
|
||||||
|
],
|
||||||
|
|
||||||
|
// for doctype and processing instructions
|
||||||
string: [{
|
string: [{
|
||||||
token : "string",
|
token : "string.xml",
|
||||||
regex : "'",
|
regex : "'",
|
||||||
push : "qstring_inner"
|
push : [
|
||||||
|
{token : "string.xml", regex: "'", next: "pop"},
|
||||||
|
{defaultToken : "string.xml"}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
token : "string",
|
token : "string.xml",
|
||||||
regex : '"',
|
regex : '"',
|
||||||
push : "qqstring_inner"
|
push : [
|
||||||
|
{token : "string.xml", regex: '"', next: "pop"},
|
||||||
|
{defaultToken : "string.xml"}
|
||||||
|
]
|
||||||
}],
|
}],
|
||||||
|
|
||||||
qstring_inner: [
|
|
||||||
{token : "string", regex: "'", next: "pop"},
|
|
||||||
{include : "reference"},
|
|
||||||
{defaultToken : "string"}
|
|
||||||
],
|
|
||||||
|
|
||||||
qqstring_inner: [
|
|
||||||
{token : "string", regex: '"', next: "pop"},
|
|
||||||
{include : "reference"},
|
|
||||||
{defaultToken : "string"}
|
|
||||||
],
|
|
||||||
|
|
||||||
attributes: [{
|
attributes: [{
|
||||||
token : "entity.other.attribute-name",
|
token : "entity.other.attribute-name.xml",
|
||||||
regex : "(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"
|
regex : "(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"
|
||||||
}, {
|
}, {
|
||||||
token : "keyword.operator.separator",
|
token : "keyword.operator.attribute-equals.xml",
|
||||||
regex : "="
|
regex : "="
|
||||||
}, {
|
}, {
|
||||||
include : "space"
|
include: "tag_whitespace"
|
||||||
}, {
|
}, {
|
||||||
include : "string"
|
include: "attribute_value"
|
||||||
|
}],
|
||||||
|
|
||||||
|
attribute_value: [{
|
||||||
|
token : "string.attribute-value.xml",
|
||||||
|
regex : "'",
|
||||||
|
push : [
|
||||||
|
{token : "string.attribute-value.xml", regex: "'", next: "pop"},
|
||||||
|
{include : "attr_reference"},
|
||||||
|
{defaultToken : "string.attribute-value.xml"}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
token : "string.attribute-value.xml",
|
||||||
|
regex : '"',
|
||||||
|
push : [
|
||||||
|
{token : "string.attribute-value.xml", regex: '"', next: "pop"},
|
||||||
|
{include : "attr_reference"},
|
||||||
|
{defaultToken : "string.attribute-value.xml"}
|
||||||
|
]
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -177,18 +205,17 @@ var XmlHighlightRules = function(normalize) {
|
||||||
|
|
||||||
this.embedTagRules = function(HighlightRules, prefix, tag){
|
this.embedTagRules = function(HighlightRules, prefix, tag){
|
||||||
this.$rules.tag.unshift({
|
this.$rules.tag.unshift({
|
||||||
token : ["meta.tag.punctuation.begin", "meta.tag.name." + tag],
|
token : ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
|
||||||
regex : "(<)(" + tag + ")",
|
regex : "(<)(" + tag + ")",
|
||||||
next: [
|
next: [
|
||||||
{include : "space"},
|
|
||||||
{include : "attributes"},
|
{include : "attributes"},
|
||||||
{token : "meta.tag.punctuation.end", regex : "/?>", next : prefix + "start"}
|
{token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : prefix + "start"}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$rules[tag + "-end"] = [
|
this.$rules[tag + "-end"] = [
|
||||||
{include : "space"},
|
{include : "attributes"},
|
||||||
{token : "meta.tag.punctuation.end", regex : ">", next: "start",
|
{token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next: "start",
|
||||||
onMatch : function(value, currentState, stack) {
|
onMatch : function(value, currentState, stack) {
|
||||||
stack.splice(0);
|
stack.splice(0);
|
||||||
return this.token;
|
return this.token;
|
||||||
|
|
@ -196,14 +223,14 @@ var XmlHighlightRules = function(normalize) {
|
||||||
]
|
]
|
||||||
|
|
||||||
this.embedRules(HighlightRules, prefix, [{
|
this.embedRules(HighlightRules, prefix, [{
|
||||||
token: ["meta.tag.punctuation.begin", "meta.tag.name." + tag],
|
token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
|
||||||
regex : "(</)(" + tag + ")",
|
regex : "(</)(" + tag + ")",
|
||||||
next: tag + "-end"
|
next: tag + "-end"
|
||||||
}, {
|
}, {
|
||||||
token: "string.begin",
|
token: "string.cdata.xml",
|
||||||
regex : "<\\!\\[CDATA\\["
|
regex : "<\\!\\[CDATA\\["
|
||||||
}, {
|
}, {
|
||||||
token: "string.end",
|
token: "string.cdata.xml",
|
||||||
regex : "\\]\\]>"
|
regex : "\\]\\]>"
|
||||||
}]);
|
}]);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ module.exports = {
|
||||||
assert.ok(tokenizer instanceof Tokenizer);
|
assert.ok(tokenizer instanceof Tokenizer);
|
||||||
|
|
||||||
var tokens = tokenizer.getLineTokens("<juhu>", "start").tokens;
|
var tokens = tokenizer.getLineTokens("<juhu>", "start").tokens;
|
||||||
assert.equal("meta.tag.punctuation.begin", tokens[0].type);
|
assert.equal("meta.tag.punctuation.tag-open.xml", tokens[0].type);
|
||||||
},
|
},
|
||||||
|
|
||||||
"test: toggle comment lines should not do anything" : function() {
|
"test: toggle comment lines should not do anything" : function() {
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,6 @@ var YamlHighlightRules = function() {
|
||||||
}, {
|
}, {
|
||||||
token : "constant.language.boolean",
|
token : "constant.language.boolean",
|
||||||
regex : "(?:true|false|TRUE|FALSE|True|False|yes|no)\\b"
|
regex : "(?:true|false|TRUE|FALSE|True|False|yes|no)\\b"
|
||||||
}, {
|
|
||||||
token : "invalid.illegal", // comments are not allowed
|
|
||||||
regex : "\\/\\/.*$"
|
|
||||||
}, {
|
}, {
|
||||||
token : "paren.lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
|
|
|
||||||
|
|
@ -72,8 +72,7 @@ function DefaultHandlers(mouseHandler) {
|
||||||
var selectionEmpty = selectionRange.isEmpty();
|
var selectionEmpty = selectionRange.isEmpty();
|
||||||
|
|
||||||
if (selectionEmpty) {
|
if (selectionEmpty) {
|
||||||
editor.moveCursorToPosition(pos);
|
editor.selection.moveToPosition(pos);
|
||||||
editor.selection.clearSelection();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2: contextmenu, 1: linux paste
|
// 2: contextmenu, 1: linux paste
|
||||||
|
|
@ -93,6 +92,7 @@ function DefaultHandlers(mouseHandler) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.captureMouse(ev);
|
||||||
if (!inSelection || this.$clickSelection || ev.getShiftKey() || editor.inMultiSelectMode) {
|
if (!inSelection || this.$clickSelection || ev.getShiftKey() || editor.inMultiSelectMode) {
|
||||||
// Directly pick STATE_SELECT, since the user is not clicking inside
|
// Directly pick STATE_SELECT, since the user is not clicking inside
|
||||||
// a selection.
|
// a selection.
|
||||||
|
|
@ -101,7 +101,6 @@ function DefaultHandlers(mouseHandler) {
|
||||||
this.mousedownEvent.time = Date.now();
|
this.mousedownEvent.time = Date.now();
|
||||||
this.startSelect(pos);
|
this.startSelect(pos);
|
||||||
}
|
}
|
||||||
this.captureMouse(ev);
|
|
||||||
return ev.preventDefault();
|
return ev.preventDefault();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -114,8 +113,7 @@ function DefaultHandlers(mouseHandler) {
|
||||||
editor.selection.selectToPosition(pos);
|
editor.selection.selectToPosition(pos);
|
||||||
}
|
}
|
||||||
else if (!this.$clickSelection) {
|
else if (!this.$clickSelection) {
|
||||||
editor.moveCursorToPosition(pos);
|
editor.selection.moveToPosition(pos);
|
||||||
editor.selection.clearSelection();
|
|
||||||
}
|
}
|
||||||
if (editor.renderer.scroller.setCapture) {
|
if (editor.renderer.scroller.setCapture) {
|
||||||
editor.renderer.scroller.setCapture();
|
editor.renderer.scroller.setCapture();
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,6 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
var event = require("../lib/event");
|
var event = require("../lib/event");
|
||||||
|
|
||||||
|
|
||||||
// mouse
|
// mouse
|
||||||
function isSamePoint(p1, p2) {
|
function isSamePoint(p1, p2) {
|
||||||
return p1.row == p2.row && p1.column == p2.column;
|
return p1.row == p2.row && p1.column == p2.column;
|
||||||
|
|
@ -51,7 +50,7 @@ function onMouseDown(e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ctrl && !alt) {
|
if (!ctrl && !alt) {
|
||||||
if (button == 0 && e.editor.inMultiSelectMode)
|
if (button === 0 && e.editor.inMultiSelectMode)
|
||||||
e.editor.exitMultiSelectMode();
|
e.editor.exitMultiSelectMode();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -79,8 +78,7 @@ function onMouseDown(e) {
|
||||||
return;
|
return;
|
||||||
screenCursor = newCursor;
|
screenCursor = newCursor;
|
||||||
|
|
||||||
editor.selection.moveCursorToPosition(cursor);
|
editor.selection.moveToPosition(cursor);
|
||||||
editor.selection.clearSelection();
|
|
||||||
editor.renderer.scrollCursorIntoView();
|
editor.renderer.scrollCursorIntoView();
|
||||||
|
|
||||||
editor.removeSelectionMarkers(rectSel);
|
editor.removeSelectionMarkers(rectSel);
|
||||||
|
|
@ -95,7 +93,7 @@ function onMouseDown(e) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (ctrl && !shift && !alt && button == 0) {
|
if (ctrl && !alt && !shift && button === 0) {
|
||||||
if (!isMultiSelect && inSelection)
|
if (!isMultiSelect && inSelection)
|
||||||
return; // dragging
|
return; // dragging
|
||||||
|
|
||||||
|
|
@ -122,7 +120,7 @@ function onMouseDown(e) {
|
||||||
editor.$blockScrolling--;
|
editor.$blockScrolling--;
|
||||||
});
|
});
|
||||||
|
|
||||||
} else if (alt && button == 0) {
|
} else if (alt && button === 0) {
|
||||||
e.stop();
|
e.stop();
|
||||||
|
|
||||||
if (isMultiSelect && !ctrl)
|
if (isMultiSelect && !ctrl)
|
||||||
|
|
@ -135,8 +133,7 @@ function onMouseDown(e) {
|
||||||
screenAnchor = session.documentToScreenPosition(selection.lead);
|
screenAnchor = session.documentToScreenPosition(selection.lead);
|
||||||
blockSelect();
|
blockSelect();
|
||||||
} else {
|
} else {
|
||||||
selection.moveCursorToPosition(pos);
|
selection.moveToPosition(pos);
|
||||||
selection.clearSelection();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -437,6 +437,7 @@ var Editor = require("./editor").Editor;
|
||||||
this.commands.removeDefaultHandler("exec", this.$onMultiSelectExec);
|
this.commands.removeDefaultHandler("exec", this.$onMultiSelectExec);
|
||||||
this.renderer.updateCursor();
|
this.renderer.updateCursor();
|
||||||
this.renderer.updateBackMarkers();
|
this.renderer.updateBackMarkers();
|
||||||
|
this._emit("changeSelection");
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$onMultiSelectExec = function(e) {
|
this.$onMultiSelectExec = function(e) {
|
||||||
|
|
@ -487,9 +488,10 @@ var Editor = require("./editor").Editor;
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
tmpSel.fromOrientedRange(rangeList.ranges[i]);
|
tmpSel.fromOrientedRange(rangeList.ranges[i]);
|
||||||
|
tmpSel.id = rangeList.ranges[i].marker;
|
||||||
this.selection = session.selection = tmpSel;
|
this.selection = session.selection = tmpSel;
|
||||||
var cmdResult = cmd.exec(this, args || {});
|
var cmdResult = cmd.exec(this, args || {});
|
||||||
if (!result == undefined)
|
if (result !== undefined)
|
||||||
result = cmdResult;
|
result = cmdResult;
|
||||||
tmpSel.toOrientedRange(rangeList.ranges[i]);
|
tmpSel.toOrientedRange(rangeList.ranges[i]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,12 +112,15 @@ oop.inherits(Occur, Search);
|
||||||
occurSession.$occur = this;
|
occurSession.$occur = this;
|
||||||
occurSession.$occurMatchingLines = found;
|
occurSession.$occurMatchingLines = found;
|
||||||
editor.setSession(occurSession);
|
editor.setSession(occurSession);
|
||||||
|
this.$useEmacsStyleLineStart = this.$originalSession.$useEmacsStyleLineStart;
|
||||||
|
occurSession.$useEmacsStyleLineStart = this.$useEmacsStyleLineStart;
|
||||||
this.highlight(occurSession, options.re);
|
this.highlight(occurSession, options.re);
|
||||||
occurSession._emit('changeBackMarker');
|
occurSession._emit('changeBackMarker');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.displayOriginalContent = function(editor) {
|
this.displayOriginalContent = function(editor) {
|
||||||
editor.setSession(this.$originalSession);
|
editor.setSession(this.$originalSession);
|
||||||
|
this.$originalSession.$useEmacsStyleLineStart = this.$useEmacsStyleLineStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -298,6 +298,27 @@ var Selection = function(session) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Moves the selection cursor to the indicated row and column.
|
||||||
|
* @param {Number} row The row to select to
|
||||||
|
* @param {Number} column The column to select to
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
this.moveTo = function(row, column) {
|
||||||
|
this.clearSelection();
|
||||||
|
this.moveCursorTo(row, column);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Moves the selection cursor to the row and column indicated by `pos`.
|
||||||
|
* @param {Object} pos An object containing the row and column
|
||||||
|
**/
|
||||||
|
this.moveToPosition = function(pos) {
|
||||||
|
this.clearSelection();
|
||||||
|
this.moveCursorToPosition(pos);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Moves the selection up one row.
|
* Moves the selection up one row.
|
||||||
|
|
@ -868,6 +889,27 @@ var Selection = function(session) {
|
||||||
return range;
|
return range;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Saves the current cursor position and calls `func` that can change the cursor
|
||||||
|
* postion. The result is the range of the starting and eventual cursor position.
|
||||||
|
* Will reset the cursor position.
|
||||||
|
* @param {Function} The callback that should change the cursor position
|
||||||
|
* @returns {Range}
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
this.getRangeOfMovements = function(func) {
|
||||||
|
var start = this.getCursor();
|
||||||
|
try {
|
||||||
|
func.call(null, this);
|
||||||
|
var end = this.getCursor();
|
||||||
|
return Range.fromPoints(start,end);
|
||||||
|
} catch(e) {
|
||||||
|
return Range.fromPoints(start,start);
|
||||||
|
} finally {
|
||||||
|
this.moveCursorToPosition(start);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.toJSON = function() {
|
this.toJSON = function() {
|
||||||
if (this.rangeCount) {
|
if (this.rangeCount) {
|
||||||
var data = this.ranges.map(function(r) {
|
var data = this.ranges.map(function(r) {
|
||||||
|
|
|
||||||
|
|
@ -1,73 +1,73 @@
|
||||||
snippet @
|
snippet @
|
||||||
@${1:label}
|
@${1:label};
|
||||||
snippet CAMERA_ACTIVE
|
snippet CAMERA_ACTIVE
|
||||||
CAMERA_ACTIVE, ${1:integer isActive},
|
CAMERA_ACTIVE, ${1:integer isActive}, $0
|
||||||
snippet CAMERA_BEHINDNESS_ANGLE
|
snippet CAMERA_BEHINDNESS_ANGLE
|
||||||
CAMERA_BEHINDNESS_ANGLE, ${1:float degrees},
|
CAMERA_BEHINDNESS_ANGLE, ${1:float degrees}, $0
|
||||||
snippet CAMERA_BEHINDNESS_LAG
|
snippet CAMERA_BEHINDNESS_LAG
|
||||||
CAMERA_BEHINDNESS_LAG, ${1:float seconds},
|
CAMERA_BEHINDNESS_LAG, ${1:float seconds}, $0
|
||||||
snippet CAMERA_DISTANCE
|
snippet CAMERA_DISTANCE
|
||||||
CAMERA_DISTANCE, ${1:float meters},
|
CAMERA_DISTANCE, ${1:float meters}, $0
|
||||||
snippet CAMERA_FOCUS
|
snippet CAMERA_FOCUS
|
||||||
CAMERA_FOCUS, ${1:vector position},
|
CAMERA_FOCUS, ${1:vector position}, $0
|
||||||
snippet CAMERA_FOCUS_LAG
|
snippet CAMERA_FOCUS_LAG
|
||||||
CAMERA_FOCUS_LAG, ${1:float seconds},
|
CAMERA_FOCUS_LAG, ${1:float seconds}, $0
|
||||||
snippet CAMERA_FOCUS_LOCKED
|
snippet CAMERA_FOCUS_LOCKED
|
||||||
CAMERA_FOCUS_LOCKED, ${1:integer isLocked},
|
CAMERA_FOCUS_LOCKED, ${1:integer isLocked}, $0
|
||||||
snippet CAMERA_FOCUS_OFFSET
|
snippet CAMERA_FOCUS_OFFSET
|
||||||
CAMERA_FOCUS_OFFSET, ${1:vector meters},
|
CAMERA_FOCUS_OFFSET, ${1:vector meters}, $0
|
||||||
snippet CAMERA_FOCUS_THRESHOLD
|
snippet CAMERA_FOCUS_THRESHOLD
|
||||||
CAMERA_FOCUS_THRESHOLD, ${1:float meters},
|
CAMERA_FOCUS_THRESHOLD, ${1:float meters}, $0
|
||||||
snippet CAMERA_PITCH
|
snippet CAMERA_PITCH
|
||||||
CAMERA_PITCH, ${1:float degrees},
|
CAMERA_PITCH, ${1:float degrees}, $0
|
||||||
snippet CAMERA_POSITION
|
snippet CAMERA_POSITION
|
||||||
CAMERA_POSITION, ${1:vector position},
|
CAMERA_POSITION, ${1:vector position}, $0
|
||||||
snippet CAMERA_POSITION_LAG
|
snippet CAMERA_POSITION_LAG
|
||||||
CAMERA_POSITION_LAG, ${1:float seconds},
|
CAMERA_POSITION_LAG, ${1:float seconds}, $0
|
||||||
snippet CAMERA_POSITION_LOCKED
|
snippet CAMERA_POSITION_LOCKED
|
||||||
CAMERA_POSITION_LOCKED, ${1:integer isLocked},
|
CAMERA_POSITION_LOCKED, ${1:integer isLocked}, $0
|
||||||
snippet CAMERA_POSITION_THRESHOLD
|
snippet CAMERA_POSITION_THRESHOLD
|
||||||
CAMERA_POSITION_THRESHOLD, ${1:float meters},
|
CAMERA_POSITION_THRESHOLD, ${1:float meters}, $0
|
||||||
snippet CHARACTER_AVOIDANCE_MODE
|
snippet CHARACTER_AVOIDANCE_MODE
|
||||||
CHARACTER_AVOIDANCE_MODE, ${1:integer flags},
|
CHARACTER_AVOIDANCE_MODE, ${1:integer flags}, $0
|
||||||
snippet CHARACTER_DESIRED_SPEED
|
snippet CHARACTER_DESIRED_SPEED
|
||||||
CHARACTER_DESIRED_SPEED, ${1:float speed},
|
CHARACTER_DESIRED_SPEED, ${1:float speed}, $0
|
||||||
snippet CHARACTER_DESIRED_TURN_SPEED
|
snippet CHARACTER_DESIRED_TURN_SPEED
|
||||||
CHARACTER_DESIRED_TURN_SPEED, ${1:float speed},
|
CHARACTER_DESIRED_TURN_SPEED, ${1:float speed}, $0
|
||||||
snippet CHARACTER_LENGTH
|
snippet CHARACTER_LENGTH
|
||||||
CHARACTER_LENGTH, ${1:float length},
|
CHARACTER_LENGTH, ${1:float length}, $0
|
||||||
snippet CHARACTER_MAX_TURN_RADIUS
|
snippet CHARACTER_MAX_TURN_RADIUS
|
||||||
CHARACTER_MAX_TURN_RADIUS, ${1:float radius},
|
CHARACTER_MAX_TURN_RADIUS, ${1:float radius}, $0
|
||||||
snippet CHARACTER_ORIENTATION
|
snippet CHARACTER_ORIENTATION
|
||||||
CHARACTER_ORIENTATION, ${1:integer orientation},
|
CHARACTER_ORIENTATION, ${1:integer orientation}, $0
|
||||||
snippet CHARACTER_RADIUS
|
snippet CHARACTER_RADIUS
|
||||||
CHARACTER_RADIUS, ${1:float radius},
|
CHARACTER_RADIUS, ${1:float radius}, $0
|
||||||
snippet CHARACTER_STAY_WITHIN_PARCEL
|
snippet CHARACTER_STAY_WITHIN_PARCEL
|
||||||
CHARACTER_STAY_WITHIN_PARCEL, ${1:boolean stay},
|
CHARACTER_STAY_WITHIN_PARCEL, ${1:boolean stay}, $0
|
||||||
snippet CHARACTER_TYPE
|
snippet CHARACTER_TYPE
|
||||||
CHARACTER_TYPE, ${1:integer type},
|
CHARACTER_TYPE, ${1:integer type}, $0
|
||||||
snippet HTTP_BODY_MAXLENGTH
|
snippet HTTP_BODY_MAXLENGTH
|
||||||
HTTP_BODY_MAXLENGTH, ${1:integer length},
|
HTTP_BODY_MAXLENGTH, ${1:integer length}, $0
|
||||||
snippet HTTP_CUSTOM_HEADER
|
snippet HTTP_CUSTOM_HEADER
|
||||||
HTTP_CUSTOM_HEADER, ${1:string name}, ${2:string value},
|
HTTP_CUSTOM_HEADER, ${1:string name}, ${2:string value}, $0
|
||||||
snippet HTTP_METHOD
|
snippet HTTP_METHOD
|
||||||
HTTP_METHOD, ${1:string method},
|
HTTP_METHOD, ${1:string method}, $0
|
||||||
snippet HTTP_MIMETYPE
|
snippet HTTP_MIMETYPE
|
||||||
HTTP_MIMETYPE, ${1:string mimeType},
|
HTTP_MIMETYPE, ${1:string mimeType}, $0
|
||||||
snippet HTTP_PRAGMA_NO_CACHE
|
snippet HTTP_PRAGMA_NO_CACHE
|
||||||
HTTP_PRAGMA_NO_CACHE, ${1:integer send_header},
|
HTTP_PRAGMA_NO_CACHE, ${1:integer send_header}, $0
|
||||||
snippet HTTP_VERBOSE_THROTTLE
|
snippet HTTP_VERBOSE_THROTTLE
|
||||||
HTTP_VERBOSE_THROTTLE, ${1:integer noisy},
|
HTTP_VERBOSE_THROTTLE, ${1:integer noisy}, $0
|
||||||
snippet HTTP_VERIFY_CERT
|
snippet HTTP_VERIFY_CERT
|
||||||
HTTP_VERIFY_CERT, ${1:integer verify},
|
HTTP_VERIFY_CERT, ${1:integer verify}, $0
|
||||||
snippet RC_DATA_FLAGS
|
snippet RC_DATA_FLAGS
|
||||||
RC_DATA_FLAGS, ${1:integer flags},
|
RC_DATA_FLAGS, ${1:integer flags}, $0
|
||||||
snippet RC_DETECT_PHANTOM
|
snippet RC_DETECT_PHANTOM
|
||||||
RC_DETECT_PHANTOM, ${1:integer dectedPhantom},
|
RC_DETECT_PHANTOM, ${1:integer dectedPhantom}, $0
|
||||||
snippet RC_MAX_HITS
|
snippet RC_MAX_HITS
|
||||||
RC_MAX_HITS, ${1:integer maxHits},
|
RC_MAX_HITS, ${1:integer maxHits}, $0
|
||||||
snippet RC_REJECT_TYPES
|
snippet RC_REJECT_TYPES
|
||||||
RC_REJECT_TYPES, ${1:integer filterMask},
|
RC_REJECT_TYPES, ${1:integer filterMask}, $0
|
||||||
snippet at_rot_target
|
snippet at_rot_target
|
||||||
at_rot_target(${1:integer handle}, ${2:rotation targetrot}, ${3:rotation ourrot})
|
at_rot_target(${1:integer handle}, ${2:rotation targetrot}, ${3:rotation ourrot})
|
||||||
{
|
{
|
||||||
|
|
@ -124,11 +124,6 @@ snippet else
|
||||||
{
|
{
|
||||||
$0
|
$0
|
||||||
}
|
}
|
||||||
snippet else if
|
|
||||||
else if (${1:condition})
|
|
||||||
{
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
snippet email
|
snippet email
|
||||||
email(${1:string time}, ${2:string address}, ${3:string subject}, ${4:string message}, ${5:integer num_left})
|
email(${1:string time}, ${2:string address}, ${3:string subject}, ${4:string message}, ${5:integer num_left})
|
||||||
{
|
{
|
||||||
|
|
@ -186,29 +181,31 @@ snippet llAbs
|
||||||
snippet llAcos
|
snippet llAcos
|
||||||
llAcos(${1:float val})
|
llAcos(${1:float val})
|
||||||
snippet llAddToLandBanList
|
snippet llAddToLandBanList
|
||||||
llAddToLandBanList(${1:key avatar}, ${2:float hours})
|
llAddToLandBanList(${1:key agent}, ${2:float hours});
|
||||||
snippet llAddToLandPassList
|
snippet llAddToLandPassList
|
||||||
llAddToLandPassList(${1:key avatar}, ${2:float hours})
|
llAddToLandPassList(${1:key agent}, ${2:float hours});
|
||||||
snippet llAdjustSoundVolume
|
snippet llAdjustSoundVolume
|
||||||
llAdjustSoundVolume(${1:float volume})
|
llAdjustSoundVolume(${1:float volume});
|
||||||
snippet llAllowInventoryDrop
|
snippet llAllowInventoryDrop
|
||||||
llAllowInventoryDrop(${1:integer add})
|
llAllowInventoryDrop(${1:integer add});
|
||||||
snippet llAngleBetween
|
snippet llAngleBetween
|
||||||
llAngleBetween(${1:rotation a}, ${2:rotation b})
|
llAngleBetween(${1:rotation a}, ${2:rotation b})
|
||||||
snippet llApplyImpulse
|
snippet llApplyImpulse
|
||||||
llApplyImpulse(${1:vector force}, ${2:integer local})
|
llApplyImpulse(${1:vector force}, ${2:integer local});
|
||||||
snippet llApplyRotationalImpulse
|
snippet llApplyRotationalImpulse
|
||||||
llApplyRotationalImpulse(${1:vector force}, ${2:integer local})
|
llApplyRotationalImpulse(${1:vector force}, ${2:integer local});
|
||||||
snippet llAsin
|
snippet llAsin
|
||||||
llAsin(${1:float val})
|
llAsin(${1:float val})
|
||||||
snippet llAtan2
|
snippet llAtan2
|
||||||
llAtan2(${1:float y}, ${2:float x})
|
llAtan2(${1:float y}, ${2:float x})
|
||||||
snippet llAttachToAvatar
|
snippet llAttachToAvatar
|
||||||
llAttachToAvatar(${1:integer attach_point})
|
llAttachToAvatar(${1:integer attach_point});
|
||||||
snippet llAttachToAvatarTemp
|
snippet llAttachToAvatarTemp
|
||||||
llAttachToAvatarTemp(${1:integer attach_point})
|
llAttachToAvatarTemp(${1:integer attach_point});
|
||||||
snippet llAvatarOnLinkSitTarget
|
snippet llAvatarOnLinkSitTarget
|
||||||
llAvatarOnLinkSitTarget(${1:integer link})
|
llAvatarOnLinkSitTarget(${1:integer link})
|
||||||
|
snippet llAvatarOnSitTarget
|
||||||
|
llAvatarOnSitTarget()
|
||||||
snippet llAxes2Rot
|
snippet llAxes2Rot
|
||||||
llAxes2Rot(${1:vector fwd}, ${2:vector left}, ${3:vector up})
|
llAxes2Rot(${1:vector fwd}, ${2:vector left}, ${3:vector up})
|
||||||
snippet llAxisAngle2Rot
|
snippet llAxisAngle2Rot
|
||||||
|
|
@ -217,36 +214,42 @@ snippet llBase64ToInteger
|
||||||
llBase64ToInteger(${1:string str})
|
llBase64ToInteger(${1:string str})
|
||||||
snippet llBase64ToString
|
snippet llBase64ToString
|
||||||
llBase64ToString(${1:string str})
|
llBase64ToString(${1:string str})
|
||||||
|
snippet llBreakAllLinks
|
||||||
|
llBreakAllLinks();
|
||||||
snippet llBreakLink
|
snippet llBreakLink
|
||||||
llBreakLink(${1:integer link})
|
llBreakLink(${1:integer link});
|
||||||
snippet llCastRay
|
snippet llCastRay
|
||||||
llCastRay(${1:vector start}, ${2:vector end}, ${3:list options})
|
llCastRay(${1:vector start}, ${2:vector end}, ${3:list options});
|
||||||
snippet llCeil
|
snippet llCeil
|
||||||
llCeil(${1:float val})
|
llCeil(${1:float val})
|
||||||
|
snippet llClearCameraParams
|
||||||
|
llClearCameraParams();
|
||||||
snippet llClearLinkMedia
|
snippet llClearLinkMedia
|
||||||
llClearLinkMedia(${1:integer link}, ${2:integer face})
|
llClearLinkMedia(${1:integer link}, ${2:integer face});
|
||||||
snippet llClearPrimMedia
|
snippet llClearPrimMedia
|
||||||
llClearPrimMedia(${1:integer link}, ${2:integer face})
|
llClearPrimMedia(${1:integer face});
|
||||||
snippet llCloseRemoteDataChannel
|
snippet llCloseRemoteDataChannel
|
||||||
llCloseRemoteDataChannel(${1:key channel})
|
llCloseRemoteDataChannel(${1:key channel});
|
||||||
snippet llCollisionFilter
|
snippet llCollisionFilter
|
||||||
llCollisionFilter(${1:string name}, ${2:key id}, ${3:integer accept})
|
llCollisionFilter(${1:string name}, ${2:key id}, ${3:integer accept});
|
||||||
snippet llCollisionSound
|
snippet llCollisionSound
|
||||||
llCollisionSound(${1:string impact_sound}, ${2:float impact_volume})
|
llCollisionSound(${1:string impact_sound}, ${2:float impact_volume});
|
||||||
snippet llCollisionSprite
|
|
||||||
llCollisionSprite(${1:string impact_sprite})
|
|
||||||
snippet llCos
|
snippet llCos
|
||||||
llCos(${1:float theta})
|
llCos(${1:float theta})
|
||||||
snippet llCreateCharacter
|
snippet llCreateCharacter
|
||||||
llCreateCharacter(${1:list options})
|
llCreateCharacter(${1:list options});
|
||||||
snippet llCreateLink
|
snippet llCreateLink
|
||||||
llCreateLink(${1:key target}, ${2:integer parent})
|
llCreateLink(${1:key target}, ${2:integer parent});
|
||||||
snippet llCSV2List
|
snippet llCSV2List
|
||||||
llCSV2List(${1:string src})
|
llCSV2List(${1:string src})
|
||||||
|
snippet llDeleteCharacter
|
||||||
|
llDeleteCharacter();
|
||||||
snippet llDeleteSubList
|
snippet llDeleteSubList
|
||||||
llDeleteSubList(${1:list src}, ${2:integer start}, ${3:integer end})
|
llDeleteSubList(${1:list src}, ${2:integer start}, ${3:integer end})
|
||||||
snippet llDeleteSubString
|
snippet llDeleteSubString
|
||||||
llDeleteSubString(${1:string src}, ${2:integer start}, ${3:integer end})
|
llDeleteSubString(${1:string src}, ${2:integer start}, ${3:integer end})
|
||||||
|
snippet llDetachFromAvatar
|
||||||
|
llDetachFromAvatar();
|
||||||
snippet llDetectedGrab
|
snippet llDetectedGrab
|
||||||
llDetectedGrab(${1:integer number})
|
llDetectedGrab(${1:integer number})
|
||||||
snippet llDetectedGroup
|
snippet llDetectedGroup
|
||||||
|
|
@ -260,7 +263,7 @@ snippet llDetectedName
|
||||||
snippet llDetectedOwner
|
snippet llDetectedOwner
|
||||||
llDetectedOwner(${1:integer number})
|
llDetectedOwner(${1:integer number})
|
||||||
snippet llDetectedPos
|
snippet llDetectedPos
|
||||||
llDetectedPos(${1:integer number})
|
llDetectedPosl(${1:integer number})
|
||||||
snippet llDetectedRot
|
snippet llDetectedRot
|
||||||
llDetectedRot(${1:integer number})
|
llDetectedRot(${1:integer number})
|
||||||
snippet llDetectedTouchBinormal
|
snippet llDetectedTouchBinormal
|
||||||
|
|
@ -280,59 +283,91 @@ snippet llDetectedType
|
||||||
snippet llDetectedVel
|
snippet llDetectedVel
|
||||||
llDetectedVel(${1:integer number})
|
llDetectedVel(${1:integer number})
|
||||||
snippet llDialog
|
snippet llDialog
|
||||||
llDialog(${1:key avatar}, ${2:string message}, ${3:list buttons}, ${4:integer channel})
|
llDialog(${1:key agent}, ${2:string message}, ${3:list buttons}, ${4:integer channel});
|
||||||
|
snippet llDie
|
||||||
|
llDie();
|
||||||
snippet llDumpList2String
|
snippet llDumpList2String
|
||||||
llDumpList2String(${1:list src}, ${2:string separator})
|
llDumpList2String(${1:list src}, ${2:string separator})
|
||||||
snippet llEdgeOfWorld
|
snippet llEdgeOfWorld
|
||||||
llEdgeOfWorld(${1:vector pos}, ${2:vector dir})
|
llEdgeOfWorld(${1:vector pos}, ${2:vector dir})
|
||||||
snippet llEjectFromLand
|
snippet llEjectFromLand
|
||||||
llEjectFromLand(${1:key avatar})
|
llEjectFromLand(${1:key agent});
|
||||||
snippet llEmail
|
snippet llEmail
|
||||||
llEmail(${1:string address}, ${2:string subject}, ${3:string message})
|
llEmail(${1:string address}, ${2:string subject}, ${3:string message});
|
||||||
snippet llEscapeURL
|
snippet llEscapeURL
|
||||||
llEscapeURL(${1:string url})
|
llEscapeURL(${1:string url})
|
||||||
snippet llEuler2Rot
|
snippet llEuler2Rot
|
||||||
llEuler2Rot(${1:vector v})
|
llEuler2Rot(${1:vector v})
|
||||||
snippet llExecCharacterCmd
|
snippet llExecCharacterCmd
|
||||||
llExecCharacterCmd(${1:integer command}, ${2:list options})
|
llExecCharacterCmd(${1:integer command}, ${2:list options});
|
||||||
snippet llEvade
|
snippet llEvade
|
||||||
llEvade(${1:key target}, ${2:list options})
|
llEvade(${1:key target}, ${2:list options});
|
||||||
snippet llFabs
|
snippet llFabs
|
||||||
llFabs(${1:float val})
|
llFabs(${1:float val})
|
||||||
snippet llFleeFrom
|
snippet llFleeFrom
|
||||||
llFleeFrom(${1:vector position}, ${2:float distance}, ${3:list options})
|
llFleeFrom(${1:vector position}, ${2:float distance}, ${3:list options});
|
||||||
snippet llFloor
|
snippet llFloor
|
||||||
llFloor(${1:float val})
|
llFloor(${1:float val})
|
||||||
snippet llForceMouselook
|
snippet llForceMouselook
|
||||||
llForceMouselook(${1:integer mouselook})
|
llForceMouselook(${1:integer mouselook});
|
||||||
snippet llFrand
|
snippet llFrand
|
||||||
llFrand(${1:float mag})
|
llFrand(${1:float mag})
|
||||||
|
snippet llGenerateKey
|
||||||
|
llGenerateKey()
|
||||||
|
snippet llGetAccel
|
||||||
|
llGetAccel()
|
||||||
snippet llGetAgentInfo
|
snippet llGetAgentInfo
|
||||||
llGetAgentInfo(${1:key id})
|
llGetAgentInfo(${1:key id})
|
||||||
snippet llGetAgentLanguage
|
snippet llGetAgentLanguage
|
||||||
llGetAgentLanguage(${1:key avatar})
|
llGetAgentLanguage(${1:key agent})
|
||||||
snippet llGetAgentList
|
snippet llGetAgentList
|
||||||
llGetAgentList(${1:integer scope}, ${2:list options})
|
llGetAgentList(${1:integer scope}, ${2:list options})
|
||||||
snippet llGetAgentSize
|
snippet llGetAgentSize
|
||||||
llGetAgentSize(${1:key avatar})
|
llGetAgentSize(${1:key agent})
|
||||||
snippet llGetAlpha
|
snippet llGetAlpha
|
||||||
llGetAlpha(${1:integer face})
|
llGetAlpha(${1:integer face})
|
||||||
|
snippet llGetAndResetTime
|
||||||
|
llGetAndResetTime()
|
||||||
snippet llGetAnimation
|
snippet llGetAnimation
|
||||||
llGetAnimation(${1:key id})
|
llGetAnimation(${1:key id})
|
||||||
snippet llGetAnimationList
|
snippet llGetAnimationList
|
||||||
llGetAnimationList(${1:key avatar})
|
llGetAnimationList(${1:key agent})
|
||||||
snippet llGetAnimationOverride
|
snippet llGetAnimationOverride
|
||||||
llGetAnimationOverride(${1:string anim_state})
|
llGetAnimationOverride(${1:string anim_state})
|
||||||
|
snippet llGetAttached
|
||||||
|
llGetAttached()
|
||||||
snippet llGetBoundingBox
|
snippet llGetBoundingBox
|
||||||
llGetBoundingBox(${1:key object})
|
llGetBoundingBox(${1:key object})
|
||||||
|
snippet llGetCameraPos
|
||||||
|
llGetCameraPos()
|
||||||
|
snippet llGetCameraRot
|
||||||
|
llGetCameraRot()
|
||||||
|
snippet llGetCenterOfMass
|
||||||
|
llGetCenterOfMass()
|
||||||
snippet llGetClosestNavPoint
|
snippet llGetClosestNavPoint
|
||||||
llGetClosestNavPoint(${1:vector point}, ${2:list options})
|
llGetClosestNavPoint(${1:vector point}, ${2:list options})
|
||||||
snippet llGetColor
|
snippet llGetColor
|
||||||
llGetColor(${1:integer face})
|
llGetColor(${1:integer face})
|
||||||
|
snippet llGetCreator
|
||||||
|
llGetCreator()
|
||||||
|
snippet llGetDate
|
||||||
|
llGetDate()
|
||||||
snippet llGetDisplayName
|
snippet llGetDisplayName
|
||||||
llGetDisplayName(${1:key id})
|
llGetDisplayName(${1:key id})
|
||||||
|
snippet llGetEnergy
|
||||||
|
llGetEnergy()
|
||||||
snippet llGetEnv
|
snippet llGetEnv
|
||||||
llGetEnv(${1:string name})
|
llGetEnv(${1:string name})
|
||||||
|
snippet llGetForce
|
||||||
|
llGetForce()
|
||||||
|
snippet llGetFreeMemory
|
||||||
|
llGetFreeMemory()
|
||||||
|
snippet llGetFreeURLs
|
||||||
|
llGetFreeURLs()
|
||||||
|
snippet llGetGeometricCenter
|
||||||
|
llGetGeometricCenter()
|
||||||
|
snippet llGetGMTclock
|
||||||
|
llGetGMTclock()
|
||||||
snippet llGetHTTPHeader
|
snippet llGetHTTPHeader
|
||||||
llGetHTTPHeader(${1:key request_id}, ${2:string header})
|
llGetHTTPHeader(${1:key request_id}, ${2:string header})
|
||||||
snippet llGetInventoryCreator
|
snippet llGetInventoryCreator
|
||||||
|
|
@ -347,6 +382,8 @@ snippet llGetInventoryPermMask
|
||||||
llGetInventoryPermMask(${1:string item}, ${2:integer mask})
|
llGetInventoryPermMask(${1:string item}, ${2:integer mask})
|
||||||
snippet llGetInventoryType
|
snippet llGetInventoryType
|
||||||
llGetInventoryType(${1:string name})
|
llGetInventoryType(${1:string name})
|
||||||
|
snippet llGetKey
|
||||||
|
llGetKey()
|
||||||
snippet llGetLandOwnerAt
|
snippet llGetLandOwnerAt
|
||||||
llGetLandOwnerAt(${1:vector pos})
|
llGetLandOwnerAt(${1:vector pos})
|
||||||
snippet llGetLinkKey
|
snippet llGetLinkKey
|
||||||
|
|
@ -355,6 +392,8 @@ snippet llGetLinkMedia
|
||||||
llGetLinkMedia(${1:integer link}, ${2:integer face}, ${3:list params})
|
llGetLinkMedia(${1:integer link}, ${2:integer face}, ${3:list params})
|
||||||
snippet llGetLinkName
|
snippet llGetLinkName
|
||||||
llGetLinkName(${1:integer link})
|
llGetLinkName(${1:integer link})
|
||||||
|
snippet llGetLinkNumber
|
||||||
|
llGetLinkNumber()
|
||||||
snippet llGetLinkNumberOfSides
|
snippet llGetLinkNumberOfSides
|
||||||
llGetLinkNumberOfSides(${1:integer link})
|
llGetLinkNumberOfSides(${1:integer link})
|
||||||
snippet llGetLinkPrimitiveParams
|
snippet llGetLinkPrimitiveParams
|
||||||
|
|
@ -363,20 +402,46 @@ snippet llGetListEntryType
|
||||||
llGetListEntryType(${1:list src}, ${2:integer index})
|
llGetListEntryType(${1:list src}, ${2:integer index})
|
||||||
snippet llGetListLength
|
snippet llGetListLength
|
||||||
llGetListLength(${1:list src})
|
llGetListLength(${1:list src})
|
||||||
|
snippet llGetLocalPos
|
||||||
|
llGetLocalPos()
|
||||||
|
snippet llGetLocalRot
|
||||||
|
llGetLocalRot()
|
||||||
|
snippet llGetMass
|
||||||
|
llGetMass()
|
||||||
|
snippet llGetMassMKS
|
||||||
|
llGetMassMKS()
|
||||||
|
snippet llGetMaxScaleFactor
|
||||||
|
llGetMaxScaleFactor()
|
||||||
|
snippet llGetMemoryLimit
|
||||||
|
llGetMemoryLimit()
|
||||||
|
snippet llGetMinScaleFactor
|
||||||
|
llGetMinScaleFactor()
|
||||||
snippet llGetNextEmail
|
snippet llGetNextEmail
|
||||||
llGetNextEmail(${1:string address}, ${2:string subject})
|
llGetNextEmail(${1:string address}, ${2:string subject});
|
||||||
snippet llGetNotecardLine
|
snippet llGetNotecardLine
|
||||||
llGetNotecardLine(${1:string name}, ${2:integer line})
|
llGetNotecardLine(${1:string name}, ${2:integer line})
|
||||||
snippet llGetNumberOfNotecardLines
|
snippet llGetNumberOfNotecardLines
|
||||||
llGetNumberOfNotecardLines(${1:string name})
|
llGetNumberOfNotecardLines(${1:string name})
|
||||||
|
snippet llGetNumberOfPrims
|
||||||
|
llGetNumberOfPrims()
|
||||||
|
snippet llGetNumberOfSides
|
||||||
|
llGetNumberOfSides()
|
||||||
|
snippet llGetObjectDesc
|
||||||
|
llGetObjectDesc()
|
||||||
snippet llGetObjectDetails
|
snippet llGetObjectDetails
|
||||||
llGetObjectDetails(${1:key id}, ${2:list params})
|
llGetObjectDetails(${1:key id}, ${2:list params})
|
||||||
snippet llGetObjectMass
|
snippet llGetObjectMass
|
||||||
llGetObjectMass(${1:key id})
|
llGetObjectMass(${1:key id})
|
||||||
|
snippet llGetObjectName
|
||||||
|
llGetObjectName()
|
||||||
snippet llGetObjectPermMask
|
snippet llGetObjectPermMask
|
||||||
llGetObjectPermMask(${1:integer mask})
|
llGetObjectPermMask(${1:integer mask})
|
||||||
snippet llGetObjectPrimCount
|
snippet llGetObjectPrimCount
|
||||||
llGetObjectPrimCount(${1:key prim})
|
llGetObjectPrimCount(${1:key prim})
|
||||||
|
snippet llGetOmega
|
||||||
|
llGetOmega()
|
||||||
|
snippet llGetOwner
|
||||||
|
llGetOwner()
|
||||||
snippet llGetOwnerKey
|
snippet llGetOwnerKey
|
||||||
llGetOwnerKey(${1:key id})
|
llGetOwnerKey(${1:key id})
|
||||||
snippet llGetParcelDetails
|
snippet llGetParcelDetails
|
||||||
|
|
@ -385,24 +450,64 @@ snippet llGetParcelFlags
|
||||||
llGetParcelFlags(${1:vector pos})
|
llGetParcelFlags(${1:vector pos})
|
||||||
snippet llGetParcelMaxPrims
|
snippet llGetParcelMaxPrims
|
||||||
llGetParcelMaxPrims(${1:vector pos}, ${2:integer sim_wide})
|
llGetParcelMaxPrims(${1:vector pos}, ${2:integer sim_wide})
|
||||||
|
snippet llGetParcelMusicURL
|
||||||
|
llGetParcelMusicURL()
|
||||||
snippet llGetParcelPrimCount
|
snippet llGetParcelPrimCount
|
||||||
llGetParcelPrimCount(${1:vector pos}, ${2:integer category}, ${3:integer sim_wide})
|
llGetParcelPrimCount(${1:vector pos}, ${2:integer category}, ${3:integer sim_wide})
|
||||||
snippet llGetParcelPrimOwners
|
snippet llGetParcelPrimOwners
|
||||||
llGetParcelPrimOwners(${1:vector pos})
|
llGetParcelPrimOwners(${1:vector pos})
|
||||||
|
snippet llGetPermissions
|
||||||
|
llGetPermissions()
|
||||||
|
snippet llGetPermissionsKey
|
||||||
|
llGetPermissionsKey()
|
||||||
|
snippet llGetPhysicsMaterial
|
||||||
|
llGetPhysicsMaterial()
|
||||||
|
snippet llGetPos
|
||||||
|
llGetPos()
|
||||||
snippet llGetPrimitiveParams
|
snippet llGetPrimitiveParams
|
||||||
llGetPrimitiveParams(${1:list params})
|
llGetPrimitiveParams(${1:list params})
|
||||||
snippet llGetPrimMediaParams
|
snippet llGetPrimMediaParams
|
||||||
llGetPrimMediaParams(${1:integer face}, ${2:list params})
|
llGetPrimMediaParams(${1:integer face}, ${2:list params})
|
||||||
|
snippet llGetRegionAgentCount
|
||||||
|
llGetRegionAgentCount()
|
||||||
|
snippet llGetRegionCorner
|
||||||
|
llGetRegionCorner()
|
||||||
|
snippet llGetRegionFlags
|
||||||
|
llGetRegionFlags()
|
||||||
|
snippet llGetRegionFPS
|
||||||
|
llGetRegionFPS()
|
||||||
|
snippet llGetRegionName
|
||||||
|
llGetRegionName()
|
||||||
|
snippet llGetRegionTimeDilation
|
||||||
|
llGetRegionTimeDilation()
|
||||||
|
snippet llGetRootPosition
|
||||||
|
llGetRootPosition()
|
||||||
|
snippet llGetRootRotation
|
||||||
|
llGetRootRotation()
|
||||||
|
snippet llGetRot
|
||||||
|
llGetRot()
|
||||||
|
snippet llGetScale
|
||||||
|
llGetScale()
|
||||||
|
snippet llGetScriptName
|
||||||
|
llGetScriptName()
|
||||||
snippet llGetScriptState
|
snippet llGetScriptState
|
||||||
llGetScriptState(${1:string script})
|
llGetScriptState(${1:string script})
|
||||||
snippet llGetSimStats
|
snippet llGetSimStats
|
||||||
llGetSimStats(${1:integer stat_type})
|
llGetSimStats(${1:integer stat_type})
|
||||||
|
snippet llGetSimulatorHostname
|
||||||
|
llGetSimulatorHostname()
|
||||||
|
snippet llGetSPMaxMemory
|
||||||
|
llGetSPMaxMemory()
|
||||||
|
snippet llGetStartParameter
|
||||||
|
llGetStartParameter()
|
||||||
snippet llGetStaticPath
|
snippet llGetStaticPath
|
||||||
llGetStaticPath(${1:vector start}, ${2:vector end}, ${3:float radius}, ${4:list params})
|
llGetStaticPath(${1:vector start}, ${2:vector end}, ${3:float radius}, ${4:list params})
|
||||||
snippet llGetStatus
|
snippet llGetStatus
|
||||||
llGetStatus(${1:integer status})
|
llGetStatus(${1:integer status})
|
||||||
snippet llGetSubString
|
snippet llGetSubString
|
||||||
llGetSubString(${1:string src}, ${2:integer start}, ${3:integer end})
|
llGetSubString(${1:string src}, ${2:integer start}, ${3:integer end})
|
||||||
|
snippet llGetSunDirection
|
||||||
|
llGetSunDirection()
|
||||||
snippet llGetTexture
|
snippet llGetTexture
|
||||||
llGetTexture(${1:integer face})
|
llGetTexture(${1:integer face})
|
||||||
snippet llGetTextureOffset
|
snippet llGetTextureOffset
|
||||||
|
|
@ -411,12 +516,28 @@ snippet llGetTextureRot
|
||||||
llGetTextureRot(${1:integer face})
|
llGetTextureRot(${1:integer face})
|
||||||
snippet llGetTextureScale
|
snippet llGetTextureScale
|
||||||
llGetTextureScale(${1:integer face})
|
llGetTextureScale(${1:integer face})
|
||||||
|
snippet llGetTime
|
||||||
|
llGetTime()
|
||||||
|
snippet llGetTimeOfDay
|
||||||
|
llGetTimeOfDay()
|
||||||
|
snippet llGetTimestamp
|
||||||
|
llGetTimestamp()
|
||||||
|
snippet llGetTorque
|
||||||
|
llGetTorque()
|
||||||
|
snippet llGetUnixTime
|
||||||
|
llGetUnixTime()
|
||||||
|
snippet llGetUsedMemory
|
||||||
|
llGetUsedMemory()
|
||||||
snippet llGetUsername
|
snippet llGetUsername
|
||||||
llGetUsername(${1:key id})
|
llGetUsername(${1:key id})
|
||||||
|
snippet llGetVel
|
||||||
|
llGetVel()
|
||||||
|
snippet llGetWallclock
|
||||||
|
llGetWallclock()
|
||||||
snippet llGiveInventory
|
snippet llGiveInventory
|
||||||
llGiveInventory(${1:key destination}, ${2:string inventory})
|
llGiveInventory(${1:key destination}, ${2:string inventory});
|
||||||
snippet llGiveInventoryList
|
snippet llGiveInventoryList
|
||||||
llGiveInventoryList(${1:key target}, ${2:string folder}, ${3:list inventory})
|
llGiveInventoryList(${1:key target}, ${2:string folder}, ${3:list inventory});
|
||||||
snippet llGiveMoney
|
snippet llGiveMoney
|
||||||
llGiveMoney(${1:key destination}, ${2:integer amount})
|
llGiveMoney(${1:key destination}, ${2:integer amount})
|
||||||
snippet llGround
|
snippet llGround
|
||||||
|
|
@ -426,17 +547,17 @@ snippet llGroundContour
|
||||||
snippet llGroundNormal
|
snippet llGroundNormal
|
||||||
llGroundNormal(${1:vector offset})
|
llGroundNormal(${1:vector offset})
|
||||||
snippet llGroundRepel
|
snippet llGroundRepel
|
||||||
llGroundRepel(${1:float height}, ${2:integer water}, ${3:float tau})
|
llGroundRepel(${1:float height}, ${2:integer water}, ${3:float tau});
|
||||||
snippet llGroundSlope
|
snippet llGroundSlope
|
||||||
llGroundSlope(${1:vector offset})
|
llGroundSlope(${1:vector offset})
|
||||||
snippet llHTTPRequest
|
snippet llHTTPRequest
|
||||||
llHTTPRequest(${1:string url}, ${2:list parameters}, ${3:string body})
|
llHTTPRequest(${1:string url}, ${2:list parameters}, ${3:string body})
|
||||||
snippet llHTTPResponse
|
snippet llHTTPResponse
|
||||||
llHTTPResponse(${1:key request_id}, ${2:integer status}, ${3:string body})
|
llHTTPResponse(${1:key request_id}, ${2:integer status}, ${3:string body});
|
||||||
snippet llInsertString
|
snippet llInsertString
|
||||||
llInsertString(${1:string dst}, ${2:integer pos}, ${3:string src})
|
llInsertString(${1:string dst}, ${2:integer pos}, ${3:string src})
|
||||||
snippet llInstantMessage
|
snippet llInstantMessage
|
||||||
llInstantMessage(${1:key user}, ${2:string message})
|
llInstantMessage(${1:key user}, ${2:string message});
|
||||||
snippet llIntegerToBase64
|
snippet llIntegerToBase64
|
||||||
llIntegerToBase64(${1:integer number})
|
llIntegerToBase64(${1:integer number})
|
||||||
snippet llJson2List
|
snippet llJson2List
|
||||||
|
|
@ -450,9 +571,9 @@ snippet llJsonValueType
|
||||||
snippet llKey2Name
|
snippet llKey2Name
|
||||||
llKey2Name(${1:key id})
|
llKey2Name(${1:key id})
|
||||||
snippet llLinkParticleSystem
|
snippet llLinkParticleSystem
|
||||||
llLinkParticleSystem(${1:integer link}, ${2:list rules})
|
llLinkParticleSystem(${1:integer link}, ${2:list rules});
|
||||||
snippet llLinkSitTarget
|
snippet llLinkSitTarget
|
||||||
llLinkSitTarget(${1:integer link}, ${2:vector offset}, ${3:rotation rot})
|
llLinkSitTarget(${1:integer link}, ${2:vector offset}, ${3:rotation rot});
|
||||||
snippet llList2CSV
|
snippet llList2CSV
|
||||||
llList2CSV(${1:list src})
|
llList2CSV(${1:list src})
|
||||||
snippet llList2Float
|
snippet llList2Float
|
||||||
|
|
@ -476,9 +597,9 @@ snippet llList2Vector
|
||||||
snippet llListen
|
snippet llListen
|
||||||
llListen(${1:integer channel}, ${2:string name}, ${3:key id}, ${4:string msg})
|
llListen(${1:integer channel}, ${2:string name}, ${3:key id}, ${4:string msg})
|
||||||
snippet llListenControl
|
snippet llListenControl
|
||||||
llListenControl(${1:integer handle}, ${2:integer active})
|
llListenControl(${1:integer handle}, ${2:integer active});
|
||||||
snippet llListenRemove
|
snippet llListenRemove
|
||||||
llListenRemove(${1:integer handle})
|
llListenRemove(${1:integer handle});
|
||||||
snippet llListFindList
|
snippet llListFindList
|
||||||
llListFindList(${1:list src}, ${2:list test})
|
llListFindList(${1:list src}, ${2:list test})
|
||||||
snippet llListInsertList
|
snippet llListInsertList
|
||||||
|
|
@ -492,45 +613,47 @@ snippet llListSort
|
||||||
snippet llListStatistics
|
snippet llListStatistics
|
||||||
llListStatistics(${1:integer operation}, ${2:list src})
|
llListStatistics(${1:integer operation}, ${2:list src})
|
||||||
snippet llLoadURL
|
snippet llLoadURL
|
||||||
llLoadURL(${1:key avatar}, ${2:string message}, ${3:string url})
|
llLoadURL(${1:key agent}, ${2:string message}, ${3:string url});
|
||||||
snippet llLog
|
snippet llLog
|
||||||
llLog(${1:float val})
|
llLog(${1:float val})
|
||||||
snippet llLog10
|
snippet llLog10
|
||||||
llLog10(${1:float val})
|
llLog10(${1:float val})
|
||||||
snippet llLookAt
|
snippet llLookAt
|
||||||
llLookAt(${1:vector target}, ${2:float strength}, ${3:float damping})
|
llLookAt(${1:vector target}, ${2:float strength}, ${3:float damping});
|
||||||
snippet llLoopSound
|
snippet llLoopSound
|
||||||
llLoopSound(${1:string sound}, ${2:float volume})
|
llLoopSound(${1:string sound}, ${2:float volume});
|
||||||
snippet llLoopSoundMaster
|
snippet llLoopSoundMaster
|
||||||
llLoopSoundMaster(${1:string sound}, ${2:float volume})
|
llLoopSoundMaster(${1:string sound}, ${2:float volume});
|
||||||
snippet llLoopSoundSlave
|
snippet llLoopSoundSlave
|
||||||
llLoopSoundSlave(${1:string sound}, ${2:float volume})
|
llLoopSoundSlave(${1:string sound}, ${2:float volume});
|
||||||
snippet llManageEstateAccess
|
snippet llManageEstateAccess
|
||||||
llManageEstateAccess(${1:integer action}, ${2:key avatar})
|
llManageEstateAccess(${1:integer action}, ${2:key agent})
|
||||||
snippet llMapDestination
|
snippet llMapDestination
|
||||||
llMapDestination(${1:string simname}, ${2:vector pos}, ${3:vector look_at})
|
llMapDestination(${1:string simname}, ${2:vector pos}, ${3:vector look_at});
|
||||||
snippet llMD5String
|
snippet llMD5String
|
||||||
llMD5String(${1:string src}, ${2:integer nonce})
|
llMD5String(${1:string src}, ${2:integer nonce})
|
||||||
snippet llMessageLinked
|
snippet llMessageLinked
|
||||||
llMessageLinked(${1:integer link}, ${2:integer num}, ${3:string str}, ${4:key id})
|
llMessageLinked(${1:integer link}, ${2:integer num}, ${3:string str}, ${4:key id});
|
||||||
snippet llMinEventDelay
|
snippet llMinEventDelay
|
||||||
llMinEventDelay(${1:float delay})
|
llMinEventDelay(${1:float delay});
|
||||||
snippet llModifyLand
|
snippet llModifyLand
|
||||||
llModifyLand(${1:integer action}, ${2:integer brush})
|
llModifyLand(${1:integer action}, ${2:integer brush});
|
||||||
snippet llModPow
|
snippet llModPow
|
||||||
llModPow(${1:integer a}, ${2:integer b}, ${3:integer c})
|
llModPow(${1:integer a}, ${2:integer b}, ${3:integer c})
|
||||||
snippet llMoveToTarget
|
snippet llMoveToTarget
|
||||||
llMoveToTarget(${1:vector target}, ${2:float tau})
|
llMoveToTarget(${1:vector target}, ${2:float tau});
|
||||||
snippet llNavigateTo
|
snippet llNavigateTo
|
||||||
llNavigateTo(${1:vector pos}, ${2:list options})
|
llNavigateTo(${1:vector pos}, ${2:list options});
|
||||||
snippet llOffsetTexture
|
snippet llOffsetTexture
|
||||||
llOffsetTexture(${1:float u}, ${2:float v}, ${3:integer face})
|
llOffsetTexture(${1:float u}, ${2:float v}, ${3:integer face});
|
||||||
|
snippet llOpenRemoteDataChannel
|
||||||
|
llOpenRemoteDataChannel();
|
||||||
snippet llOverMyLand
|
snippet llOverMyLand
|
||||||
llOverMyLand(${1:key id})
|
llOverMyLand(${1:key id})
|
||||||
snippet llOwnerSay
|
snippet llOwnerSay
|
||||||
llOwnerSay(${1:string msg})
|
llOwnerSay(${1:string msg});
|
||||||
snippet llParcelMediaCommandList
|
snippet llParcelMediaCommandList
|
||||||
llParcelMediaCommandList(${1:list commandList})
|
llParcelMediaCommandList(${1:list commandList});
|
||||||
snippet llParcelMediaQuery
|
snippet llParcelMediaQuery
|
||||||
llParcelMediaQuery(${1:list query})
|
llParcelMediaQuery(${1:list query})
|
||||||
snippet llParseString2List
|
snippet llParseString2List
|
||||||
|
|
@ -538,43 +661,45 @@ snippet llParseString2List
|
||||||
snippet llParseStringKeepNulls
|
snippet llParseStringKeepNulls
|
||||||
llParseStringKeepNulls(${1:string src}, ${2:list separators}, ${3:list spacers})
|
llParseStringKeepNulls(${1:string src}, ${2:list separators}, ${3:list spacers})
|
||||||
snippet llParticleSystem
|
snippet llParticleSystem
|
||||||
llParticleSystem(${1:list rules})
|
llParticleSystem(${1:list rules});
|
||||||
snippet llPassCollisions
|
snippet llPassCollisions
|
||||||
llPassCollisions(${1:integer pass})
|
llPassCollisions(${1:integer pass});
|
||||||
snippet llPassTouches
|
snippet llPassTouches
|
||||||
llPassTouches(${1:integer pass})
|
llPassTouches(${1:integer pass});
|
||||||
snippet llPatrolPoints
|
snippet llPatrolPoints
|
||||||
llPatrolPoints(${1:list patrolPoints}, ${2:list options})
|
llPatrolPoints(${1:list patrolPoints}, ${2:list options});
|
||||||
snippet llPlaySound
|
snippet llPlaySound
|
||||||
llPlaySound(${1:string sound}, ${2:float volume})
|
llPlaySound(${1:string sound}, ${2:float volume});
|
||||||
snippet llPlaySoundSlave
|
snippet llPlaySoundSlave
|
||||||
llPlaySoundSlave(${1:string sound}, ${2:float volume})
|
llPlaySoundSlave(${1:string sound}, ${2:float volume});
|
||||||
snippet llPow
|
snippet llPow
|
||||||
llPow(${1:float base}, ${2:float exponent})
|
llPow(${1:float base}, ${2:float exponent})
|
||||||
snippet llPreloadSound
|
snippet llPreloadSound
|
||||||
llPreloadSound(${1:string sound})
|
llPreloadSound(${1:string sound});
|
||||||
snippet llPursue
|
snippet llPursue
|
||||||
llPursue(${1:key target}, ${2:list options})
|
llPursue(${1:key target}, ${2:list options});
|
||||||
snippet llPushObject
|
snippet llPushObject
|
||||||
llPushObject(${1:key target}, ${2:vector impulse}, ${3:vector ang_impulse}, ${4:integer local})
|
llPushObject(${1:key target}, ${2:vector impulse}, ${3:vector ang_impulse}, ${4:integer local});
|
||||||
snippet llRegionSay
|
snippet llRegionSay
|
||||||
llRegionSay(${1:integer channel}, ${2:string msg})
|
llRegionSay(${1:integer channel}, ${2:string msg});
|
||||||
snippet llRegionSayTo
|
snippet llRegionSayTo
|
||||||
llRegionSayTo(${1:key target}, ${2:integer channel}, ${3:string msg})
|
llRegionSayTo(${1:key target}, ${2:integer channel}, ${3:string msg});
|
||||||
|
snippet llReleaseControls
|
||||||
|
llReleaseControls();
|
||||||
snippet llReleaseURL
|
snippet llReleaseURL
|
||||||
llReleaseURL(${1:string url})
|
llReleaseURL(${1:string url});
|
||||||
snippet llRemoteDataReply
|
snippet llRemoteDataReply
|
||||||
llRemoteDataReply(${1:key channel}, ${2:key message_id}, ${3:string sdata}, ${4:integer idata})
|
llRemoteDataReply(${1:key channel}, ${2:key message_id}, ${3:string sdata}, ${4:integer idata});
|
||||||
snippet llRemoteLoadScriptPin
|
snippet llRemoteLoadScriptPin
|
||||||
llRemoteLoadScriptPin(${1:key target}, ${2:string name}, ${3:integer pin}, ${4:integer running}, ${5:integer start_param})
|
llRemoteLoadScriptPin(${1:key target}, ${2:string name}, ${3:integer pin}, ${4:integer running}, ${5:integer start_param});
|
||||||
snippet llRemoveFromLandBanList
|
snippet llRemoveFromLandBanList
|
||||||
llRemoveFromLandBanList(${1:key avatar})
|
llRemoveFromLandBanList(${1:key agent});
|
||||||
snippet llRemoveFromLandPassList
|
snippet llRemoveFromLandPassList
|
||||||
llRemoveFromLandPassList(${1:key avatar})
|
llRemoveFromLandPassList(${1:key agent});
|
||||||
snippet llRemoveInventory
|
snippet llRemoveInventory
|
||||||
llRemoveInventory(${1:string item})
|
llRemoveInventory(${1:string item});
|
||||||
snippet llRemoveVehicleFlags
|
snippet llRemoveVehicleFlags
|
||||||
llRemoveVehicleFlags(${1:integer flags})
|
llRemoveVehicleFlags(${1:integer flags});
|
||||||
snippet llRequestAgentData
|
snippet llRequestAgentData
|
||||||
llRequestAgentData(${1:key id}, ${2:integer data})
|
llRequestAgentData(${1:key id}, ${2:integer data})
|
||||||
snippet llRequestDisplayName
|
snippet llRequestDisplayName
|
||||||
|
|
@ -583,22 +708,34 @@ snippet llRequestInventoryData
|
||||||
llRequestInventoryData(${1:string name})
|
llRequestInventoryData(${1:string name})
|
||||||
snippet llRequestPermissions
|
snippet llRequestPermissions
|
||||||
llRequestPermissions(${1:key agent}, ${2:integer permissions})
|
llRequestPermissions(${1:key agent}, ${2:integer permissions})
|
||||||
|
snippet llRequestSecureURL
|
||||||
|
llRequestSecureURL()
|
||||||
snippet llRequestSimulatorData
|
snippet llRequestSimulatorData
|
||||||
llRequestSimulatorData(${1:string region}, ${2:integer data})
|
llRequestSimulatorData(${1:string region}, ${2:integer data})
|
||||||
|
snippet llRequestURL
|
||||||
|
llRequestURL()
|
||||||
snippet llRequestUsername
|
snippet llRequestUsername
|
||||||
llRequestUsername(${1:key id})
|
llRequestUsername(${1:key id})
|
||||||
snippet llResetAnimationOverride
|
snippet llResetAnimationOverride
|
||||||
llResetAnimationOverride(${1:string anim_state})
|
llResetAnimationOverride(${1:string anim_state});
|
||||||
|
snippet llResetLandBanList
|
||||||
|
llResetLandBanList();
|
||||||
|
snippet llResetLandPassList
|
||||||
|
llResetLandPassList();
|
||||||
snippet llResetOtherScript
|
snippet llResetOtherScript
|
||||||
llResetOtherScript(${1:string name})
|
llResetOtherScript(${1:string name});
|
||||||
|
snippet llResetScript
|
||||||
|
llResetScript();
|
||||||
|
snippet llResetTime
|
||||||
|
llResetTime();
|
||||||
snippet llReturnObjectsByID
|
snippet llReturnObjectsByID
|
||||||
llReturnObjectsByID(${1:list objects})
|
llReturnObjectsByID(${1:list objects})
|
||||||
snippet llReturnObjectsByOwner
|
snippet llReturnObjectsByOwner
|
||||||
llReturnObjectsByOwner(${1:key owner}, ${2:integer scope})
|
llReturnObjectsByOwner(${1:key owner}, ${2:integer scope})
|
||||||
snippet llRezAtRoot
|
snippet llRezAtRoot
|
||||||
llRezAtRoot(${1:string inventory}, ${2:vector position}, ${3:vector velocity}, ${4:rotation rot}, ${5:integer param})
|
llRezAtRoot(${1:string inventory}, ${2:vector position}, ${3:vector velocity}, ${4:rotation rot}, ${5:integer param});
|
||||||
snippet llRezObject
|
snippet llRezObject
|
||||||
llRezObject(${1:string inventory}, ${2:vector pos}, ${3:vector vel}, ${4:rotation rot}, ${5:integer param})
|
llRezObject(${1:string inventory}, ${2:vector pos}, ${3:vector vel}, ${4:rotation rot}, ${5:integer param});
|
||||||
snippet llRot2Angle
|
snippet llRot2Angle
|
||||||
llRot2Angle(${1:rotation rot})
|
llRot2Angle(${1:rotation rot})
|
||||||
snippet llRot2Axis
|
snippet llRot2Axis
|
||||||
|
|
@ -612,157 +749,167 @@ snippet llRot2Left
|
||||||
snippet llRot2Up
|
snippet llRot2Up
|
||||||
llRot2Up(${1:rotation q})
|
llRot2Up(${1:rotation q})
|
||||||
snippet llRotateTexture
|
snippet llRotateTexture
|
||||||
llRotateTexture(${1:float angle}, ${2:integer face})
|
llRotateTexture(${1:float angle}, ${2:integer face});
|
||||||
snippet llRotBetween
|
snippet llRotBetween
|
||||||
llRotBetween(${1:vector start}, ${2:vector end})
|
llRotBetween(${1:vector start}, ${2:vector end})
|
||||||
snippet llRotLookAt
|
snippet llRotLookAt
|
||||||
llRotLookAt(${1:rotation target_direction}, ${2:float strength}, ${3:float damping})
|
llRotLookAt(${1:rotation target_direction}, ${2:float strength}, ${3:float damping});
|
||||||
snippet llRotTarget
|
snippet llRotTarget
|
||||||
llRotTarget(${1:rotation rot}, ${2:float error})
|
llRotTarget(${1:rotation rot}, ${2:float error})
|
||||||
snippet llRotTargetRemove
|
snippet llRotTargetRemove
|
||||||
llRotTargetRemove(${1:integer handle})
|
llRotTargetRemove(${1:integer handle});
|
||||||
snippet llRound
|
snippet llRound
|
||||||
llRound(${1:float val})
|
llRound(${1:float val})
|
||||||
snippet llSameGroup
|
snippet llSameGroup
|
||||||
llSameGroup(${1:key uuid})
|
llSameGroup(${1:key group})
|
||||||
snippet llSay
|
snippet llSay
|
||||||
llSay(${1:integer channel}, ${2:string msg})
|
llSay(${1:integer channel}, ${2:string msg});
|
||||||
|
snippet llScaleByFactor
|
||||||
|
llScaleByFactor(${1:float scaling_factor})
|
||||||
snippet llScaleTexture
|
snippet llScaleTexture
|
||||||
llScaleTexture(${1:float u}, ${2:float v}, ${3:integer face})
|
llScaleTexture(${1:float u}, ${2:float v}, ${3:integer face});
|
||||||
snippet llScriptDanger
|
snippet llScriptDanger
|
||||||
llScriptDanger(${1:vector pos})
|
llScriptDanger(${1:vector pos})
|
||||||
snippet llScriptProfiler
|
snippet llScriptProfiler
|
||||||
llScriptProfiler(${1:integer flags})
|
llScriptProfiler(${1:integer flags});
|
||||||
snippet llSendRemoteData
|
snippet llSendRemoteData
|
||||||
llSendRemoteData(${1:key channel}, ${2:string dest}, ${3:integer idata}, ${4:string sdata})
|
llSendRemoteData(${1:key channel}, ${2:string dest}, ${3:integer idata}, ${4:string sdata})
|
||||||
snippet llSensor
|
snippet llSensor
|
||||||
llSensor(${1:string name}, ${2:key id}, ${3:integer type}, ${4:float range}, ${5:float arc})
|
llSensor(${1:string name}, ${2:key id}, ${3:integer type}, ${4:float range}, ${5:float arc});
|
||||||
snippet llSensorRepeat
|
snippet llSensorRepeat
|
||||||
llSensorRepeat(${1:string name}, ${2:key id}, ${3:integer type}, ${4:float range}, ${5:float arc}, ${6:float rate})
|
llSensorRepeat(${1:string name}, ${2:key id}, ${3:integer type}, ${4:float range}, ${5:float arc}, ${6:float rate});
|
||||||
snippet llSetAlpha
|
snippet llSetAlpha
|
||||||
llSetAlpha(${1:float alpha}, ${2:integer face})
|
llSetAlpha(${1:float alpha}, ${2:integer face});
|
||||||
snippet llSetAngularVelocity
|
snippet llSetAngularVelocity
|
||||||
llSetAngularVelocity(${1:vector force}, ${2:integer local})
|
llSetAngularVelocity(${1:vector force}, ${2:integer local});
|
||||||
snippet llSetAnimationOverride
|
snippet llSetAnimationOverride
|
||||||
llSetAnimationOverride(${1:string anim_state}, ${2:string anim})
|
llSetAnimationOverride(${1:string anim_state}, ${2:string anim})
|
||||||
snippet llSetBuoyancy
|
snippet llSetBuoyancy
|
||||||
llSetBuoyancy(${1:float buoyancy})
|
llSetBuoyancy(${1:float buoyancy});
|
||||||
snippet llSetCameraAtOffset
|
snippet llSetCameraAtOffset
|
||||||
llSetCameraAtOffset(${1:vector offset})
|
llSetCameraAtOffset(${1:vector offset});
|
||||||
snippet llSetCameraEyeOffset
|
snippet llSetCameraEyeOffset
|
||||||
llSetCameraEyeOffset(${1:vector offset})
|
llSetCameraEyeOffset(${1:vector offset});
|
||||||
snippet llSetCameraParams
|
snippet llSetCameraParams
|
||||||
llSetCameraParams(${1:list rules})
|
llSetCameraParams(${1:list rules});
|
||||||
snippet llSetClickAction
|
snippet llSetClickAction
|
||||||
llSetClickAction(${1:integer action})
|
llSetClickAction(${1:integer action});
|
||||||
snippet llSetColor
|
snippet llSetColor
|
||||||
llSetColor(${1:vector color}, ${2:integer face})
|
llSetColor(${1:vector color}, ${2:integer face});
|
||||||
snippet llSetContentType
|
snippet llSetContentType
|
||||||
llSetContentType(${1:key request_id}, ${2:integer content_type})
|
llSetContentType(${1:key request_id}, ${2:integer content_type});
|
||||||
snippet llSetDamage
|
snippet llSetDamage
|
||||||
llSetDamage(${1:float damage})
|
llSetDamage(${1:float damage});
|
||||||
snippet llSetForce
|
snippet llSetForce
|
||||||
llSetForce(${1:vector force}, ${2:integer local})
|
llSetForce(${1:vector force}, ${2:integer local});
|
||||||
snippet llSetForceAndTorque
|
snippet llSetForceAndTorque
|
||||||
llSetForceAndTorque(${1:vector force}, ${2:vector torque}, ${3:integer local})
|
llSetForceAndTorque(${1:vector force}, ${2:vector torque}, ${3:integer local});
|
||||||
snippet llSetHoverHeight
|
snippet llSetHoverHeight
|
||||||
llSetHoverHeight(${1:float height}, ${2:integer water}, ${3:float tau})
|
llSetHoverHeight(${1:float height}, ${2:integer water}, ${3:float tau});
|
||||||
snippet llSetKeyframedMotion
|
snippet llSetKeyframedMotion
|
||||||
llSetKeyframedMotion(${1:list keyframes}, ${2:list options})
|
llSetKeyframedMotion(${1:list keyframes}, ${2:list options});
|
||||||
snippet llSetLinkAlpha
|
snippet llSetLinkAlpha
|
||||||
llSetLinkAlpha(${1:integer link}, ${2:float alpha}, ${3:integer face})
|
llSetLinkAlpha(${1:integer link}, ${2:float alpha}, ${3:integer face});
|
||||||
snippet llSetLinkCamera
|
snippet llSetLinkCamera
|
||||||
llSetLinkCamera(${1:integer link}, ${2:vector eye}, ${3:vector at})
|
llSetLinkCamera(${1:integer link}, ${2:vector eye}, ${3:vector at});
|
||||||
snippet llSetLinkColor
|
snippet llSetLinkColor
|
||||||
llSetLinkColor(${1:integer link}, ${2:vector color}, ${3:integer face})
|
llSetLinkColor(${1:integer link}, ${2:vector color}, ${3:integer face});
|
||||||
snippet llSetLinkMedia
|
snippet llSetLinkMedia
|
||||||
llSetLinkMedia(${1:integer link}, ${2:integer face}, ${3:list params})
|
llSetLinkMedia(${1:integer link}, ${2:integer face}, ${3:list params});
|
||||||
snippet llSetLinkPrimitiveParams
|
snippet llSetLinkPrimitiveParams
|
||||||
llSetLinkPrimitiveParams(${1:integer link}, ${2:list rules})
|
llSetLinkPrimitiveParams(${1:integer link}, ${2:list rules});
|
||||||
snippet llSetLinkPrimitiveParamsFast
|
snippet llSetLinkPrimitiveParamsFast
|
||||||
llSetLinkPrimitiveParamsFast(${1:integer link}, ${2:list rules})
|
llSetLinkPrimitiveParamsFast(${1:integer link}, ${2:list rules});
|
||||||
snippet llSetLinkTexture
|
snippet llSetLinkTexture
|
||||||
llSetLinkTexture(${1:integer link}, ${2:string texture}, ${3:integer face})
|
llSetLinkTexture(${1:integer link}, ${2:string texture}, ${3:integer face});
|
||||||
snippet llSetLinkTextureAnim
|
snippet llSetLinkTextureAnim
|
||||||
llSetLinkTextureAnim(${1:integer link}, ${2:integer mode}, ${3:integer face}, ${4:integer sizex}, ${5:integer sizey}, ${6:float start}, ${7:float length}, ${8:float rate})
|
llSetLinkTextureAnim(${1:integer link}, ${2:integer mode}, ${3:integer face}, ${4:integer sizex}, ${5:integer sizey}, ${6:float start}, ${7:float length}, ${8:float rate});
|
||||||
snippet llSetLocalRot
|
snippet llSetLocalRot
|
||||||
llSetLocalRot(${1:rotation rot})
|
llSetLocalRot(${1:rotation rot});
|
||||||
snippet llSetMemoryLimit
|
snippet llSetMemoryLimit
|
||||||
llSetMemoryLimit(${1:integer limit})
|
llSetMemoryLimit(${1:integer limit})
|
||||||
snippet llSetObjectDesc
|
snippet llSetObjectDesc
|
||||||
llSetObjectDesc(${1:string description})
|
llSetObjectDesc(${1:string description});
|
||||||
snippet llSetObjectName
|
snippet llSetObjectName
|
||||||
llSetObjectName(${1:string name})
|
llSetObjectName(${1:string name});
|
||||||
snippet llSetParcelMusicURL
|
snippet llSetParcelMusicURL
|
||||||
llSetParcelMusicURL(${1:string url})
|
llSetParcelMusicURL(${1:string url});
|
||||||
snippet llSetPayPrice
|
snippet llSetPayPrice
|
||||||
llSetPayPrice(${1:integer price}, ${2:list quick_pay_buttons})
|
llSetPayPrice(${1:integer price}, [${2:integer price_button_a}, ${3:integer price_button_b}, ${4:integer price_button_c}, ${5:integer price_button_d}]);
|
||||||
snippet llSetPhysicsMaterial
|
snippet llSetPhysicsMaterial
|
||||||
llSetPhysicsMaterial(${1:integer mask}, ${2:float gravity_multiplier}, ${3:float restitution}, ${4:float friction}, ${5:float density})
|
llSetPhysicsMaterial(${1:integer mask}, ${2:float gravity_multiplier}, ${3:float restitution}, ${4:float friction}, ${5:float density});
|
||||||
snippet llSetPos
|
snippet llSetPos
|
||||||
llSetPos(${1:vector pos})
|
llSetPos(${1:vector pos});
|
||||||
snippet llSetPrimitiveParams
|
snippet llSetPrimitiveParams
|
||||||
llSetPrimitiveParams(${1:list rules})
|
llSetPrimitiveParams(${1:list rules});
|
||||||
snippet llSetPrimMediaParams
|
snippet llSetPrimMediaParams
|
||||||
llSetPrimMediaParams(${1:integer face}, ${2:list params})
|
llSetPrimMediaParams(${1:integer face}, ${2:list params});
|
||||||
snippet llSetRegionPos
|
snippet llSetRegionPos
|
||||||
llSetRegionPos(${1:vector position})
|
llSetRegionPos(${1:vector position})
|
||||||
snippet llSetRemoteScriptAccessPin
|
snippet llSetRemoteScriptAccessPin
|
||||||
llSetRemoteScriptAccessPin(${1:integer pin})
|
llSetRemoteScriptAccessPin(${1:integer pin});
|
||||||
snippet llSetRot
|
snippet llSetRot
|
||||||
llSetRot(${1:rotation rot})
|
llSetRot(${1:rotation rot});
|
||||||
snippet llSetScale
|
snippet llSetScale
|
||||||
llSetScale(${1:vector size})
|
llSetScale(${1:vector size});
|
||||||
snippet llSetScriptState
|
snippet llSetScriptState
|
||||||
llSetScriptState(${1:string name}, ${2:integer run})
|
llSetScriptState(${1:string name}, ${2:integer run});
|
||||||
snippet llSetSitText
|
snippet llSetSitText
|
||||||
llSetSitText(${1:string text})
|
llSetSitText(${1:string text});
|
||||||
snippet llSetSoundQueueing
|
snippet llSetSoundQueueing
|
||||||
llSetSoundQueueing(${1:integer queue})
|
llSetSoundQueueing(${1:integer queue});
|
||||||
snippet llSetSoundRadius
|
snippet llSetSoundRadius
|
||||||
llSetSoundRadius(${1:float radius})
|
llSetSoundRadius(${1:float radius});
|
||||||
snippet llSetStatus
|
snippet llSetStatus
|
||||||
llSetStatus(${1:integer status}, ${2:integer value})
|
llSetStatus(${1:integer status}, ${2:integer value});
|
||||||
snippet llSetText
|
snippet llSetText
|
||||||
llSetText(${1:string text}, ${2:vector color}, ${3:float alpha})
|
llSetText(${1:string text}, ${2:vector color}, ${3:float alpha});
|
||||||
snippet llSetTexture
|
snippet llSetTexture
|
||||||
llSetTexture(${1:string texture}, ${2:integer face})
|
llSetTexture(${1:string texture}, ${2:integer face});
|
||||||
snippet llSetTextureAnim
|
snippet llSetTextureAnim
|
||||||
llSetTextureAnim(${1:integer mode}, ${2:integer face}, ${3:integer sizex}, ${4:integer sizey}, ${5:float start}, ${6:float length}, ${7:float rate})
|
llSetTextureAnim(${1:integer mode}, ${2:integer face}, ${3:integer sizex}, ${4:integer sizey}, ${5:float start}, ${6:float length}, ${7:float rate});
|
||||||
snippet llSetTimerEvent
|
snippet llSetTimerEvent
|
||||||
llSetTimerEvent(${1:float sec})
|
llSetTimerEvent(${1:float sec});
|
||||||
snippet llSetTorque
|
snippet llSetTorque
|
||||||
llSetTorque(${1:vector torque}, ${2:integer local})
|
llSetTorque(${1:vector torque}, ${2:integer local});
|
||||||
snippet llSetTouchText
|
snippet llSetTouchText
|
||||||
llSetTouchText(${1:string text})
|
llSetTouchText(${1:string text});
|
||||||
snippet llSetVehicleFlags
|
snippet llSetVehicleFlags
|
||||||
llSetVehicleFlags(${1:integer flags})
|
llSetVehicleFlags(${1:integer flags});
|
||||||
snippet llSetVehicleFloatParam
|
snippet llSetVehicleFloatParam
|
||||||
llSetVehicleFloatParam(${1:integer param}, ${2:float value})
|
llSetVehicleFloatParam(${1:integer param}, ${2:float value});
|
||||||
snippet llSetVehicleRotationParam
|
snippet llSetVehicleRotationParam
|
||||||
llSetVehicleRotationParam(${1:integer param}, ${2:rotation rot})
|
llSetVehicleRotationParam(${1:integer param}, ${2:rotation rot});
|
||||||
snippet llSetVehicleType
|
snippet llSetVehicleType
|
||||||
llSetVehicleType(${1:integer type})
|
llSetVehicleType(${1:integer type});
|
||||||
snippet llSetVehicleVectorParam
|
snippet llSetVehicleVectorParam
|
||||||
llSetVehicleVectorParam(${1:integer param}, ${2:vector vec})
|
llSetVehicleVectorParam(${1:integer param}, ${2:vector vec});
|
||||||
snippet llSetVelocity
|
snippet llSetVelocity
|
||||||
llSetVelocity(${1:vector force}, ${2:integer local})
|
llSetVelocity(${1:vector force}, ${2:integer local});
|
||||||
snippet llSHA1String
|
snippet llSHA1String
|
||||||
llSHA1String(${1:string src})
|
llSHA1String(${1:string src})
|
||||||
snippet llShout
|
snippet llShout
|
||||||
llShout(${1:integer channel}, ${2:string msg})
|
llShout(${1:integer channel}, ${2:string msg});
|
||||||
snippet llSin
|
snippet llSin
|
||||||
llSin(${1:float theta})
|
llSin(${1:float theta})
|
||||||
snippet llSitTarget
|
snippet llSitTarget
|
||||||
llSitTarget(${1:vector offset}, ${2:rotation rot})
|
llSitTarget(${1:vector offset}, ${2:rotation rot});
|
||||||
snippet llSleep
|
snippet llSleep
|
||||||
llSleep(${1:float sec})
|
llSleep(${1:float sec});
|
||||||
snippet llSqrt
|
snippet llSqrt
|
||||||
llSqrt(${1:float val})
|
llSqrt(${1:float val})
|
||||||
snippet llStartAnimation
|
snippet llStartAnimation
|
||||||
llStartAnimation(${1:string anim})
|
llStartAnimation(${1:string anim});
|
||||||
snippet llStopAnimation
|
snippet llStopAnimation
|
||||||
llStopAnimation(${1:string anim})
|
llStopAnimation(${1:string anim});
|
||||||
|
snippet llStopHover
|
||||||
|
llStopHover();
|
||||||
|
snippet llStopLookAt
|
||||||
|
llStopLookAt();
|
||||||
|
snippet llStopMoveToTarget
|
||||||
|
llStopMoveToTarget();
|
||||||
|
snippet llStopSound
|
||||||
|
llStopSound();
|
||||||
snippet llStringLength
|
snippet llStringLength
|
||||||
llStringLength(${1:string str})
|
llStringLength(${1:string str})
|
||||||
snippet llStringToBase64
|
snippet llStringToBase64
|
||||||
|
|
@ -772,23 +919,23 @@ snippet llStringTrim
|
||||||
snippet llSubStringIndex
|
snippet llSubStringIndex
|
||||||
llSubStringIndex(${1:string source}, ${2:string pattern})
|
llSubStringIndex(${1:string source}, ${2:string pattern})
|
||||||
snippet llTakeControls
|
snippet llTakeControls
|
||||||
llTakeControls(${1:integer controls}, ${2:integer accept}, ${3:integer pass_on})
|
llTakeControls(${1:integer controls}, ${2:integer accept}, ${3:integer pass_on});
|
||||||
snippet llTan
|
snippet llTan
|
||||||
llTan(${1:float theta})
|
llTan(${1:float theta})
|
||||||
snippet llTarget
|
snippet llTarget
|
||||||
llTarget(${1:vector position}, ${2:float range})
|
llTarget(${1:vector position}, ${2:float range})
|
||||||
snippet llTargetOmega
|
snippet llTargetOmega
|
||||||
llTargetOmega(${1:vector axis}, ${2:float spinrate}, ${3:float gain})
|
llTargetOmega(${1:vector axis}, ${2:float spinrate}, ${3:float gain});
|
||||||
snippet llTargetRemove
|
snippet llTargetRemove
|
||||||
llTargetRemove(${1:integer handle})
|
llTargetRemove(${1:integer handle});
|
||||||
snippet llTeleportAgent
|
snippet llTeleportAgent
|
||||||
llTeleportAgent(${1:key avatar}, ${2:string landmark}, ${3:vector position}, ${4:vector look_at})
|
llTeleportAgent(${1:key agent}, ${2:string landmark}, ${3:vector position}, ${4:vector look_at});
|
||||||
snippet llTeleportAgentGlobalCoords
|
snippet llTeleportAgentGlobalCoords
|
||||||
llTeleportAgentGlobalCoords(${1:key agent}, ${2:vector global_coordinates}, ${3:vector region_coordinates}, ${4:vector look_at})
|
llTeleportAgentGlobalCoords(${1:key agent}, ${2:vector global_coordinates}, ${3:vector region_coordinates}, ${4:vector look_at});
|
||||||
snippet llTeleportAgentHome
|
snippet llTeleportAgentHome
|
||||||
llTeleportAgentHome(${1:key avatar})
|
llTeleportAgentHome(${1:key agent});
|
||||||
snippet llTextBox
|
snippet llTextBox
|
||||||
llTextBox(${1:key avatar}, ${2:string message}, ${3:integer channel})
|
llTextBox(${1:key agent}, ${2:string message}, ${3:integer channel});
|
||||||
snippet llToLower
|
snippet llToLower
|
||||||
llToLower(${1:string src})
|
llToLower(${1:string src})
|
||||||
snippet llToUpper
|
snippet llToUpper
|
||||||
|
|
@ -796,13 +943,13 @@ snippet llToUpper
|
||||||
snippet llTransferLindenDollars
|
snippet llTransferLindenDollars
|
||||||
llTransferLindenDollars(${1:key destination}, ${2:integer amount})
|
llTransferLindenDollars(${1:key destination}, ${2:integer amount})
|
||||||
snippet llTriggerSound
|
snippet llTriggerSound
|
||||||
llTriggerSound(${1:string sound}, ${2:float volume})
|
llTriggerSound(${1:string sound}, ${2:float volume});
|
||||||
snippet llTriggerSoundLimited
|
snippet llTriggerSoundLimited
|
||||||
llTriggerSoundLimited(${1:string sound}, ${2:float volume}, ${3:vector top_north_east}, ${4:vector bottom_south_west})
|
llTriggerSoundLimited(${1:string sound}, ${2:float volume}, ${3:vector top_north_east}, ${4:vector bottom_south_west});
|
||||||
snippet llUnescapeURL
|
snippet llUnescapeURL
|
||||||
llUnescapeURL(${1:string url})
|
llUnescapeURL(${1:string url})
|
||||||
snippet llUnSit
|
snippet llUnSit
|
||||||
llUnSit(${1:key id})
|
llUnSit(${1:key id});
|
||||||
snippet llUpdateCharacter
|
snippet llUpdateCharacter
|
||||||
llUpdateCharacter(${1:list options})
|
llUpdateCharacter(${1:list options})
|
||||||
snippet llVecDist
|
snippet llVecDist
|
||||||
|
|
@ -812,17 +959,17 @@ snippet llVecMag
|
||||||
snippet llVecNorm
|
snippet llVecNorm
|
||||||
llVecNorm(${1:vector vec})
|
llVecNorm(${1:vector vec})
|
||||||
snippet llVolumeDetect
|
snippet llVolumeDetect
|
||||||
llVolumeDetect(${1:integer detect})
|
llVolumeDetect(${1:integer detect});
|
||||||
snippet llWanderWithin
|
snippet llWanderWithin
|
||||||
llWanderWithin(${1:vector origin}, ${2:vector dist}, ${3:list options})
|
llWanderWithin(${1:vector origin}, ${2:vector dist}, ${3:list options});
|
||||||
snippet llWater
|
snippet llWater
|
||||||
llWater(${1:vector offset})
|
llWater(${1:vector offset});
|
||||||
snippet llWhisper
|
snippet llWhisper
|
||||||
llWhisper(${1:integer channel}, ${2:string msg})
|
llWhisper(${1:integer channel}, ${2:string msg});
|
||||||
snippet llWind
|
snippet llWind
|
||||||
llWind(${1:vector offset})
|
llWind(${1:vector offset});
|
||||||
snippet llXorBase64
|
snippet llXorBase64
|
||||||
llXorBase64(${1:string str1}, ${2:string str2}
|
llXorBase64(${1:string str1}, ${2:string str2})
|
||||||
snippet money
|
snippet money
|
||||||
money(${1:key id}, ${2:integer amount})
|
money(${1:key id}, ${2:integer amount})
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,6 @@ var Tokenizer = function(rules) {
|
||||||
// makes property access faster
|
// makes property access faster
|
||||||
if (!rule.onMatch)
|
if (!rule.onMatch)
|
||||||
rule.onMatch = null;
|
rule.onMatch = null;
|
||||||
rule.__proto__ = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
splitterRurles.forEach(function(rule) {
|
splitterRurles.forEach(function(rule) {
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
var oop = require("./lib/oop");
|
var oop = require("./lib/oop");
|
||||||
var dom = require("./lib/dom");
|
var dom = require("./lib/dom");
|
||||||
var useragent = require("./lib/useragent");
|
|
||||||
var config = require("./config");
|
var config = require("./config");
|
||||||
var GutterLayer = require("./layer/gutter").Gutter;
|
var GutterLayer = require("./layer/gutter").Gutter;
|
||||||
var MarkerLayer = require("./layer/marker").Marker;
|
var MarkerLayer = require("./layer/marker").Marker;
|
||||||
|
|
@ -42,6 +41,7 @@ var CursorLayer = require("./layer/cursor").Cursor;
|
||||||
var HScrollBar = require("./scrollbar").HScrollBar;
|
var HScrollBar = require("./scrollbar").HScrollBar;
|
||||||
var VScrollBar = require("./scrollbar").VScrollBar;
|
var VScrollBar = require("./scrollbar").VScrollBar;
|
||||||
var RenderLoop = require("./renderloop").RenderLoop;
|
var RenderLoop = require("./renderloop").RenderLoop;
|
||||||
|
var FontMetrics = require("./layer/font_metrics").FontMetrics;
|
||||||
var EventEmitter = require("./lib/event_emitter").EventEmitter;
|
var EventEmitter = require("./lib/event_emitter").EventEmitter;
|
||||||
var editorCss = require("./requirejs/text!./css/editor.css");
|
var editorCss = require("./requirejs/text!./css/editor.css");
|
||||||
|
|
||||||
|
|
@ -125,10 +125,12 @@ var VirtualRenderer = function(container, theme) {
|
||||||
column : 0
|
column : 0
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$textLayer.addEventListener("changeCharacterSize", function() {
|
this.$fontMetrics = new FontMetrics(this.container, 500);
|
||||||
|
this.$textLayer.$setFontMetrics(this.$fontMetrics);
|
||||||
|
this.$textLayer.addEventListener("changeCharacterSize", function(e) {
|
||||||
_self.updateCharacterSize();
|
_self.updateCharacterSize();
|
||||||
_self.onResize(true, _self.gutterWidth, _self.$size.width, _self.$size.height);
|
_self.onResize(true, _self.gutterWidth, _self.$size.width, _self.$size.height);
|
||||||
_self._signal("changeCharacterSize");
|
_self._signal("changeCharacterSize", e);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$size = {
|
this.$size = {
|
||||||
|
|
@ -150,7 +152,8 @@ var VirtualRenderer = function(container, theme) {
|
||||||
minHeight : 1,
|
minHeight : 1,
|
||||||
maxHeight : 1,
|
maxHeight : 1,
|
||||||
offset : 0,
|
offset : 0,
|
||||||
height : 1
|
height : 1,
|
||||||
|
gutterOffset: 1
|
||||||
};
|
};
|
||||||
|
|
||||||
this.scrollMargin = {
|
this.scrollMargin = {
|
||||||
|
|
@ -224,7 +227,12 @@ var VirtualRenderer = function(container, theme) {
|
||||||
* Associates the renderer with an [[EditSession `EditSession`]].
|
* Associates the renderer with an [[EditSession `EditSession`]].
|
||||||
**/
|
**/
|
||||||
this.setSession = function(session) {
|
this.setSession = function(session) {
|
||||||
|
if (this.session)
|
||||||
|
this.session.doc.off("changeNewLineMode", this.onChangeNewLineMode);
|
||||||
|
|
||||||
this.session = session;
|
this.session = session;
|
||||||
|
if (!session)
|
||||||
|
return;
|
||||||
|
|
||||||
if (this.scrollMargin.top && session.getScrollTop() <= 0)
|
if (this.scrollMargin.top && session.getScrollTop() <= 0)
|
||||||
session.setScrollTop(-this.scrollMargin.top);
|
session.setScrollTop(-this.scrollMargin.top);
|
||||||
|
|
@ -235,6 +243,11 @@ var VirtualRenderer = function(container, theme) {
|
||||||
this.$gutterLayer.setSession(session);
|
this.$gutterLayer.setSession(session);
|
||||||
this.$textLayer.setSession(session);
|
this.$textLayer.setSession(session);
|
||||||
this.$loop.schedule(this.CHANGE_FULL);
|
this.$loop.schedule(this.CHANGE_FULL);
|
||||||
|
this.session.$setFontMetrics(this.$fontMetrics);
|
||||||
|
|
||||||
|
this.onChangeNewLineMode = this.onChangeNewLineMode.bind(this);
|
||||||
|
this.onChangeNewLineMode()
|
||||||
|
this.session.doc.on("changeNewLineMode", this.onChangeNewLineMode);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -268,6 +281,11 @@ var VirtualRenderer = function(container, theme) {
|
||||||
this.$loop.schedule(this.CHANGE_LINES);
|
this.$loop.schedule(this.CHANGE_LINES);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.onChangeNewLineMode = function() {
|
||||||
|
this.$loop.schedule(this.CHANGE_TEXT);
|
||||||
|
this.$textLayer.$updateEolChar();
|
||||||
|
};
|
||||||
|
|
||||||
this.onChangeTabSize = function() {
|
this.onChangeTabSize = function() {
|
||||||
this.$loop.schedule(this.CHANGE_TEXT | this.CHANGE_MARKER);
|
this.$loop.schedule(this.CHANGE_TEXT | this.CHANGE_MARKER);
|
||||||
this.$textLayer.onChangeTabSize();
|
this.$textLayer.onChangeTabSize();
|
||||||
|
|
@ -702,7 +720,7 @@ var VirtualRenderer = function(container, theme) {
|
||||||
sm.v = sm.top + sm.bottom;
|
sm.v = sm.top + sm.bottom;
|
||||||
sm.h = sm.left + sm.right;
|
sm.h = sm.left + sm.right;
|
||||||
if (sm.top && this.scrollTop <= 0 && this.session)
|
if (sm.top && this.scrollTop <= 0 && this.session)
|
||||||
this.session.setScrollTop(sm.top);
|
this.session.setScrollTop(-sm.top);
|
||||||
this.updateFull();
|
this.updateFull();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -984,7 +1002,7 @@ var VirtualRenderer = function(container, theme) {
|
||||||
minHeight : minHeight,
|
minHeight : minHeight,
|
||||||
maxHeight : maxHeight,
|
maxHeight : maxHeight,
|
||||||
offset : offset,
|
offset : offset,
|
||||||
gutterOffset : Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight),
|
gutterOffset : Math.max(0, Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight)),
|
||||||
height : this.$size.scrollerHeight
|
height : this.$size.scrollerHeight
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1605,6 +1623,7 @@ config.defineOptions(VirtualRenderer.prototype, "renderer", {
|
||||||
showGutter: {
|
showGutter: {
|
||||||
set: function(show){
|
set: function(show){
|
||||||
this.$gutter.style.display = show ? "block" : "none";
|
this.$gutter.style.display = show ? "block" : "none";
|
||||||
|
this.$loop.schedule(this.CHANGE_FULL);
|
||||||
this.onGutterResize();
|
this.onGutterResize();
|
||||||
},
|
},
|
||||||
initialValue: true
|
initialValue: true
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ window.normalizeModule = function(parentId, moduleName) {
|
||||||
|
|
||||||
window.require = function(parentId, id) {
|
window.require = function(parentId, id) {
|
||||||
if (!id) {
|
if (!id) {
|
||||||
id = parentId
|
id = parentId;
|
||||||
parentId = null;
|
parentId = null;
|
||||||
}
|
}
|
||||||
if (!id.charAt)
|
if (!id.charAt)
|
||||||
|
|
@ -81,14 +81,14 @@ window.define = function(id, deps, factory) {
|
||||||
}
|
}
|
||||||
} else if (arguments.length == 1) {
|
} else if (arguments.length == 1) {
|
||||||
factory = id;
|
factory = id;
|
||||||
deps = []
|
deps = [];
|
||||||
id = window.require.id;
|
id = window.require.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!deps.length)
|
if (!deps.length)
|
||||||
// If there is no dependencies, we inject 'require', 'exports' and
|
// If there is no dependencies, we inject 'require', 'exports' and
|
||||||
// 'module' as dependencies, to provide CommonJS compatibility.
|
// 'module' as dependencies, to provide CommonJS compatibility.
|
||||||
deps = ['require', 'exports', 'module']
|
deps = ['require', 'exports', 'module'];
|
||||||
|
|
||||||
if (id.indexOf("text!") === 0)
|
if (id.indexOf("text!") === 0)
|
||||||
return;
|
return;
|
||||||
|
|
@ -105,12 +105,12 @@ window.define = function(id, deps, factory) {
|
||||||
switch(dep) {
|
switch(dep) {
|
||||||
// Because 'require', 'exports' and 'module' aren't actual
|
// Because 'require', 'exports' and 'module' aren't actual
|
||||||
// dependencies, we must handle them seperately.
|
// dependencies, we must handle them seperately.
|
||||||
case 'require': return req
|
case 'require': return req;
|
||||||
case 'exports': return module.exports
|
case 'exports': return module.exports;
|
||||||
case 'module': return module
|
case 'module': return module;
|
||||||
// But for all other dependencies, we can just go ahead and
|
// But for all other dependencies, we can just go ahead and
|
||||||
// require them.
|
// require them.
|
||||||
default: return req(dep)
|
default: return req(dep);
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
if (returnExports)
|
if (returnExports)
|
||||||
|
|
@ -119,11 +119,11 @@ window.define = function(id, deps, factory) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
window.define.amd = {}
|
window.define.amd = {};
|
||||||
|
|
||||||
window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
|
window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
|
||||||
require.tlns = topLevelNamespaces;
|
require.tlns = topLevelNamespaces;
|
||||||
}
|
};
|
||||||
|
|
||||||
window.initSender = function initSender() {
|
window.initSender = function initSender() {
|
||||||
|
|
||||||
|
|
@ -155,10 +155,10 @@ window.initSender = function initSender() {
|
||||||
}).call(Sender.prototype);
|
}).call(Sender.prototype);
|
||||||
|
|
||||||
return new Sender();
|
return new Sender();
|
||||||
}
|
};
|
||||||
|
|
||||||
window.main = null;
|
var main = window.main = null;
|
||||||
window.sender = null;
|
var sender = window.sender = null;
|
||||||
|
|
||||||
window.onmessage = function(e) {
|
window.onmessage = function(e) {
|
||||||
var msg = e.data;
|
var msg = e.data;
|
||||||
|
|
@ -171,9 +171,9 @@ window.onmessage = function(e) {
|
||||||
else if (msg.init) {
|
else if (msg.init) {
|
||||||
initBaseUrls(msg.tlns);
|
initBaseUrls(msg.tlns);
|
||||||
require("ace/lib/es5-shim");
|
require("ace/lib/es5-shim");
|
||||||
sender = initSender();
|
sender = window.sender = initSender();
|
||||||
var clazz = require(msg.module)[msg.classname];
|
var clazz = require(msg.module)[msg.classname];
|
||||||
main = new clazz(sender);
|
main = window.main = new clazz(sender);
|
||||||
}
|
}
|
||||||
else if (msg.event && sender) {
|
else if (msg.event && sender) {
|
||||||
sender._signal(msg.event, msg.data);
|
sender._signal(msg.event, msg.data);
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var oop = require("../lib/oop");
|
var oop = require("../lib/oop");
|
||||||
|
var net = require("../lib/net");
|
||||||
var EventEmitter = require("../lib/event_emitter").EventEmitter;
|
var EventEmitter = require("../lib/event_emitter").EventEmitter;
|
||||||
var config = require("../config");
|
var config = require("../config");
|
||||||
|
|
||||||
|
|
@ -183,16 +184,17 @@ var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) {
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$workerBlob = function(workerUrl) {
|
this.$workerBlob = function(workerUrl) {
|
||||||
var script = 'importScripts("' + workerUrl + '");';
|
// workerUrl can be protocol relative
|
||||||
|
// importScripts only takes fully qualified urls
|
||||||
|
var script = "importScripts('" + net.qualifyURL( workerUrl ) + "');";
|
||||||
try {
|
try {
|
||||||
var blob = new Blob([script], {'type': 'application/javascript'});
|
return new Blob([script], {"type": "application/javascript"});
|
||||||
} catch (e) { // Backwards-compatibility
|
} catch (e) { // Backwards-compatibility
|
||||||
var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
|
var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
|
||||||
var blobBuilder = new BlobBuilder();
|
var blobBuilder = new BlobBuilder();
|
||||||
blobBuilder.append(script);
|
blobBuilder.append(script);
|
||||||
blob = blobBuilder.getBlob('application/javascript');
|
return blobBuilder.getBlob("application/javascript");
|
||||||
}
|
}
|
||||||
return blob;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}).call(WorkerClient.prototype);
|
}).call(WorkerClient.prototype);
|
||||||
|
|
@ -206,6 +208,7 @@ var UIWorkerClient = function(topLevelNamespaces, mod, classname) {
|
||||||
this.messageBuffer = [];
|
this.messageBuffer = [];
|
||||||
|
|
||||||
var main = null;
|
var main = null;
|
||||||
|
var emitSync = false;
|
||||||
var sender = Object.create(EventEmitter);
|
var sender = Object.create(EventEmitter);
|
||||||
var _self = this;
|
var _self = this;
|
||||||
|
|
||||||
|
|
@ -213,8 +216,14 @@ var UIWorkerClient = function(topLevelNamespaces, mod, classname) {
|
||||||
this.$worker.terminate = function() {};
|
this.$worker.terminate = function() {};
|
||||||
this.$worker.postMessage = function(e) {
|
this.$worker.postMessage = function(e) {
|
||||||
_self.messageBuffer.push(e);
|
_self.messageBuffer.push(e);
|
||||||
main && setTimeout(processNext);
|
if (main) {
|
||||||
|
if (emitSync)
|
||||||
|
setTimeout(processNext);
|
||||||
|
else
|
||||||
|
processNext();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
this.setEmitSync = function(val) { emitSync = val };
|
||||||
|
|
||||||
var processNext = function() {
|
var processNext = function() {
|
||||||
var msg = _self.messageBuffer.shift();
|
var msg = _self.messageBuffer.shift();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue