From 602fe14aa412509d38486e33e3931dca3245978c Mon Sep 17 00:00:00 2001 From: Isaac Clayton Date: Wed, 6 Jul 2022 10:14:49 +0200 Subject: [PATCH] Going to move LspAdapter from trait to struct --- crates/language/src/language.rs | 17 +++++++++++++++++ crates/project/src/project.rs | 3 +++ 2 files changed, 20 insertions(+) diff --git a/crates/language/src/language.rs b/crates/language/src/language.rs index 189c455258..a3f9475eae 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -65,6 +65,23 @@ pub struct LanguageServerName(pub Arc); use async_trait::async_trait; +// pub struct LspAdapter { +// name: LanguageServerName, +// adapter: Arc, +// } + +// impl LspAdapter { +// async fn new(adapter: Arc) -> Self { +// let name = adapter.name().await; + +// LspAdapter { name, adapter } +// } + +// fn name(&self) -> LanguageServerName { +// self.name +// } +// } + #[async_trait] pub trait LspAdapter: 'static + Send + Sync { async fn name(&self) -> LanguageServerName; diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index c1bfa7f318..5fdfbcd512 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -1787,6 +1787,7 @@ impl Project { ))?, } cx.subscribe(buffer, |this, buffer, event, cx| { + // TODO(isaac): should this be done in the background? this.on_buffer_event(buffer, event, cx).await; }) .detach(); @@ -3310,6 +3311,7 @@ impl Project { return Ok(Default::default()); }; + // TODO(isaac): also use join_all struct PartialSymbol { source_worktree_id: WorktreeId, worktree_id: WorktreeId, @@ -3537,6 +3539,7 @@ impl Project { Default::default() }; + // TODO(isaac): use futures::future::join_all struct PartialCompletion { pub old_range: Range, pub new_text: String,