BYU-Bazel / bazel-ls

A Bazel language server prototype
Apache License 2.0
10 stars 0 forks source link

Executing a Build Target can cause the whole plugin to freeze up, disabling features without notice #163

Closed jasonxris closed 3 years ago

jasonxris commented 3 years ago

23:04:20.076 [pool-2-thread-1] INFO server.commands.CommandProvider - Executing command bazel.build with args ["//buildozer:buildozer-windows"] 23:04:20.077 [pool-2-thread-1] INFO server.commands.CommandProvider - path to be built: "//buildozer:buildozer-windows" 23:04:20.077 [pool-2-thread-1] INFO server.commands.CommandProvider - Executing command... 23:06:54.670 [pool-2-thread-1] INFO server.commands.CommandProvider - Command successfully executed 23:06:54.670 [pool-2-thread-1] INFO server.BazelServices - CodeLens request received 23:06:54.670 [pool-2-thread-1] INFO server.codelens.CodeLensProvider - CodeLens Provider invoked 23:06:54.671 [pool-2-thread-1] INFO server.bazel.bazelWorkspaceAPI.WorkspaceAPI - Path to package: /buildozer

If using the Codelense to execute a build target it will freeze ALL plugin features until the build target finishes executing. In this case, the target took 2 minutes to run. So the plugin/diagnostics/autocomplete stopped working for 2 minutes without any way for the user to know why it wasn't working.

Is there a way to run these commands on another thread so it doesn't interfere with the other providers?