summaryrefslogtreecommitdiff
path: root/cli/lsp/tsc.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-12-11 16:59:09 +0100
committerGitHub <noreply@github.com>2023-12-11 16:59:09 +0100
commit7bf267c197fc6a5cbafa0e72992b1cc7629ff989 (patch)
treec43e68c3ff0760fe36d573f87101dc4784fd9ef8 /cli/lsp/tsc.rs
parent6bdf2388da617f9b82010c3df5aa094efc37e4ea (diff)
perf(lsp): simplify some of the startup code (#21538)
Remove some dead code in "99_main_compiler.js". Eagerly start the LSP TSC host, it was adding some not needed complexity around the TSC thread code.
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});");