From 4a4f5411e485b3be42275b7c22b27ee6d46d8e7c Mon Sep 17 00:00:00 2001 From: kbwo Date: Sat, 22 Jun 2024 19:47:52 +0900 Subject: [PATCH] change adapter specification --- Cargo.lock | 25 ++----------------------- Cargo.toml | 4 ++-- crates/adapter/Cargo.toml | 3 ++- src/server.rs | 9 ++++----- src/spec.rs | 12 ++++++------ 5 files changed, 16 insertions(+), 37 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4b3ca53..10e3b79 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -520,7 +520,7 @@ dependencies = [ [[package]] name = "testing-language-server" -version = "0.0.1" +version = "0.0.2" dependencies = [ "anyhow", "clap", @@ -538,27 +538,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "testing-language-server" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb5189196366a4603fcd66cabd68576ac13b9594186dab4348f3e0381b3fab23" -dependencies = [ - "anyhow", - "clap", - "dirs", - "lsp-types", - "once_cell", - "regex", - "serde", - "serde_json", - "strum", - "thiserror", - "tracing", - "tracing-appender", - "tracing-subscriber", -] - [[package]] name = "testing-ls-adapter" version = "0.0.1" @@ -570,7 +549,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "testing-language-server 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "testing-language-server", "tree-sitter", "tree-sitter-javascript", "tree-sitter-rust", diff --git a/Cargo.toml b/Cargo.toml index 2f14cba..05c1696 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "testing-language-server" -version = "0.0.1" +version = "0.0.2" edition = "2021" author = "Kodai Kabasawa " description = "LSP server for testing" @@ -8,7 +8,7 @@ license = "MIT" [workspace] members = [ "crates/adapter"] -exclude = ["test_proj/rust"] +exclude = ["test_proj"] [[bin]] name = "testing-language-server" diff --git a/crates/adapter/Cargo.toml b/crates/adapter/Cargo.toml index 0457b56..275c5fc 100644 --- a/crates/adapter/Cargo.toml +++ b/crates/adapter/Cargo.toml @@ -8,7 +8,8 @@ license = "MIT" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -testing-language-server = "0.0.1" +# testing-language-server = "0.0.1" +testing-language-server = { path = "../../" } lsp-types = { workspace = true } serde_json = { workspace = true } serde = { workspace = true } diff --git a/src/server.rs b/src/server.rs index e08389a..8c083ae 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,7 +1,7 @@ use crate::error::LSError; use crate::spec::AdapterConfiguration; use crate::spec::AdapterId; -use crate::spec::DetectWorkspaceRootResult; +use crate::spec::DetectWorkspaceResult; use crate::spec::DiscoverResult; use crate::spec::RunFileTestResult; use crate::spec::RunFileTestResultItem; @@ -272,7 +272,7 @@ impl TestingLS { args_file_path.push(file_path); }); let output = adapter_command - .arg("detect-workspace-root") + .arg("detect-workspace") .args(args_file_path) .arg("--") .args(extra_args) @@ -281,8 +281,7 @@ impl TestingLS { .map_err(|err| LSError::Adapter(err.to_string()))?; let adapter_result = String::from_utf8(output.stdout) .map_err(|err| LSError::Adapter(err.to_string()))?; - let workspace_root: DetectWorkspaceRootResult = - serde_json::from_str(&adapter_result)?; + let workspace_root: DetectWorkspaceResult = serde_json::from_str(&adapter_result)?; self.workspace_root_cache .push(WorkspaceAnalysis::new(adapter.clone(), workspace_root)) } @@ -342,7 +341,7 @@ impl TestingLS { let mut diagnostics: Vec<(String, Vec)> = vec![]; let cwd = PathBuf::from(workspace_root); let adapter_command = adapter_command.current_dir(&cwd); - let mut args: Vec<&str> = vec!["--workspace-root", cwd.to_str().unwrap()]; + let mut args: Vec<&str> = vec!["--workspace", cwd.to_str().unwrap()]; paths.iter().for_each(|path| { args.push("--file-paths"); args.push(path); diff --git a/src/spec.rs b/src/spec.rs index c1030a3..cd6e209 100644 --- a/src/spec.rs +++ b/src/spec.rs @@ -9,7 +9,7 @@ use std::collections::HashMap; pub enum AdapterCommands { Discover(DiscoverArgs), RunFileTest(RunFileTestArgs), - DetectWorkspaceRoot(DetectWorkspaceRootArgs), + DetectWorkspace(DetectWorkspaceArgs), } #[derive(clap::Args, Debug)] @@ -36,7 +36,7 @@ pub struct RunFileTestArgs { #[derive(clap::Args, Debug)] #[command(version, about, long_about = None)] -pub struct DetectWorkspaceRootArgs { +pub struct DetectWorkspaceArgs { #[arg(short, long)] pub file_paths: Vec, #[arg(last = true)] @@ -45,18 +45,18 @@ pub struct DetectWorkspaceRootArgs { pub(crate) type AdapterId = String; pub(crate) type FilePath = String; -pub(crate) type WorkspaceRootFilePath = String; +pub(crate) type WorkspaceFilePath = String; #[derive(Debug, Serialize, Clone)] pub struct WorkspaceAnalysis { pub adapter_config: AdapterConfiguration, - pub workspace_roots: DetectWorkspaceRootResult, + pub workspace_roots: DetectWorkspaceResult, } impl WorkspaceAnalysis { pub fn new( adapter_config: AdapterConfiguration, - workspace_roots: DetectWorkspaceRootResult, + workspace_roots: DetectWorkspaceResult, ) -> Self { Self { adapter_config, @@ -76,7 +76,7 @@ pub struct AdapterConfiguration { pub exclude_patterns: Vec, } -pub type DetectWorkspaceRootResult = HashMap>; +pub type DetectWorkspaceResult = HashMap>; #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] pub struct RunFileTestResultItem {