Skip to content

Commit f3e386b

Browse files
committed
Merge branch 'main' of github.com:lstreckeisen/context-mapper-language-server into CMI-95-Improve-Language-Server-Command-error-handling
2 parents 69c8799 + 34cd45b commit f3e386b

18 files changed

+685
-27
lines changed

.yarn/install-state.gz

49.4 KB
Binary file not shown.

docs/class_formatting.puml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
@startuml
2-
abstract class AbstractFormatter
2+
abstract class AbstractFormatter {
3+
{abstract} # format(node: AstNode)
4+
}
35

46
class ContextMapperDslFormatter {
5-
# format(AstNode)
7+
# format(node: AstNode)
68
}
79

810
interface ContextMapperFormatter {
9-
+ format(T, NodeFormatter<T>)
11+
+ format(node: T, formatter: NodeFormatter<T>)
1012
}
1113

1214
class ContextMapperFormatterRegistry {
1315
- _formatters: Map<string, ContextMapperFormatter<AstNode>>
14-
+ get(AstNode): ContextMapperFormatter<AstNode> | undefined
16+
+ get(node: AstNode): ContextMapperFormatter<AstNode> | undefined
1517
}
1618

1719
AbstractFormatter <|-- ContextMapperDslFormatter

docs/class_generators.puml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,29 @@
11
@startuml
22

3+
<style>
4+
class {
5+
MaximumWidth: 500
6+
}
7+
</style>
8+
9+
abstract class AbstractExecuteCommandHandler {
10+
{abstract} + registerCommands(ExecuteCommandAcceptor)
11+
}
12+
313
class ContextMapperCommandHandler {
414
+ registerCommands(ExecuteCommandAcceptor)
515
}
616

717
class GeneratorCommandExecutor {
818
- serviceRegistry: ServiceRegistry
9-
+ execute(ContextMapperGenerator, unknown[], CancellationToken)
19+
+ execute(generator: ContextMapperGenerator, args: unknown[], cancelToken: CancellationToken): Promise<string[]>
1020
}
1121

1222
interface ContextMapperGenerator {
13-
+ generate(ContextMappingModel, string, unknown[], CancellationToken)
23+
+ generate(model: ContextMappingModel, filePath: string, args: unknown[], cancelToken: CancellationToken): Promise<string[]>
1424
}
1525

26+
AbstractExecuteCommandHandler <|-- ContextMapperCommandHandler
1627
ContextMapperCommandHandler *-- "1" GeneratorCommandExecutor
1728
ContextMapperCommandHandler o-- "0..*" ContextMapperGenerator
1829

docs/class_semantic_tokens.puml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
@startuml
2-
abstract class AbstractSemanticTokenProvider
2+
abstract class AbstractSemanticTokenProvider {
3+
{abstract} # highlightElement(node: AstNode, acceptor: SemanticTokenAcceptor)
4+
}
35

46
class ContextMapperDslSemanticTokenProvider {
5-
# highlightElement(AstNode, SemanticTokenAcceptor)
7+
# highlightElement(node: AstNode, acceptor: SemanticTokenAcceptor)
68
}
79

810
class SemanticTokenProviderRegistry {
911
- semanticTokenProviders: Map<string, ContextMapperSemanticTokenProvider<AstNode>>
10-
+ get(AstNode): ContextMapperSemanticTokenProvider<AstNode>
12+
+ get(node: AstNode): ContextMapperSemanticTokenProvider<AstNode> | undefined
1113
}
1214

1315
interface ContextMapperSemanticTokenProvider {
14-
+ highlight(T, SemanticTokenAcceptor)
16+
+ highlight(node: T, acceptor: SemanticTokenAcceptor)
1517
}
1618

1719
AbstractSemanticTokenProvider <|-- ContextMapperDslSemanticTokenProvider

docs/class_semantic_validation.puml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
@startuml
22
abstract class ValidationRegistry {
3-
+ register(ValidationChecks<T>, ThisParameterType)
3+
+ register(checks: ValidationChecks<T>, validator: ThisParameterType)
44
}
55

66
class ContextMapperDslValidationRegistry {
77
}
88

99
class ContextMapperDslValidator {
10-
+ validate(AstNode, ValidationAcceptor)
10+
+ validate(node: AstNode, acceptor: ValidationAcceptor)
1111
}
1212

1313
class ContextMapperValidationProviderRegistry {
1414
- _providers: Map<string, ContextMapperValidationProvider<AstNode>>
15-
+ get(AstNode): ContextMapperValidationProvider<AstNode>
15+
+ get(node: AstNode): ContextMapperValidationProvider<AstNode> | undefined
1616
}
1717

1818
interface ContextMapperValidationProvider {
19-
+ validate(T, ValidationAcceptor)
19+
+ validate(node: T, acceptor: ValidationAcceptor)
2020
}
2121

2222
ValidationRegistry <|-- ContextMapperDslValidationRegistry

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"eslint": "~9.26.0",
4141
"jiti": "^2.4.2",
4242
"langium-cli": "~3.5.0",
43+
"tsarch": "^5.4.1",
4344
"typescript": "~5.8.3",
4445
"typescript-eslint": "^8.32.1",
4546
"vitest": "^3.1.3"

src/language/commands/ContextMapperCommandHandler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { AbstractExecuteCommandHandler, ExecuteCommandAcceptor, ExecuteCommandFunction } from 'langium/lsp'
22
import { LangiumDefaultSharedCoreServices } from 'langium'
33
import { GeneratorCommandExecutor } from './GeneratorCommandExecutor.js'
4-
import { PlantUMLGenerator } from '../generators/PlantUMLGenerator.js'
5-
import { ContextMapperGenerator } from '../generators/ContextMapperGenerator.js'
4+
import { PlantUMLGenerator } from './generators/PlantUMLGenerator.js'
5+
import { ContextMapperGenerator } from './generators/ContextMapperGenerator.js'
66

77
export class ContextMapperCommandHandler extends AbstractExecuteCommandHandler {
88
private readonly generatorCommandExecutor: GeneratorCommandExecutor

src/language/commands/GeneratorCommandExecutor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ServiceRegistry, URI } from 'langium'
22
import path from 'node:path'
33
import fs from 'node:fs'
4-
import { ContextMapperGenerator } from '../generators/ContextMapperGenerator.js'
4+
import { ContextMapperGenerator } from './generators/ContextMapperGenerator.js'
55
import { ContextMappingModel } from '../generated/ast.js'
66
import { ContextMapperDslLanguageMetaData } from '../generated/module.js'
77
import { ContextMapperDslServices } from '../ContextMapperDslModule.js'

src/language/generators/ContextMapperGenerator.ts renamed to src/language/commands/generators/ContextMapperGenerator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ContextMappingModel } from '../generated/ast.js'
1+
import { ContextMappingModel } from '../../generated/ast.js'
22
import { CancellationToken } from 'vscode-languageserver'
33

44
export interface ContextMapperGenerator {

src/language/generators/PlantUMLGenerator.ts renamed to src/language/commands/generators/PlantUMLGenerator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ContextMapperGenerator } from './ContextMapperGenerator.js'
22
import path from 'node:path'
33
import fs from 'node:fs'
4-
import { ContextMappingModel } from '../generated/ast.js'
4+
import { ContextMappingModel } from '../../generated/ast.js'
55
import { ComponentDiagramGenerator } from './plantuml/ComponentDiagramGenerator.js'
66
import { CancellationToken } from 'vscode-languageserver'
77

0 commit comments

Comments
 (0)