Skip to content

Commit 155d23d

Browse files
authored
Null checks for various extension config things (#944)
* null checks for various extension config things * changelog
1 parent 81427ec commit 155d23d

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
1313
## master
1414

15+
#### :bug: Bug Fix
16+
17+
- Fix null checks for editor config, so things don't blow up. https://github.com/rescript-lang/rescript-vscode/pull/944
18+
1519
## 1.44.0
1620

1721
#### :rocket: New Feature

server/src/config.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ export type send = (msg: Message) => void;
55
export interface extensionConfiguration {
66
allowBuiltInFormatter: boolean;
77
askToStartBuild: boolean;
8-
inlayHints: {
8+
inlayHints?: {
99
enable: boolean;
1010
maxLength: number | null;
1111
};
1212
codeLens: boolean;
1313
binaryPath: string | null;
1414
platformPath: string | null;
15-
signatureHelp: {
15+
signatureHelp?: {
1616
enabled: boolean;
1717
};
18-
incrementalTypechecking: {
18+
incrementalTypechecking?: {
1919
enabled: boolean;
2020
acrossFiles: boolean;
2121
debugLogging: boolean;
@@ -40,7 +40,7 @@ let config: { extensionConfiguration: extensionConfiguration } = {
4040
},
4141
incrementalTypechecking: {
4242
enabled: false,
43-
acrossFiles: true,
43+
acrossFiles: false,
4444
debugLogging: true,
4545
},
4646
},

server/src/incrementalCompilation.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ import * as c from "./constants";
1111
import * as chokidar from "chokidar";
1212

1313
function debug() {
14-
return config.extensionConfiguration.incrementalTypechecking.debugLogging;
14+
return (
15+
config.extensionConfiguration.incrementalTypechecking?.debugLogging ?? false
16+
);
1517
}
1618

1719
const INCREMENTAL_FOLDER_NAME = "___incremental";
@@ -420,7 +422,7 @@ async function figureOutBscArgs(entry: IncrementallyCompiledFileInfo) {
420422

421423
let callArgs: Array<string> = [];
422424

423-
if (config.extensionConfiguration.incrementalTypechecking.acrossFiles) {
425+
if (config.extensionConfiguration.incrementalTypechecking?.acrossFiles) {
424426
callArgs.push(
425427
"-I",
426428
path.resolve(entry.project.rootPath, INCREMENTAL_FILE_FOLDER_LOCATION)

server/src/server.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ let deleteProjectDiagnostics = (projectRootPath: string) => {
191191
});
192192

193193
projectsFiles.delete(projectRootPath);
194-
if (config.extensionConfiguration.incrementalTypechecking.enabled) {
194+
if (config.extensionConfiguration.incrementalTypechecking?.enabled) {
195195
ic.removeIncrementalFileFolder(projectRootPath);
196196
}
197197
}
@@ -239,7 +239,7 @@ let openedFile = (fileUri: string, fileContent: string) => {
239239
if (projectRootPath != null) {
240240
let projectRootState = projectsFiles.get(projectRootPath);
241241
if (projectRootState == null) {
242-
if (config.extensionConfiguration.incrementalTypechecking.enabled) {
242+
if (config.extensionConfiguration.incrementalTypechecking?.enabled) {
243243
ic.recreateIncrementalFileFolder(projectRootPath);
244244
}
245245
projectRootState = {
@@ -319,7 +319,7 @@ let openedFile = (fileUri: string, fileContent: string) => {
319319
let closedFile = (fileUri: string) => {
320320
let filePath = fileURLToPath(fileUri);
321321

322-
if (config.extensionConfiguration.incrementalTypechecking.enabled) {
322+
if (config.extensionConfiguration.incrementalTypechecking?.enabled) {
323323
ic.handleClosedFile(filePath);
324324
}
325325

@@ -349,7 +349,7 @@ let updateOpenedFile = (fileUri: string, fileContent: string) => {
349349
let filePath = fileURLToPath(fileUri);
350350
assert(stupidFileContentCache.has(filePath));
351351
stupidFileContentCache.set(filePath, fileContent);
352-
if (config.extensionConfiguration.incrementalTypechecking.enabled) {
352+
if (config.extensionConfiguration.incrementalTypechecking?.enabled) {
353353
ic.handleUpdateOpenedFile(filePath, fileContent, send, () => {
354354
if (config.extensionConfiguration.codeLens) {
355355
sendCodeLensRefresh();
@@ -418,7 +418,7 @@ function inlayHint(msg: p.RequestMessage) {
418418
filePath,
419419
params.range.start.line,
420420
params.range.end.line,
421-
config.extensionConfiguration.inlayHints.maxLength,
421+
config.extensionConfiguration.inlayHints?.maxLength,
422422
],
423423
msg
424424
);
@@ -794,7 +794,7 @@ function format(msg: p.RequestMessage): Array<p.Message> {
794794
}
795795

796796
let updateDiagnosticSyntax = (fileUri: string, fileContent: string) => {
797-
if (config.extensionConfiguration.incrementalTypechecking.enabled) {
797+
if (config.extensionConfiguration.incrementalTypechecking?.enabled) {
798798
// The incremental typechecking already sends syntax diagnostics.
799799
return;
800800
}

0 commit comments

Comments
 (0)