Skip to content

Commit e165f60

Browse files
committed
Slightly clean up progress reporting
1 parent ac21b55 commit e165f60

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

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

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -74,43 +74,41 @@ class KotlinLanguageServer : LanguageServer, LanguageClientAware, Closeable {
7474

7575
val folders = params.workspaceFolders
7676

77-
params.workDoneToken?.let {
78-
client.notifyProgress(ProgressParams(it, WorkDoneProgressBegin().apply {
79-
title = "Adding Kotlin workspace folders"
80-
percentage = 0
81-
}))
77+
fun reportProgress(notification: WorkDoneProgressNotification) {
78+
params.workDoneToken?.let {
79+
client.notifyProgress(ProgressParams(it, notification))
80+
}
8281
}
8382

83+
reportProgress(WorkDoneProgressBegin().apply {
84+
title = "Adding Kotlin workspace folders"
85+
percentage = 0
86+
})
87+
8488
folders.forEachIndexed { i, folder ->
8589
LOG.info("Adding workspace folder {}", folder.name)
8690
val progressPrefix = "[${i + 1}/${folders.size}] ${folder.name}"
8791
val progressPercent = (100 * i) / folders.size
8892

89-
params.workDoneToken?.let {
90-
client.notifyProgress(ProgressParams(it, WorkDoneProgressReport().apply {
91-
message = "$progressPrefix: Updating source path"
92-
percentage = progressPercent
93-
}))
94-
}
93+
reportProgress(WorkDoneProgressReport().apply {
94+
message = "$progressPrefix: Updating source path"
95+
percentage = progressPercent
96+
})
9597

9698
val root = Paths.get(parseURI(folder.uri))
9799
sourceFiles.addWorkspaceRoot(root)
98100

99-
params.workDoneToken?.let {
100-
client.notifyProgress(ProgressParams(it, WorkDoneProgressReport().apply {
101-
message = "$progressPrefix: Updating class path"
102-
percentage = progressPercent
103-
}))
104-
}
101+
reportProgress(WorkDoneProgressReport().apply {
102+
message = "$progressPrefix: Updating class path"
103+
percentage = progressPercent
104+
})
105105

106106
val refreshed = classPath.addWorkspaceRoot(root)
107107
if (refreshed) {
108-
params.workDoneToken?.let {
109-
client.notifyProgress(ProgressParams(it, WorkDoneProgressReport().apply {
110-
message = "$progressPrefix: Refreshing source path"
111-
percentage = progressPercent
112-
}))
113-
}
108+
reportProgress(WorkDoneProgressReport().apply {
109+
message = "$progressPrefix: Refreshing source path"
110+
percentage = progressPercent
111+
})
114112

115113
sourcePath.refresh()
116114
}

0 commit comments

Comments
 (0)