From dd6307ddc4535bef09e2b14caff5acfaeb88891e Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Tue, 12 Feb 2019 21:47:51 +0200 Subject: Add support for container_name in workspace/symbol query --- crates/ra_ide_api/src/navigation_target.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'crates/ra_ide_api/src/navigation_target.rs') diff --git a/crates/ra_ide_api/src/navigation_target.rs b/crates/ra_ide_api/src/navigation_target.rs index a2e4b6506..bcacbe6fc 100644 --- a/crates/ra_ide_api/src/navigation_target.rs +++ b/crates/ra_ide_api/src/navigation_target.rs @@ -19,6 +19,7 @@ pub struct NavigationTarget { kind: SyntaxKind, full_range: TextRange, focus_range: Option, + container_name: Option, } impl NavigationTarget { @@ -26,6 +27,10 @@ impl NavigationTarget { &self.name } + pub fn container_name(&self) -> Option<&SmolStr> { + self.container_name.as_ref() + } + pub fn kind(&self) -> SyntaxKind { self.kind } @@ -53,6 +58,7 @@ impl NavigationTarget { kind: symbol.ptr.kind(), full_range: symbol.ptr.range(), focus_range: None, + container_name: symbol.container_name.map(|v| v.clone()), } } @@ -67,6 +73,7 @@ impl NavigationTarget { full_range: ptr.range(), focus_range: None, kind: NAME, + container_name: None, } } @@ -170,6 +177,9 @@ impl NavigationTarget { if let Some(focus_range) = self.focus_range() { buf.push_str(&format!(" {:?}", focus_range)) } + if let Some(container_name) = self.container_name() { + buf.push_str(&format!(" {:?}", container_name)) + } buf } @@ -192,6 +202,7 @@ impl NavigationTarget { full_range: node.range(), focus_range, // ptr: Some(LocalSyntaxPtr::new(node)), + container_name: None, } } } -- cgit v1.2.3