Skip to content

Commit 6aea332

Browse files
committed
Addresses more pr comments
1 parent 8329539 commit 6aea332

File tree

2 files changed

+30
-35
lines changed

2 files changed

+30
-35
lines changed

packages/language-support/src/signatureHelp.ts

+16-22
Original file line numberDiff line numberDiff line change
@@ -140,28 +140,22 @@ export function signatureHelp(
140140
): SignatureHelp {
141141
let result: SignatureHelp = emptyResult;
142142

143-
// TODO Is this check needed
144-
if (caretPosition > 0) {
145-
const parserResult = parserWrapper.parse(fullQuery);
146-
const caret = findCaret(parserResult, caretPosition);
147-
148-
if (caret) {
149-
const statement = caret.statement;
150-
151-
const signatureHelper = new SignatureHelper(
152-
statement.tokens,
153-
caret.token,
154-
);
155-
156-
ParseTreeWalker.DEFAULT.walk(signatureHelper, statement.ctx);
157-
const method = signatureHelper.result;
158-
159-
if (method !== undefined) {
160-
if (method.methodType === MethodType.function) {
161-
result = toSignatureHelp(dbSchema.functionSignatures, method);
162-
} else {
163-
result = toSignatureHelp(dbSchema.procedureSignatures, method);
164-
}
143+
const parserResult = parserWrapper.parse(fullQuery);
144+
const caret = findCaret(parserResult, caretPosition);
145+
146+
if (caret) {
147+
const statement = caret.statement;
148+
149+
const signatureHelper = new SignatureHelper(statement.tokens, caret.token);
150+
151+
ParseTreeWalker.DEFAULT.walk(signatureHelper, statement.ctx);
152+
const method = signatureHelper.result;
153+
154+
if (method !== undefined) {
155+
if (method.methodType === MethodType.function) {
156+
result = toSignatureHelp(dbSchema.functionSignatures, method);
157+
} else {
158+
result = toSignatureHelp(dbSchema.procedureSignatures, method);
165159
}
166160
}
167161
}

packages/language-support/src/syntaxValidation/syntaxValidation.ts

+14-13
Original file line numberDiff line numberDiff line change
@@ -198,20 +198,21 @@ export function validateSemantics(query: string): SyntaxDiagnostic[] {
198198
const cachedParse = parserWrapper.parse(query);
199199
const statements = cachedParse.statementsParsing;
200200
const semanticErrors = statements.flatMap((current) => {
201-
const cmd = current.command;
202-
if (cmd.type === 'cypher' && cmd.statement.length > 0) {
203-
const { notifications, errors } = wrappedSemanticAnalysis(
204-
cmd.statement,
205-
);
206-
207-
const elements = notifications.concat(errors);
208-
const result = fixSemanticAnalysisPositions({
209-
semanticElements: elements,
210-
parseResult: current,
211-
}).sort(sortByPosition);
212-
return result;
201+
if (current.diagnostics.length === 0) {
202+
const cmd = current.command;
203+
if (cmd.type === 'cypher' && cmd.statement.length > 0) {
204+
const { notifications, errors } = wrappedSemanticAnalysis(
205+
cmd.statement,
206+
);
207+
208+
const elements = notifications.concat(errors);
209+
const result = fixSemanticAnalysisPositions({
210+
semanticElements: elements,
211+
parseResult: current,
212+
}).sort(sortByPosition);
213+
return result;
214+
}
213215
}
214-
215216
return [];
216217
});
217218

0 commit comments

Comments
 (0)