diff options
Diffstat (limited to 'crates/ra_syntax/src/syntax_text.rs')
-rw-r--r-- | crates/ra_syntax/src/syntax_text.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/ra_syntax/src/syntax_text.rs b/crates/ra_syntax/src/syntax_text.rs index 2ad98809b..f8ddff48e 100644 --- a/crates/ra_syntax/src/syntax_text.rs +++ b/crates/ra_syntax/src/syntax_text.rs | |||
@@ -13,7 +13,7 @@ pub struct SyntaxText { | |||
13 | 13 | ||
14 | impl SyntaxText { | 14 | impl SyntaxText { |
15 | pub(crate) fn new(node: SyntaxNode) -> SyntaxText { | 15 | pub(crate) fn new(node: SyntaxNode) -> SyntaxText { |
16 | let range = node.range(); | 16 | let range = node.text_range(); |
17 | SyntaxText { node, range } | 17 | SyntaxText { node, range } |
18 | } | 18 | } |
19 | 19 | ||
@@ -24,14 +24,14 @@ impl SyntaxText { | |||
24 | self.node.descendants_with_tokens().try_fold(init, move |acc, element| { | 24 | self.node.descendants_with_tokens().try_fold(init, move |acc, element| { |
25 | let res = match element { | 25 | let res = match element { |
26 | SyntaxElement::Token(token) => { | 26 | SyntaxElement::Token(token) => { |
27 | let range = match self.range.intersection(&token.range()) { | 27 | let range = match self.range.intersection(&token.text_range()) { |
28 | None => return Ok(acc), | 28 | None => return Ok(acc), |
29 | Some(it) => it, | 29 | Some(it) => it, |
30 | }; | 30 | }; |
31 | let slice = if range == token.range() { | 31 | let slice = if range == token.text_range() { |
32 | token.text() | 32 | token.text() |
33 | } else { | 33 | } else { |
34 | let range = range - token.range().start(); | 34 | let range = range - token.text_range().start(); |
35 | &token.text()[range] | 35 | &token.text()[range] |
36 | }; | 36 | }; |
37 | f(acc, slice)? | 37 | f(acc, slice)? |