summaryrefslogtreecommitdiff
path: root/cli/lsp/tsc.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/tsc.rs')
-rw-r--r--cli/lsp/tsc.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/cli/lsp/tsc.rs b/cli/lsp/tsc.rs
index b4f4d52c7..594ef02a2 100644
--- a/cli/lsp/tsc.rs
+++ b/cli/lsp/tsc.rs
@@ -226,13 +226,9 @@ impl TsServer {
let runtime = create_basic_runtime();
runtime.block_on(async {
- let mut started = false;
+ start_tsc(&mut ts_runtime, false).unwrap();
+
while let Some((req, state_snapshot, tx, token)) = rx.recv().await {
- if !started {
- // TODO(@kitsonk) need to reflect the debug state of the lsp here
- start(&mut ts_runtime, false).unwrap();
- started = true;
- }
let value =
request(&mut ts_runtime, state_snapshot, req, token.clone());
let was_sent = tx.send(value).is_ok();
@@ -3778,6 +3774,8 @@ impl TscSpecifierMap {
}
}
+// TODO(bartlomieju): we have similar struct in `cli/tsc/mod.rs` - maybe at least change
+// the name of the struct to avoid confusion?
struct State {
last_id: usize,
performance: Arc<Performance>,
@@ -4057,7 +4055,7 @@ deno_core::extension!(deno_tsc,
/// Instruct a language server runtime to start the language server and provide
/// it with a minimal bootstrap configuration.
-fn start(runtime: &mut JsRuntime, debug: bool) -> Result<(), AnyError> {
+fn start_tsc(runtime: &mut JsRuntime, debug: bool) -> Result<(), AnyError> {
let init_config = json!({ "debug": debug });
let init_src = format!("globalThis.serverInit({init_config});");