aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
Diffstat (limited to 'crates')
-rw-r--r--crates/ra_hir_expand/src/name.rs5
-rw-r--r--crates/ra_ide/src/expand.rs5
-rw-r--r--crates/ra_lsp_server/src/caps.rs1
3 files changed, 8 insertions, 3 deletions
diff --git a/crates/ra_hir_expand/src/name.rs b/crates/ra_hir_expand/src/name.rs
index e62693b68..b3fa1efba 100644
--- a/crates/ra_hir_expand/src/name.rs
+++ b/crates/ra_hir_expand/src/name.rs
@@ -93,7 +93,10 @@ impl AsName for ast::FieldKind {
93 fn as_name(&self) -> Name { 93 fn as_name(&self) -> Name {
94 match self { 94 match self {
95 ast::FieldKind::Name(nr) => nr.as_name(), 95 ast::FieldKind::Name(nr) => nr.as_name(),
96 ast::FieldKind::Index(idx) => Name::new_tuple_field(idx.text().parse().unwrap()), 96 ast::FieldKind::Index(idx) => {
97 let idx = idx.text().parse::<usize>().unwrap_or(0);
98 Name::new_tuple_field(idx)
99 }
97 } 100 }
98 } 101 }
99} 102}
diff --git a/crates/ra_ide/src/expand.rs b/crates/ra_ide/src/expand.rs
index 7a22bb0a4..b82259a3d 100644
--- a/crates/ra_ide/src/expand.rs
+++ b/crates/ra_ide/src/expand.rs
@@ -76,14 +76,15 @@ pub(crate) fn descend_into_macros(
76) -> InFile<SyntaxToken> { 76) -> InFile<SyntaxToken> {
77 let src = InFile::new(file_id.into(), token); 77 let src = InFile::new(file_id.into(), token);
78 78
79 let source_analyzer =
80 hir::SourceAnalyzer::new(db, src.with_value(src.value.parent()).as_ref(), None);
81
79 successors(Some(src), |token| { 82 successors(Some(src), |token| {
80 let macro_call = token.value.ancestors().find_map(ast::MacroCall::cast)?; 83 let macro_call = token.value.ancestors().find_map(ast::MacroCall::cast)?;
81 let tt = macro_call.token_tree()?; 84 let tt = macro_call.token_tree()?;
82 if !token.value.text_range().is_subrange(&tt.syntax().text_range()) { 85 if !token.value.text_range().is_subrange(&tt.syntax().text_range()) {
83 return None; 86 return None;
84 } 87 }
85 let source_analyzer =
86 hir::SourceAnalyzer::new(db, token.with_value(token.value.parent()).as_ref(), None);
87 let exp = source_analyzer.expand(db, token.with_value(&macro_call))?; 88 let exp = source_analyzer.expand(db, token.with_value(&macro_call))?;
88 exp.map_token_down(db, token.as_ref()) 89 exp.map_token_down(db, token.as_ref())
89 }) 90 })
diff --git a/crates/ra_lsp_server/src/caps.rs b/crates/ra_lsp_server/src/caps.rs
index adfc9fb2c..db502c200 100644
--- a/crates/ra_lsp_server/src/caps.rs
+++ b/crates/ra_lsp_server/src/caps.rs
@@ -56,6 +56,7 @@ pub fn server_capabilities() -> ServerCapabilities {
56 color_provider: None, 56 color_provider: None,
57 execute_command_provider: None, 57 execute_command_provider: None,
58 workspace: None, 58 workspace: None,
59 call_hierarchy_provider: None,
59 experimental: Default::default(), 60 experimental: Default::default(),
60 } 61 }
61} 62}