Skip to content

Commit 8bcd74f

Browse files
committed
feat: stop validation after lexing/parsing errors
1 parent c03f637 commit 8bcd74f

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/language/safe-ds-module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import { SafeDsTypeChecker } from './typing/safe-ds-type-checker.js';
2828
import { SafeDsCoreTypes } from './typing/safe-ds-core-types.js';
2929
import { SafeDsNodeKindProvider } from './lsp/safe-ds-node-kind-provider.js';
3030
import { SafeDsDocumentSymbolProvider } from './lsp/safe-ds-document-symbol-provider.js';
31+
import { SafeDsDocumentBuilder } from './workspace/safe-ds-document-builder.js';
3132

3233
/**
3334
* Declaration of custom services - add your own service classes here.
@@ -106,6 +107,7 @@ export const SafeDsSharedModule: Module<SafeDsSharedServices, DeepPartial<SafeDs
106107
NodeKindProvider: () => new SafeDsNodeKindProvider(),
107108
},
108109
workspace: {
110+
DocumentBuilder: (services) => new SafeDsDocumentBuilder(services),
109111
WorkspaceManager: (services) => new SafeDsWorkspaceManager(services),
110112
},
111113
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { BuildOptions, DefaultDocumentBuilder } from 'langium';
2+
3+
export class SafeDsDocumentBuilder extends DefaultDocumentBuilder {
4+
override updateBuildOptions: BuildOptions = {
5+
validation: {
6+
categories: ['built-in', 'fast'],
7+
stopAfterLexingErrors: true,
8+
stopAfterParsingErrors: true,
9+
},
10+
};
11+
}

0 commit comments

Comments
 (0)