Update xqlint with code completion

This commit is contained in:
William Candillon 2014-03-29 22:25:42 +01:00 • committed by nightwing
commit ea532e41bf
5 changed files with 77415 additions and 77120 deletions

View file

@ -72,7 +72,7 @@ oop.inherits(Mode, TextMode);
if (! /^\s+$/.test(line)) if (! /^\s+$/.test(line))
return false; return false;
return /^\s*[\}\)]/.test(input); return (/^\s*[\}\)]/).test(input);
}; };
this.autoOutdent = function(state, doc, row) { this.autoOutdent = function(state, doc, row) {

File diff suppressed because it is too large Load diff

View file

@ -38,18 +38,25 @@ var XQLint = require("./xquery/xqlint").XQLint;
var XQueryWorker = exports.XQueryWorker = function(sender) { var XQueryWorker = exports.XQueryWorker = function(sender) {
Mirror.call(this, sender); Mirror.call(this, sender);
this.setTimeout(200); this.setTimeout(200);
var that = this;
this.sender.on("complete", function(e){
that.sender.emit("markers", that.xqlint.getMarkers());
var pos = { line: e.data.pos.row, col: e.data.pos.column };
var proposals = that.xqlint.getCompletions(pos);
that.sender.emit("complete", proposals);
});
}; };
oop.inherits(XQueryWorker, Mirror); oop.inherits(XQueryWorker, Mirror);
(function() { (function() {
this.onUpdate = function() { this.onUpdate = function() {
this.sender.emit("start"); this.sender.emit("start");
var value = this.doc.getValue(); var value = this.doc.getValue();
var xqlint = new XQLint('test', value); this.xqlint = new XQLint(value);
this.sender.emit("markers", xqlint.getMarkers()); this.sender.emit("markers", this.xqlint.getMarkers());
}; };
}).call(XQueryWorker.prototype); }).call(XQueryWorker.prototype);
}); });

View file

@ -12,21 +12,21 @@ snippet if
if(${1:true}) then ${2:expr} else ${3:true} if(${1:true}) then ${2:expr} else ${3:true}
snippet switch snippet switch
switch(${1:"foo"}) switch(${1:"foo"})
case ${2:"foo"} case ${2:"foo"}
return ${3:true} return ${3:true}
default return ${4:false} default return ${4:false}
snippet try snippet try
try { ${1:expr} } catch ${2:*} { ${3:expr} } try { ${1:expr} } catch ${2:*} { ${3:expr} }
snippet tumbling snippet tumbling
for tumbling window $${1:varname} in ${2:expr} for tumbling window $${1:varname} in ${2:expr}
start at $${3:start} when ${4:expr} start at $${3:start} when ${4:expr}
end at $${5:end} when ${6:expr} end at $${5:end} when ${6:expr}
return ${7:expr} return ${7:expr}
snippet sliding snippet sliding
for sliding window $${1:varname} in ${2:expr} for sliding window $${1:varname} in ${2:expr}
start at $${3:start} when ${4:expr} start at $${3:start} when ${4:expr}
end at $${5:end} when ${6:expr} end at $${5:end} when ${6:expr}
return ${7:expr} return ${7:expr}
snippet let snippet let
let $${1:varname} := ${2:expr} let $${1:varname} := ${2:expr}
snippet group snippet group
@ -49,13 +49,13 @@ snippet cast
cast as ${1:atomicType} cast as ${1:atomicType}
snippet typeswitch snippet typeswitch
typeswitch(${1:expr}) typeswitch(${1:expr})
case ${2:type} return ${3:expr} case ${2:type} return ${3:expr}
default return ${4:expr} default return ${4:expr}
snippet var snippet var
declare variable $${1:varname} := ${2:expr}; declare variable $${1:varname} := ${2:expr};
snippet fn snippet fn
declare function ${1:ns}:${2:name}(){ declare function ${1:ns}:${2:name}(){
${3:expr} ${3:expr}
}; };
snippet module snippet module
module namespace ${1:ns} = "${2:http://www.example.com}"; module namespace ${1:ns} = "${2:http://www.example.com}";

View file

@ -12,21 +12,21 @@ snippet if
if(${1:true}) then ${2:expr} else ${3:true} if(${1:true}) then ${2:expr} else ${3:true}
snippet switch snippet switch
switch(${1:"foo"}) switch(${1:"foo"})
case ${2:"foo"} case ${2:"foo"}
return ${3:true} return ${3:true}
default return ${4:false} default return ${4:false}
snippet try snippet try
try { ${1:expr} } catch ${2:*} { ${3:expr} } try { ${1:expr} } catch ${2:*} { ${3:expr} }
snippet tumbling snippet tumbling
for tumbling window $${1:varname} in ${2:expr} for tumbling window $${1:varname} in ${2:expr}
start at $${3:start} when ${4:expr} start at $${3:start} when ${4:expr}
end at $${5:end} when ${6:expr} end at $${5:end} when ${6:expr}
return ${7:expr} return ${7:expr}
snippet sliding snippet sliding
for sliding window $${1:varname} in ${2:expr} for sliding window $${1:varname} in ${2:expr}
start at $${3:start} when ${4:expr} start at $${3:start} when ${4:expr}
end at $${5:end} when ${6:expr} end at $${5:end} when ${6:expr}
return ${7:expr} return ${7:expr}
snippet let snippet let
let $${1:varname} := ${2:expr} let $${1:varname} := ${2:expr}
snippet group snippet group
@ -49,13 +49,13 @@ snippet cast
cast as ${1:atomicType} cast as ${1:atomicType}
snippet typeswitch snippet typeswitch
typeswitch(${1:expr}) typeswitch(${1:expr})
case ${2:type} return ${3:expr} case ${2:type} return ${3:expr}
default return ${4:expr} default return ${4:expr}
snippet var snippet var
declare variable $${1:varname} := ${2:expr}; declare variable $${1:varname} := ${2:expr};
snippet fn snippet fn
declare function ${1:ns}:${2:name}(){ declare function ${1:ns}:${2:name}(){
${3:expr} ${3:expr}
}; };
snippet module snippet module
module namespace ${1:ns} = "${2:http://www.example.com}"; module namespace ${1:ns} = "${2:http://www.example.com}";