about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Guichard <nicolas.guichard@kdab.com>2023-12-08 16:52:31 +0100
committerNicolas Guichard <nicolas.guichard@kdab.com>2024-01-03 10:54:57 +0100
commit375f1cca4fe90d8deffd7e84b7cb6594b7ccca3b (patch)
tree2109cfcb2807b59d6585ed1903056cba037461b2
parent426d2842c1f0e5cc5e34bb37c7ac3ee0945f9746 (diff)
downloadrust-375f1cca4fe90d8deffd7e84b7cb6594b7ccca3b.tar.gz
rust-375f1cca4fe90d8deffd7e84b7cb6594b7ccca3b.zip
scip: Populate SymbolInformation::display_name
-rw-r--r--crates/ide/src/static_index.rs2
-rw-r--r--crates/rust-analyzer/src/cli/scip.rs2
2 files changed, 3 insertions, 1 deletions
diff --git a/crates/ide/src/static_index.rs b/crates/ide/src/static_index.rs
index 3724dc28221..52f1a44615f 100644
--- a/crates/ide/src/static_index.rs
+++ b/crates/ide/src/static_index.rs
@@ -46,6 +46,7 @@ pub struct TokenStaticData {
     pub definition: Option<FileRange>,
     pub references: Vec<ReferenceData>,
     pub moniker: Option<MonikerResult>,
+    pub display_name: Option<String>,
 }
 
 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
@@ -172,6 +173,7 @@ 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()),
                 });
                 self.def_map.insert(def, it);
                 it
diff --git a/crates/rust-analyzer/src/cli/scip.rs b/crates/rust-analyzer/src/cli/scip.rs
index 95c8798d43c..af2cdcb28ef 100644
--- a/crates/rust-analyzer/src/cli/scip.rs
+++ b/crates/rust-analyzer/src/cli/scip.rs
@@ -134,7 +134,7 @@ impl flags::Scip {
                             relationships: Vec::new(),
                             special_fields: Default::default(),
                             kind: Default::default(),
-                            display_name: String::new(),
+                            display_name: token.display_name.clone().unwrap_or_default(),
                             signature_documentation: Default::default(),
                             enclosing_symbol: String::new(),
                         };