@@ -74,43 +74,41 @@ class KotlinLanguageServer : LanguageServer, LanguageClientAware, Closeable {
74
74
75
75
val folders = params.workspaceFolders
76
76
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
+ }
82
81
}
83
82
83
+ reportProgress(WorkDoneProgressBegin ().apply {
84
+ title = " Adding Kotlin workspace folders"
85
+ percentage = 0
86
+ })
87
+
84
88
folders.forEachIndexed { i, folder ->
85
89
LOG .info(" Adding workspace folder {}" , folder.name)
86
90
val progressPrefix = " [${i + 1 } /${folders.size} ] ${folder.name} "
87
91
val progressPercent = (100 * i) / folders.size
88
92
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
+ })
95
97
96
98
val root = Paths .get(parseURI(folder.uri))
97
99
sourceFiles.addWorkspaceRoot(root)
98
100
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
+ })
105
105
106
106
val refreshed = classPath.addWorkspaceRoot(root)
107
107
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
+ })
114
112
115
113
sourcePath.refresh()
116
114
}
0 commit comments