fish-lsp
Version:
LSP implementation for fish/fish-shell
23 lines (22 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isForVariableDefinitionName = isForVariableDefinitionName;
exports.processForDefinition = processForDefinition;
const symbol_1 = require("./symbol");
const definition_scope_1 = require("../utils/definition-scope");
function isForVariableDefinitionName(node) {
if (node.parent && node.parent.type === 'for_statement') {
return !!node.parent.firstNamedChild &&
node.parent.firstNamedChild.type === 'variable_name' &&
node.parent.firstNamedChild.equals(node);
}
return false;
}
function processForDefinition(document, node, children = []) {
const modifier = 'local';
const definitionNode = node.firstNamedChild;
const definitionScope = definition_scope_1.DefinitionScope.create(node, modifier);
return [
symbol_1.FishSymbol.create(definitionNode.text, node, definitionNode, 'FOR', document, document.uri, node.text, definitionScope, children),
];
}