From 10d8e91b6c344d3378eaa5be1967da9b1eb713ae Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Wed, 25 Sep 2024 12:12:39 +0800 Subject: [PATCH] save --- src/completion.rs | 12 ++++++------ src/core/sv_parser.rs | 1 + src/server.rs | 6 +++--- src/sources.rs | 18 ++++++++++-------- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/completion.rs b/src/completion.rs index e1d8aeb..7426abe 100644 --- a/src/completion.rs +++ b/src/completion.rs @@ -239,7 +239,7 @@ endmodule text: text.to_owned(), }, }; - server.did_open(open_params, None); + server.did_open(open_params); let fid = server.srcs.get_id(&uri); server.srcs.wait_parse_ready(fid, true); @@ -357,7 +357,7 @@ endmodule text: text.to_owned(), }, }; - server.did_open(open_params, None); + server.did_open(open_params); let fid = server.srcs.get_id(&uri); server.srcs.wait_parse_ready(fid, true); @@ -477,7 +477,7 @@ endmodule text: text.to_owned(), }, }; - server.did_open(open_params, None); + server.did_open(open_params); let fid = server.srcs.get_id(&uri); server.srcs.wait_parse_ready(fid, true); let file = server.srcs.get_file(fid).unwrap(); @@ -566,7 +566,7 @@ endmodule text: text.to_owned(), }, }; - server.did_open(open_params, None); + server.did_open(open_params); let fid = server.srcs.get_id(&uri); server.srcs.wait_parse_ready(fid, true); let file = server.srcs.get_file(fid).unwrap(); @@ -738,8 +738,8 @@ endinterface"#; text: text2.to_owned(), }, }; - server.did_open(open_params, None); - server.did_open(open_params2, None); + server.did_open(open_params); + server.did_open(open_params2); let fid = server.srcs.get_id(&uri); let fid2 = server.srcs.get_id(&uri2); server.srcs.wait_parse_ready(fid, true); diff --git a/src/core/sv_parser.rs b/src/core/sv_parser.rs index 54fe03b..a8f70a7 100644 --- a/src/core/sv_parser.rs +++ b/src/core/sv_parser.rs @@ -9,6 +9,7 @@ use sv_parser::{parse_sv, unwrap_node, Locate, RefNode, SyntaxTree}; use super::fast_hdlparam::{FastHdlparam, Macro}; +#[allow(unused)] pub fn sv_parser(path: &str) -> Option { // The path of SystemVerilog source file let path = PathBuf::from(path); diff --git a/src/server.rs b/src/server.rs index affd29d..d985fd1 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,7 +1,7 @@ -use crate::custom_request::StringNotification; use crate::sources::*; use crate::completion::keyword::*; use flexi_logger::LoggerHandle; +#[allow(unused)] use log::{debug, info, warn}; use once_cell::sync::OnceCell; use path_clean::PathClean; @@ -255,7 +255,7 @@ impl LanguageServer for Backend { drop(inc_dirs); drop(src_dirs); // parse all source files found from walking source dirs and include dirs - self.server.srcs.init(Some(&self)); + self.server.srcs.init(); Ok(InitializeResult { server_info: None, capabilities: ServerCapabilities { @@ -308,7 +308,7 @@ impl LanguageServer for Backend { } async fn did_open(&self, params: DidOpenTextDocumentParams) { - let diagnostics = self.server.did_open(params, Some(&self)); + let diagnostics = self.server.did_open(params); self.client .publish_diagnostics( diagnostics.uri, diff --git a/src/sources.rs b/src/sources.rs index dc0fbcb..a9667b8 100644 --- a/src/sources.rs +++ b/src/sources.rs @@ -3,9 +3,9 @@ use crate::custom_request::update_fast_to_client; use crate::definition::def_types::*; use crate::definition::get_scopes; use crate::diagnostics::{get_diagnostics, is_hidden}; -use crate::server::Backend; use crate::server::LSPServer; use futures::executor::block_on; +#[allow(unused)] use log::info; use log::{debug, error}; use pathdiff::diff_paths; @@ -14,6 +14,7 @@ use std::cmp::min; use std::collections::HashMap; use std::env::current_dir; use std::fs; +#[allow(unused)] use std::ops::Deref; use std::ops::Range as StdRange; use std::path::PathBuf; @@ -34,7 +35,7 @@ macro_rules! unwrap_result { } impl LSPServer { - pub fn did_open(&self, params: DidOpenTextDocumentParams, backend: Option<&Backend>) -> PublishDiagnosticsParams { + pub fn did_open(&self, params: DidOpenTextDocumentParams) -> PublishDiagnosticsParams { let document: TextDocumentItem = params.text_document; let uri = document.uri.clone(); @@ -50,7 +51,7 @@ impl LSPServer { }], }); } else { - self.srcs.add(document, backend); + self.srcs.add(document); } // diagnostics let urls = self.srcs.names.read().unwrap().keys().cloned().collect(); @@ -114,6 +115,7 @@ pub struct Source { pub struct SourceMeta { pub id: usize, pub valid_parse: Arc<(Mutex, Condvar)>, + #[allow(unused)] pub parse_handle: JoinHandle<()>, } @@ -175,7 +177,7 @@ impl Sources { source_dirs: Arc::new(RwLock::new(Vec::new())), } } - pub fn init(&self, backend: Option<&Backend>) { + pub fn init(&self) { let mut paths: Vec = Vec::new(); for path in &*self.include_dirs.read().unwrap() { paths.push(path.clone()); @@ -195,12 +197,12 @@ impl Sources { -1, text, ); - self.add(doc, backend); + self.add(doc); } } /// 增加一个 hdl 文件,并为该文件添加单独的解析线程 - pub fn add(&self, doc: TextDocumentItem, backend: Option<&Backend>) { + pub fn add(&self, doc: TextDocumentItem) { // use a condvar to synchronize the parse thread // the valid bool decides whether or not the file // needs to be re-parsed @@ -582,7 +584,7 @@ endmodule"#; text: text.to_owned(), }, }; - server.did_open(open_params, None); + server.did_open(open_params); let fid = server.srcs.get_id(&uri); let file = server.srcs.get_file(fid).unwrap(); let file = file.read().unwrap(); @@ -635,7 +637,7 @@ endmodule"#; text: text.to_owned(), }, }; - server.did_open(open_params, None); + server.did_open(open_params); let fid = server.srcs.get_id(&uri); server.srcs.wait_parse_ready(fid, true);