Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_db/src/symbol_index.rs')
| -rw-r--r-- | crates/ide_db/src/symbol_index.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/crates/ide_db/src/symbol_index.rs b/crates/ide_db/src/symbol_index.rs index cc2b2bbb7b..e8c6ec3e0e 100644 --- a/crates/ide_db/src/symbol_index.rs +++ b/crates/ide_db/src/symbol_index.rs @@ -44,7 +44,7 @@ use rayon::prelude::*; use rustc_hash::FxHashSet; use syntax::{ast::HasName, AstNode, SmolStr, SyntaxNode, SyntaxNodePtr}; -use crate::RootDatabase; +use crate::{RootDatabase, SymbolKind}; #[derive(Debug)] pub struct Query { @@ -430,6 +430,23 @@ impl FileSymbolKind { } } +impl From<FileSymbolKind> for SymbolKind { + fn from(it: FileSymbolKind) -> Self { + match it { + FileSymbolKind::Const => SymbolKind::Const, + FileSymbolKind::Enum => SymbolKind::Enum, + FileSymbolKind::Function => SymbolKind::Function, + FileSymbolKind::Macro => SymbolKind::Macro, + FileSymbolKind::Module => SymbolKind::Module, + FileSymbolKind::Static => SymbolKind::Static, + FileSymbolKind::Struct => SymbolKind::Struct, + FileSymbolKind::Trait => SymbolKind::Trait, + FileSymbolKind::TypeAlias => SymbolKind::TypeAlias, + FileSymbolKind::Union => SymbolKind::Union, + } + } +} + /// Represents an outstanding module that the symbol collector must collect symbols from. struct SymbolCollectorWork { module_id: ModuleId, |