From 5dcdf2ceee2d9fcce9bb2bc5dcbafd5dbfc722b1 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 15 Mar 2021 12:55:27 +0300 Subject: Move code to the appropriate layer StructureNodeKind is a type which is specific to a particular feature, file_structure. It shouldn't be in the "code shared by all ide features" part. --- crates/ide/src/annotations.rs | 4 ++-- crates/ide/src/file_structure.rs | 8 +++++++- crates/ide/src/lib.rs | 4 ++-- crates/ide_db/src/lib.rs | 6 ------ crates/rust-analyzer/src/to_proto.rs | 3 +-- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/crates/ide/src/annotations.rs b/crates/ide/src/annotations.rs index fd317874e..8e0a8fd8d 100644 --- a/crates/ide/src/annotations.rs +++ b/crates/ide/src/annotations.rs @@ -1,7 +1,7 @@ use hir::Semantics; use ide_db::{ base_db::{FileId, FilePosition, FileRange, SourceDatabase}, - RootDatabase, StructureNodeKind, SymbolKind, + RootDatabase, SymbolKind, }; use syntax::TextRange; @@ -11,7 +11,7 @@ use crate::{ goto_implementation::goto_implementation, references::find_all_refs, runnables::{runnables, Runnable}, - NavigationTarget, RunnableKind, + NavigationTarget, RunnableKind, StructureNodeKind, }; // Feature: Annotations diff --git a/crates/ide/src/file_structure.rs b/crates/ide/src/file_structure.rs index c21b3fa77..9f879a66e 100644 --- a/crates/ide/src/file_structure.rs +++ b/crates/ide/src/file_structure.rs @@ -1,4 +1,4 @@ -use ide_db::{StructureNodeKind, SymbolKind}; +use ide_db::SymbolKind; use syntax::{ ast::{self, AttrsOwner, GenericParamsOwner, NameOwner}, match_ast, AstNode, AstToken, NodeOrToken, SourceFile, SyntaxNode, SyntaxToken, TextRange, @@ -16,6 +16,12 @@ pub struct StructureNode { pub deprecated: bool, } +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum StructureNodeKind { + SymbolKind(SymbolKind), + Region, +} + // Feature: File Structure // // Provides a tree of the symbols defined in the file. Can be used to diff --git a/crates/ide/src/lib.rs b/crates/ide/src/lib.rs index a8b169e87..662da5a96 100644 --- a/crates/ide/src/lib.rs +++ b/crates/ide/src/lib.rs @@ -71,7 +71,7 @@ pub use crate::{ diagnostics::{Diagnostic, DiagnosticsConfig, Fix, Severity}, display::navigation_target::NavigationTarget, expand_macro::ExpandedMacro, - file_structure::StructureNode, + file_structure::{StructureNode, StructureNodeKind}, folding_ranges::{Fold, FoldKind}, hover::{HoverAction, HoverConfig, HoverGotoTypeData, HoverResult}, inlay_hints::{InlayHint, InlayHintsConfig, InlayKind}, @@ -101,7 +101,7 @@ pub use ide_db::{ search::{ReferenceAccess, SearchScope}, source_change::{FileSystemEdit, SourceChange}, symbol_index::Query, - RootDatabase, + RootDatabase, SymbolKind, }; pub use ide_ssr::SsrError; pub use syntax::{TextRange, TextSize}; diff --git a/crates/ide_db/src/lib.rs b/crates/ide_db/src/lib.rs index e8cafba43..88ee4a87d 100644 --- a/crates/ide_db/src/lib.rs +++ b/crates/ide_db/src/lib.rs @@ -135,12 +135,6 @@ fn line_index(db: &dyn LineIndexDatabase, file_id: FileId) -> Arc { Arc::new(LineIndex::new(&*text)) } -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] -pub enum StructureNodeKind { - SymbolKind(SymbolKind), - Region, -} - #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] pub enum SymbolKind { Const, diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs index ab742a17c..70eaae5e8 100644 --- a/crates/rust-analyzer/src/to_proto.rs +++ b/crates/rust-analyzer/src/to_proto.rs @@ -9,9 +9,8 @@ use ide::{ CompletionRelevance, Documentation, FileId, FileRange, FileSystemEdit, Fold, FoldKind, Highlight, HlMod, HlPunct, HlRange, HlTag, Indel, InlayHint, InlayKind, InsertTextFormat, Markup, NavigationTarget, ReferenceAccess, RenameError, Runnable, Severity, SourceChange, - TextEdit, TextRange, TextSize, + StructureNodeKind, SymbolKind, TextEdit, TextRange, TextSize, }; -use ide_db::{StructureNodeKind, SymbolKind}; use itertools::Itertools; use serde_json::to_value; -- cgit v1.2.3