Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/static_index.rs')
-rw-r--r--crates/ide/src/static_index.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/crates/ide/src/static_index.rs b/crates/ide/src/static_index.rs
index 3724dc2822..5b7094e6bc 100644
--- a/crates/ide/src/static_index.rs
+++ b/crates/ide/src/static_index.rs
@@ -17,7 +17,7 @@ use crate::navigation_target::UpmappingResult;
use crate::{
hover::hover_for_definition,
inlay_hints::AdjustmentHintsMode,
- moniker::{def_to_moniker, MonikerResult},
+ moniker::{def_to_kind, def_to_moniker, MonikerResult, SymbolInformationKind},
parent_module::crates_for,
Analysis, Fold, HoverConfig, HoverResult, InlayHint, InlayHintsConfig, TryToNav,
};
@@ -46,6 +46,10 @@ pub struct TokenStaticData {
pub definition: Option<FileRange>,
pub references: Vec<ReferenceData>,
pub moniker: Option<MonikerResult>,
+ pub display_name: Option<String>,
+ pub enclosing_moniker: Option<MonikerResult>,
+ pub signature: Option<String>,
+ pub kind: SymbolInformationKind,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
@@ -129,6 +133,7 @@ impl StaticIndex<'_> {
closure_capture_hints: false,
closing_brace_hints_min_lines: Some(25),
fields_to_resolve: InlayFieldsToResolve::empty(),
+ range_exclusive_hints: false,
},
file_id,
None,
@@ -172,6 +177,12 @@ impl StaticIndex<'_> {
}),
references: vec![],
moniker: current_crate.and_then(|cc| def_to_moniker(self.db, def, cc)),
+ display_name: def.name(self.db).map(|name| name.display(self.db).to_string()),
+ enclosing_moniker: current_crate
+ .zip(def.enclosing_definition(self.db))
+ .and_then(|(cc, enclosing_def)| def_to_moniker(self.db, enclosing_def, cc)),
+ signature: def.label(self.db),
+ kind: def_to_kind(self.db, def),
});
self.def_map.insert(def, it);
it