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 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) (limited to 'crates/ide') 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}; -- cgit v1.2.3