Skip to content

Commit 5a67eb2

Browse files
committed
Make KotlinLanguageServer programmatically configurable
1 parent 9f1a99e commit 5a67eb2

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

server/src/main/kotlin/org/javacs/kt/KotlinLanguageServer.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ import java.nio.file.Paths
2222
import java.util.concurrent.CompletableFuture
2323
import java.util.concurrent.CompletableFuture.completedFuture
2424

25-
class KotlinLanguageServer : LanguageServer, LanguageClientAware, Closeable {
26-
val config = Configuration()
25+
class KotlinLanguageServer(
26+
val config: Configuration = Configuration()
27+
) : LanguageServer, LanguageClientAware, Closeable {
2728
val databaseService = DatabaseService()
2829
val classPath = CompilerClassPath(config.compiler, config.scripts, databaseService)
2930

server/src/test/kotlin/org/javacs/kt/LanguageServerTestFixture.kt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@ import java.nio.file.Path
88
import java.nio.file.Paths
99
import java.util.concurrent.CompletableFuture
1010

11-
abstract class LanguageServerTestFixture(relativeWorkspaceRoot: String) : LanguageClient {
11+
abstract class LanguageServerTestFixture(
12+
relativeWorkspaceRoot: String,
13+
config: Configuration = Configuration()
14+
) : LanguageClient {
1215
val workspaceRoot = absoluteWorkspaceRoot(relativeWorkspaceRoot)
13-
val languageServer = createLanguageServer()
16+
val languageServer = createLanguageServer(config)
1417

1518
var diagnostics = listOf<Diagnostic>()
1619
val errors: List<Diagnostic>
@@ -23,8 +26,8 @@ abstract class LanguageServerTestFixture(relativeWorkspaceRoot: String) : Langua
2326
return testResources.resolve(relativeWorkspaceRoot)
2427
}
2528

26-
private fun createLanguageServer(): KotlinLanguageServer {
27-
val languageServer = KotlinLanguageServer()
29+
private fun createLanguageServer(config: Configuration): KotlinLanguageServer {
30+
val languageServer = KotlinLanguageServer(config)
2831
val init = InitializeParams().apply {
2932
capabilities = ClientCapabilities().apply {
3033
textDocument = TextDocumentClientCapabilities().apply {
@@ -177,7 +180,11 @@ fun testResourcesRoot(): Path {
177180
return Paths.get(anchorTxt).parent!!
178181
}
179182

180-
open class SingleFileTestFixture(relativeWorkspaceRoot: String, val file: String) : LanguageServerTestFixture(relativeWorkspaceRoot) {
183+
open class SingleFileTestFixture(
184+
relativeWorkspaceRoot: String,
185+
val file: String,
186+
config: Configuration = Configuration()
187+
) : LanguageServerTestFixture(relativeWorkspaceRoot, config) {
181188
@Before fun openFile() {
182189
open(file)
183190

0 commit comments

Comments
 (0)