Made small improvement to completion provider.

This commit is contained in:
Eric Traut 2019-09-24 15:14:20 -07:00
parent ece3d08002
commit abc7a6a433

View File

@ -191,22 +191,25 @@ export class CompletionProvider {
// node. // node.
const initialNode = node; const initialNode = node;
const initialDepth = node ? ParseTreeUtils.getNodeDepth(node) : 0; const initialDepth = node ? ParseTreeUtils.getNodeDepth(node) : 0;
let curOffset = offset;
while (curOffset >= 0) {
curOffset--;
// Stop scanning backward if we hit certain stop characters. if (!initialNode || initialNode.nodeType !== ParseNodeType.Name) {
const curChar = this._fileContents.substr(curOffset, 1); let curOffset = offset;
if (curChar === '(' || curChar === '\n') { while (curOffset >= 0) {
break; curOffset--;
}
const curNode = ParseTreeUtils.findNodeByOffset(this._parseResults.parseTree, curOffset); // Stop scanning backward if we hit certain stop characters.
if (curNode && curNode !== initialNode) { const curChar = this._fileContents.substr(curOffset, 1);
if (ParseTreeUtils.getNodeDepth(curNode) > initialDepth) { if (curChar === '(' || curChar === '\n') {
node = curNode; break;
}
const curNode = ParseTreeUtils.findNodeByOffset(this._parseResults.parseTree, curOffset);
if (curNode && curNode !== initialNode) {
if (ParseTreeUtils.getNodeDepth(curNode) > initialDepth) {
node = curNode;
}
break;
} }
break;
} }
} }