diff --git a/src/ide/code_actions/add_missing_trait.rs b/src/ide/code_actions/add_missing_trait.rs index 2445400d..81f46e48 100644 --- a/src/ide/code_actions/add_missing_trait.rs +++ b/src/ide/code_actions/add_missing_trait.rs @@ -15,8 +15,8 @@ use lsp_types::{CodeAction, CodeActionKind, Range, TextEdit, Url, WorkspaceEdit} use tracing::debug; use crate::lang::db::{AnalysisDatabase, LsSemanticGroup, LsSyntaxGroup}; -use crate::lang::inspect::methods::find_methods_for_type; use crate::lang::lsp::{LsProtoGroup, ToLsp}; +use crate::lang::methods::find_methods_for_type; /// Create a Quick Fix code action to add a missing trait given a `CannotCallMethod` diagnostic. pub fn add_missing_trait(db: &AnalysisDatabase, node: &SyntaxNode, uri: Url) -> Vec<CodeAction> { diff --git a/src/ide/completion/completions.rs b/src/ide/completion/completions.rs index 1d6d310c..62abd951 100644 --- a/src/ide/completion/completions.rs +++ b/src/ide/completion/completions.rs @@ -24,8 +24,8 @@ use lsp_types::{CompletionItem, CompletionItemKind, InsertTextFormat, Position, use tracing::debug; use crate::lang::db::{AnalysisDatabase, LsSemanticGroup}; -use crate::lang::inspect::methods::find_methods_for_type; use crate::lang::lsp::ToLsp; +use crate::lang::methods::find_methods_for_type; pub fn generic_completions( db: &AnalysisDatabase, diff --git a/src/ide/hover/render/definition.rs b/src/ide/hover/render/definition.rs index 840a7d22..fcd4e8c2 100644 --- a/src/ide/hover/render/definition.rs +++ b/src/ide/hover/render/definition.rs @@ -9,7 +9,7 @@ use lsp_types::Hover; use crate::ide::hover::markdown_contents; use crate::ide::hover::render::markdown::{RULE, fenced_code_block}; use crate::lang::db::AnalysisDatabase; -use crate::lang::inspect::defs::SymbolDef; +use crate::lang::defs::SymbolDef; use crate::lang::lsp::ToLsp; /// Get declaration and documentation "definition" of an item referred by the given identifier. diff --git a/src/lang/inspect/crates.rs b/src/ide/introspection/crates.rs similarity index 100% rename from src/lang/inspect/crates.rs rename to src/ide/introspection/crates.rs diff --git a/src/ide/introspection/mod.rs b/src/ide/introspection/mod.rs new file mode 100644 index 00000000..b4e0907f --- /dev/null +++ b/src/ide/introspection/mod.rs @@ -0,0 +1,3 @@ +//! Various CairoLS features facilitating introspection of source code analysis state. + +pub mod crates; diff --git a/src/ide/mod.rs b/src/ide/mod.rs index 5d222175..d3c04677 100644 --- a/src/ide/mod.rs +++ b/src/ide/mod.rs @@ -2,6 +2,7 @@ pub mod code_actions; pub mod completion; pub mod formatter; pub mod hover; +pub mod introspection; pub mod macros; pub mod navigation; pub mod semantic_highlighting; diff --git a/src/ide/navigation/goto_definition.rs b/src/ide/navigation/goto_definition.rs index 770f1e00..588b7804 100644 --- a/src/ide/navigation/goto_definition.rs +++ b/src/ide/navigation/goto_definition.rs @@ -2,7 +2,7 @@ use cairo_lang_utils::Upcast; use lsp_types::{GotoDefinitionParams, GotoDefinitionResponse, Location}; use crate::lang::db::{AnalysisDatabase, LsSyntaxGroup}; -use crate::lang::inspect::defs::SymbolDef; +use crate::lang::defs::SymbolDef; use crate::lang::lsp::{LsProtoGroup, ToCairo, ToLsp}; /// Get the definition location of a symbol at a given text document position. diff --git a/src/ide/navigation/references.rs b/src/ide/navigation/references.rs index 9893075f..d8f76135 100644 --- a/src/ide/navigation/references.rs +++ b/src/ide/navigation/references.rs @@ -3,7 +3,7 @@ use itertools::Itertools; use lsp_types::{Location, ReferenceParams}; use crate::lang::db::{AnalysisDatabase, LsSyntaxGroup}; -use crate::lang::inspect::defs::SymbolDef; +use crate::lang::defs::SymbolDef; use crate::lang::lsp::{LsProtoGroup, ToCairo, ToLsp}; pub fn references(params: ReferenceParams, db: &AnalysisDatabase) -> Option<Vec<Location>> { diff --git a/src/lang/inspect/defs.rs b/src/lang/defs.rs similarity index 99% rename from src/lang/inspect/defs.rs rename to src/lang/defs.rs index 101331b9..b084d69d 100644 --- a/src/lang/inspect/defs.rs +++ b/src/lang/defs.rs @@ -31,8 +31,8 @@ use smol_str::SmolStr; use tracing::error; use crate::lang::db::{AnalysisDatabase, LsSemanticGroup, LsSyntaxGroup}; -use crate::lang::inspect::usages::FindUsages; -use crate::lang::inspect::usages::search_scope::SearchScope; +use crate::lang::usages::FindUsages; +use crate::lang::usages::search_scope::SearchScope; /// Keeps information about the symbol that is being searched for/inspected. /// diff --git a/src/lang/inspect/mod.rs b/src/lang/inspect/mod.rs deleted file mode 100644 index 5845a975..00000000 --- a/src/lang/inspect/mod.rs +++ /dev/null @@ -1,6 +0,0 @@ -//! High-level constructs for inspecting language elements from the analysis database. - -pub mod crates; -pub mod defs; -pub mod methods; -pub mod usages; diff --git a/src/lang/inspect/methods.rs b/src/lang/methods.rs similarity index 100% rename from src/lang/inspect/methods.rs rename to src/lang/methods.rs diff --git a/src/lang/mod.rs b/src/lang/mod.rs index e0b4053e..927e69d9 100644 --- a/src/lang/mod.rs +++ b/src/lang/mod.rs @@ -1,5 +1,7 @@ pub mod db; +pub mod defs; pub mod diagnostics; -pub mod inspect; pub mod lsp; +pub mod methods; pub mod proc_macros; +pub mod usages; diff --git a/src/lang/inspect/usages/mod.rs b/src/lang/usages/mod.rs similarity index 99% rename from src/lang/inspect/usages/mod.rs rename to src/lang/usages/mod.rs index bd507484..fa646423 100644 --- a/src/lang/inspect/usages/mod.rs +++ b/src/lang/usages/mod.rs @@ -9,7 +9,7 @@ use memchr::memmem::Finder; use smol_str::format_smolstr; use crate::lang::db::{AnalysisDatabase, LsSyntaxGroup}; -use crate::lang::inspect::defs::SymbolDef; +use crate::lang::defs::SymbolDef; pub mod search_scope; diff --git a/src/lang/inspect/usages/search_scope.rs b/src/lang/usages/search_scope.rs similarity index 100% rename from src/lang/inspect/usages/search_scope.rs rename to src/lang/usages/search_scope.rs diff --git a/src/server/routing/traits.rs b/src/server/routing/traits.rs index ac4273b8..239681ed 100644 --- a/src/server/routing/traits.rs +++ b/src/server/routing/traits.rs @@ -37,7 +37,7 @@ use crate::server::client::{Notifier, Requester}; use crate::server::commands::ServerCommands; use crate::state::{State, StateSnapshot}; use crate::toolchain::info::toolchain_info; -use crate::{Backend, ide, lang}; +use crate::{Backend, ide}; /// A request handler that needs mutable access to the session. /// This will block the main message receiver loop, meaning that no @@ -345,7 +345,7 @@ impl BackgroundDocumentRequestHandler for ViewAnalyzedCrates { _notifier: Notifier, _params: (), ) -> LSPResult<String> { - Ok(lang::inspect::crates::inspect_analyzed_crates(&snapshot.db)) + Ok(ide::introspection::crates::inspect_analyzed_crates(&snapshot.db)) } }