Skip to content

Commit b950361

Browse files
authored
Merge pull request #994 from julia-vscode/sp/symbolserver-progress
Improve SymbolServer progress reporting
2 parents 915c462 + b0a2610 commit b950361

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/languageserverinstance.jl

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ function create_symserver_progress_ui(server)
147147
JSONRPC.send(
148148
server.jr_endpoint,
149149
progress_notification_type,
150-
ProgressParams(token, WorkDoneProgressBegin("Julia Language Server", missing, "Indexing packages...", missing))
150+
ProgressParams(token, WorkDoneProgressBegin("Julia", missing, "Starting async tasks...", 0))
151151
)
152152
end
153153
end
@@ -176,19 +176,20 @@ function trigger_symbolstore_reload(server::LanguageServerInstance)
176176
end
177177

178178
@async try
179-
# TODO Add try catch handler that links into crash reporting
180179
ssi_ret, payload = SymbolServer.getstore(
181180
server.symbol_server,
182181
server.env_path,
183-
function (i)
182+
function (msg, percentage = missing)
184183
if server.clientcapability_window_workdoneprogress && server.current_symserver_progress_token !== nothing
184+
msg = ismissing(percentage) ? msg : string(msg, " ($percentage%)")
185185
JSONRPC.send(
186186
server.jr_endpoint,
187187
progress_notification_type,
188-
ProgressParams(server.current_symserver_progress_token, WorkDoneProgressReport(missing, "Indexing $i...", missing))
188+
ProgressParams(server.current_symserver_progress_token, WorkDoneProgressReport(missing, msg, percentage))
189189
)
190+
@info msg percentage
190191
else
191-
@info "Indexing $i..."
192+
@info msg percentage
192193
end
193194
end,
194195
server.err_handler,
@@ -349,9 +350,9 @@ function Base.run(server::LanguageServerInstance)
349350
msg_dispatcher[julia_getDocFromWord_request_type] = request_wrapper(julia_getDocFromWord_request, server)
350351
msg_dispatcher[textDocument_selectionRange_request_type] = request_wrapper(textDocument_selectionRange_request, server)
351352

353+
@debug "starting main loop"
352354
while true
353355
message = take!(server.combined_msg_queue)
354-
355356
if message.type == :close
356357
@info "Shutting down server instance."
357358
return

0 commit comments

Comments
 (0)