Skip to content

Commit 566bb77

Browse files
scip: Populate SymbolInformation::signature_documentation
1 parent b249149 commit 566bb77

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

crates/ide/src/static_index.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ pub struct TokenStaticData {
4848
pub moniker: Option<MonikerResult>,
4949
pub display_name: Option<String>,
5050
pub enclosing_moniker: Option<MonikerResult>,
51+
pub signature: Option<String>,
5152
}
5253

5354
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
@@ -178,6 +179,7 @@ impl StaticIndex<'_> {
178179
enclosing_moniker: current_crate
179180
.zip(def.enclosing_definition(self.db))
180181
.and_then(|(cc, enclosing_def)| def_to_moniker(self.db, enclosing_def, cc)),
182+
signature: def.label(self.db),
181183
});
182184
self.def_map.insert(def, it);
183185
it

crates/rust-analyzer/src/cli/scip.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,21 @@ impl flags::Scip {
143143
.map(|hover| hover.markup.as_str())
144144
.filter(|it| !it.is_empty())
145145
.map(|it| vec![it.to_owned()]);
146+
let signature_documentation =
147+
token.signature.clone().map(|text| scip_types::Document {
148+
relative_path: relative_path.clone(),
149+
language: "rust".to_string(),
150+
text,
151+
..Default::default()
152+
});
146153
let symbol_info = scip_types::SymbolInformation {
147154
symbol: symbol.clone(),
148155
documentation: documentation.unwrap_or_default(),
149156
relationships: Vec::new(),
150157
special_fields: Default::default(),
151158
kind: Default::default(),
152159
display_name: token.display_name.clone().unwrap_or_default(),
153-
signature_documentation: Default::default(),
160+
signature_documentation: signature_documentation.into(),
154161
enclosing_symbol: enclosing_symbol.unwrap_or_default(),
155162
};
156163

0 commit comments

Comments
 (0)