Skip to content

Commit d4c5808

Browse files
committed
Fixes #381
1 parent 582091a commit d4c5808

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## [2.8.1] - 2025-XX-XX
4+
- Fix issue [#381](https://github.com/intersystems/language-server/issues/381): Fix extension crashes due to request forwarding
5+
36
## [2.8.0] - 2025-07-28
47
- Fix issue [#378](https://github.com/intersystems/language-server/issues/378): Remove `intersystems.language-server.completion.showInternal` setting
58
- Fix issue [#380](https://github.com/intersystems/language-server/issues/380): Add the Deprecated tag to DocumentSymbols in classes

server/src/providers/completion.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -719,7 +719,7 @@ async function globalsOrRoutines(
719719
}
720720

721721
export async function onCompletion(params: CompletionParams): Promise<CompletionItem[] | null> {
722-
var result: CompletionItem[] = [];
722+
let result: CompletionItem[] = [];
723723
const doc = documents.get(params.textDocument.uri);
724724
if (doc === undefined) {return null;}
725725
const parsed = await getParsedDocument(params.textDocument.uri);
@@ -729,14 +729,14 @@ export async function onCompletion(params: CompletionParams): Promise<Completion
729729
const prevline = doc.getText(Range.create(Position.create(params.position.line,0),params.position));
730730
const prevlineLower = prevline.toLowerCase();
731731
const classregex = /^class[ ]+%?[\p{L}\d]+(\.{1}[\p{L}\d]+)* +extends[ ]+(\(([%]?[\p{L}\d]+(\.{1}[\p{L}\d]+)*,[ ]*)*)?$/iu;
732-
var firsttwotokens = "";
732+
let firsttwotokens = "";
733733
if (parsed[params.position.line].length >= 2) {
734734
firsttwotokens = doc.getText(Range.create(
735735
params.position.line,parsed[params.position.line][0].p,
736736
params.position.line,parsed[params.position.line][1].p+parsed[params.position.line][1].c
737737
));
738738
}
739-
var thistoken: number = -1;
739+
let thistoken: number = -1;
740740
for (let i = 0; i < parsed[params.position.line].length; i++) {
741741
const symbolstart: number = parsed[params.position.line][i].p;
742742
const symbolend: number = parsed[params.position.line][i].p + parsed[params.position.line][i].c;
@@ -775,7 +775,6 @@ export async function onCompletion(params: CompletionParams): Promise<Completion
775775
const settings = await getLanguageServerSettings(params.textDocument.uri);
776776
const asRegex = /\s+as\s+$/;
777777
const parenAndCommaRegex = /[,(]\s*$/;
778-
const squareAndCommaRegex = /[,[]\s*$/;
779778

780779
if (prevline.endsWith("$$$") && [ld.cos_langindex,ld.sql_langindex].includes(triggerlang)) {
781780
// This is a macro

server/src/providers/requestForwarding.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ interface IsolateEmbeddedLanguageParams {
1414
*/
1515
export async function languageAtPosition(params: TextDocumentPositionParams): Promise<number> {
1616
const doc = documents.get(params.textDocument.uri);
17-
if (doc === undefined) {return -1;}
17+
if (!doc) return -1;
1818
const parsed = await getParsedDocument(params.textDocument.uri);
19-
if (parsed === undefined) {return -1;}
20-
if (params.position.line === parsed.length) {return -1;}
19+
if (!parsed) return -1;
20+
if (params.position.line >= parsed.length) return -1;
21+
if (!parsed[params.position.line]?.length) return -1;
2122

2223
let thistoken: number = -1;
2324
for (let i = 0; i < parsed[params.position.line].length; i++) {

0 commit comments

Comments
 (0)