From 8d6fad4cac65083a0b08e49391c579ec793bc8f3 Mon Sep 17 00:00:00 2001 From: Blaž Hrastnik Date: Mon, 7 Jun 2021 21:32:01 +0900 Subject: lsp: Provide workspace root on client.initialize() --- helix-lsp/src/client.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'helix-lsp/src') diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs index 8a3aabd9..a1c1134a 100644 --- a/helix-lsp/src/client.rs +++ b/helix-lsp/src/client.rs @@ -3,7 +3,7 @@ use crate::{ Call, Error, OffsetEncoding, Result, }; -use helix_core::{ChangeSet, Rope}; +use helix_core::{find_root, ChangeSet, Rope}; // use std::collections::HashMap; use std::future::Future; @@ -218,13 +218,14 @@ impl Client { pub async fn initialize(&mut self) -> Result<()> { // TODO: delay any requests that are triggered prior to initialize + let root = find_root(None).and_then(|root| lsp::Url::from_file_path(root).ok()); #[allow(deprecated)] let params = lsp::InitializeParams { process_id: Some(std::process::id()), + // root_path is obsolete, use root_uri root_path: None, - // root_uri: Some(lsp_types::Url::parse("file://localhost/")?), - root_uri: None, // set to project root in the future + root_uri: root, initialization_options: None, capabilities: lsp::ClientCapabilities { text_document: Some(lsp::TextDocumentClientCapabilities { -- cgit v1.2.3-70-g09d2