diff --git a/crates/squawk_server/src/dispatch.rs b/crates/squawk_server/src/dispatch.rs index 423ba9c4..0e2aea12 100644 --- a/crates/squawk_server/src/dispatch.rs +++ b/crates/squawk_server/src/dispatch.rs @@ -14,10 +14,10 @@ pub(crate) struct RequestDispatcher<'a> { } impl<'a> RequestDispatcher<'a> { - pub(crate) fn new(req: lsp_server::Request, system: &'a mut GlobalState) -> Self { + pub(crate) fn new(req: lsp_server::Request, global_state: &'a mut GlobalState) -> Self { Self { req: Some(req), - global_state: system, + global_state, } } diff --git a/crates/squawk_server/src/handlers/code_action.rs b/crates/squawk_server/src/handlers/code_action.rs index d1a4462b..bc969b2f 100644 --- a/crates/squawk_server/src/handlers/code_action.rs +++ b/crates/squawk_server/src/handlers/code_action.rs @@ -12,15 +12,15 @@ use crate::global_state::Snapshot; use crate::lsp_utils; pub(crate) fn handle_code_action( - system: &Snapshot, + snapshot: &Snapshot, params: CodeActionParams, ) -> Result> { let uri = params.text_document.uri; let mut actions: CodeActionResponse = vec![]; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_index = line_index(db, file); let offset = lsp_utils::offset(&line_index, params.range.start).unwrap(); diff --git a/crates/squawk_server/src/handlers/completion.rs b/crates/squawk_server/src/handlers/completion.rs index a1e20737..9a33460f 100644 --- a/crates/squawk_server/src/handlers/completion.rs +++ b/crates/squawk_server/src/handlers/completion.rs @@ -7,14 +7,14 @@ use crate::global_state::Snapshot; use crate::lsp_utils; pub(crate) fn handle_completion( - system: &Snapshot, + snapshot: &Snapshot, params: CompletionParams, ) -> Result> { let uri = params.text_document_position.text_document.uri; let position = params.text_document_position.position; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_index = line_index(db, file); let Some(offset) = lsp_utils::offset(&line_index, position) else { diff --git a/crates/squawk_server/src/handlers/diagnostic.rs b/crates/squawk_server/src/handlers/diagnostic.rs index 713687a7..70e981c6 100644 --- a/crates/squawk_server/src/handlers/diagnostic.rs +++ b/crates/squawk_server/src/handlers/diagnostic.rs @@ -7,14 +7,14 @@ use lsp_types::{ use crate::global_state::Snapshot; pub(crate) fn handle_document_diagnostic( - system: &Snapshot, + snapshot: &Snapshot, params: DocumentDiagnosticParams, ) -> Result { let uri = params.text_document.uri; - let diagnostics = system + let diagnostics = snapshot .file(&uri) - .map(|file| crate::lint::lint(system.db(), file)) + .map(|file| crate::lint::lint(snapshot.db(), file)) .unwrap_or_default(); Ok(DocumentDiagnosticReportResult::Report( diff --git a/crates/squawk_server/src/handlers/document_symbol.rs b/crates/squawk_server/src/handlers/document_symbol.rs index aa356a6c..df5842ab 100644 --- a/crates/squawk_server/src/handlers/document_symbol.rs +++ b/crates/squawk_server/src/handlers/document_symbol.rs @@ -8,13 +8,13 @@ use crate::global_state::Snapshot; use crate::lsp_utils; pub(crate) fn handle_document_symbol( - system: &Snapshot, + snapshot: &Snapshot, params: DocumentSymbolParams, ) -> Result> { let uri = params.text_document.uri; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_index = line_index(db, file); let symbols = document_symbols(db, file); diff --git a/crates/squawk_server/src/handlers/folding_range.rs b/crates/squawk_server/src/handlers/folding_range.rs index f04f67eb..de0d0e25 100644 --- a/crates/squawk_server/src/handlers/folding_range.rs +++ b/crates/squawk_server/src/handlers/folding_range.rs @@ -7,13 +7,13 @@ use crate::global_state::Snapshot; use crate::lsp_utils; pub(crate) fn handle_folding_range( - system: &Snapshot, + snapshot: &Snapshot, params: FoldingRangeParams, ) -> Result>> { let uri = params.text_document.uri; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_idx = line_index(db, file); let lsp_folds: Vec = folding_ranges(db, file) diff --git a/crates/squawk_server/src/handlers/goto_definition.rs b/crates/squawk_server/src/handlers/goto_definition.rs index 0b01b0e8..6369f94c 100644 --- a/crates/squawk_server/src/handlers/goto_definition.rs +++ b/crates/squawk_server/src/handlers/goto_definition.rs @@ -7,14 +7,14 @@ use crate::global_state::Snapshot; use crate::lsp_utils::{self, to_location}; pub(crate) fn handle_goto_definition( - system: &Snapshot, + snapshot: &Snapshot, params: GotoDefinitionParams, ) -> Result> { let uri = params.text_document_position_params.text_document.uri; let position = params.text_document_position_params.position; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_index = line_index(db, file); let offset = lsp_utils::offset(&line_index, position).unwrap(); @@ -25,7 +25,7 @@ pub(crate) fn handle_goto_definition( !location.range.contains(offset), "Our target destination range must not include the source range otherwise go to def won't work in vscode." ); - to_location(db, system, &uri, location) + to_location(snapshot, &uri, location) }) .collect(); diff --git a/crates/squawk_server/src/handlers/hover.rs b/crates/squawk_server/src/handlers/hover.rs index 3183234d..df2c9665 100644 --- a/crates/squawk_server/src/handlers/hover.rs +++ b/crates/squawk_server/src/handlers/hover.rs @@ -6,12 +6,12 @@ use squawk_ide::hover::hover; use crate::global_state::Snapshot; use crate::lsp_utils; -pub(crate) fn handle_hover(system: &Snapshot, params: HoverParams) -> Result> { +pub(crate) fn handle_hover(snapshot: &Snapshot, params: HoverParams) -> Result> { let uri = params.text_document_position_params.text_document.uri; let position = params.text_document_position_params.position; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_index = line_index(db, file); let offset = lsp_utils::offset(&line_index, position).unwrap(); diff --git a/crates/squawk_server/src/handlers/inlay_hints.rs b/crates/squawk_server/src/handlers/inlay_hints.rs index 73b70166..2140b25a 100644 --- a/crates/squawk_server/src/handlers/inlay_hints.rs +++ b/crates/squawk_server/src/handlers/inlay_hints.rs @@ -10,13 +10,13 @@ use crate::global_state::Snapshot; use crate::lsp_utils; pub(crate) fn handle_inlay_hints( - system: &Snapshot, + snapshot: &Snapshot, params: InlayHintParams, ) -> Result>> { let uri = params.text_document.uri; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_index = line_index(db, file); let hints = inlay_hints(db, file); diff --git a/crates/squawk_server/src/handlers/references.rs b/crates/squawk_server/src/handlers/references.rs index 332ccd9f..2d307533 100644 --- a/crates/squawk_server/src/handlers/references.rs +++ b/crates/squawk_server/src/handlers/references.rs @@ -7,14 +7,14 @@ use crate::global_state::Snapshot; use crate::lsp_utils::{self, to_location}; pub(crate) fn handle_references( - system: &Snapshot, + snapshot: &Snapshot, params: ReferenceParams, ) -> Result>> { let uri = params.text_document_position.text_document.uri; let position = params.text_document_position.position; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let line_index = line_index(db, file); let offset = lsp_utils::offset(&line_index, position).unwrap(); @@ -24,7 +24,7 @@ pub(crate) fn handle_references( let locations: Vec = refs .into_iter() .filter(|loc| include_declaration || !loc.range.contains(offset)) - .filter_map(|loc| to_location(db, system, &uri, loc)) + .filter_map(|loc| to_location(snapshot, &uri, loc)) .collect(); Ok(Some(locations)) diff --git a/crates/squawk_server/src/handlers/selection_range.rs b/crates/squawk_server/src/handlers/selection_range.rs index ea3a3986..39b239e5 100644 --- a/crates/squawk_server/src/handlers/selection_range.rs +++ b/crates/squawk_server/src/handlers/selection_range.rs @@ -7,13 +7,13 @@ use crate::global_state::Snapshot; use crate::lsp_utils; pub(crate) fn handle_selection_range( - system: &Snapshot, + snapshot: &Snapshot, params: SelectionRangeParams, ) -> Result>> { let uri = params.text_document.uri; - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let parse = parse(db, file); let root = parse.syntax_node(); let line_index = line_index(db, file); diff --git a/crates/squawk_server/src/handlers/syntax_tree.rs b/crates/squawk_server/src/handlers/syntax_tree.rs index 2c0fb7f9..8b7e1d6f 100644 --- a/crates/squawk_server/src/handlers/syntax_tree.rs +++ b/crates/squawk_server/src/handlers/syntax_tree.rs @@ -19,13 +19,13 @@ impl Request for SyntaxTreeRequest { const METHOD: &'static str = "squawk/syntaxTree"; } -pub(crate) fn handle_syntax_tree(system: &Snapshot, params: SyntaxTreeParams) -> Result { +pub(crate) fn handle_syntax_tree(snapshot: &Snapshot, params: SyntaxTreeParams) -> Result { let uri = params.text_document.uri; info!("Generating syntax tree for: {uri}"); - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let parse = parse(db, file); let syntax_tree = format!("{:#?}", parse.syntax_node()); diff --git a/crates/squawk_server/src/handlers/tokens.rs b/crates/squawk_server/src/handlers/tokens.rs index 16b19863..4fa2061b 100644 --- a/crates/squawk_server/src/handlers/tokens.rs +++ b/crates/squawk_server/src/handlers/tokens.rs @@ -18,13 +18,13 @@ impl Request for TokensRequest { const METHOD: &'static str = "squawk/tokens"; } -pub(crate) fn handle_tokens(system: &Snapshot, params: TokensParams) -> Result { +pub(crate) fn handle_tokens(snapshot: &Snapshot, params: TokensParams) -> Result { let uri = params.text_document.uri; info!("Generating tokens for: {uri}"); - let db = system.db(); - let file = system.file(&uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(&uri).unwrap(); let content = file.content(db); // TODO: move this to a tracked function diff --git a/crates/squawk_server/src/lsp_utils.rs b/crates/squawk_server/src/lsp_utils.rs index 06d44adf..6c8a42ca 100644 --- a/crates/squawk_server/src/lsp_utils.rs +++ b/crates/squawk_server/src/lsp_utils.rs @@ -211,12 +211,12 @@ pub(crate) fn apply_incremental_changes( } pub(crate) fn to_location( - db: &dyn salsa::Database, - system: &Snapshot, + snapshot: &Snapshot, uri: &Url, loc: squawk_ide::goto_definition::Location, ) -> Option { - let file = system.file(uri).unwrap(); + let db = snapshot.db(); + let file = snapshot.file(uri).unwrap(); let uri = match loc.file { squawk_ide::goto_definition::FileId::Current => uri.clone(), squawk_ide::goto_definition::FileId::Builtins => builtins_url(db)?,