diff options
Diffstat (limited to 'crates/ra_syntax/src')
-rw-r--r-- | crates/ra_syntax/src/algo/mod.rs | 5 | ||||
-rw-r--r-- | crates/ra_syntax/src/ast/mod.rs | 16 | ||||
-rw-r--r-- | crates/ra_syntax/src/lib.rs | 4 | ||||
-rw-r--r-- | crates/ra_syntax/src/utils.rs | 4 |
4 files changed, 16 insertions, 13 deletions
diff --git a/crates/ra_syntax/src/algo/mod.rs b/crates/ra_syntax/src/algo/mod.rs index f92529d3e..faf5a6211 100644 --- a/crates/ra_syntax/src/algo/mod.rs +++ b/crates/ra_syntax/src/algo/mod.rs | |||
@@ -1,10 +1,7 @@ | |||
1 | pub mod visit; | 1 | pub mod visit; |
2 | // pub mod walk; | 2 | // pub mod walk; |
3 | 3 | ||
4 | use crate::{ | 4 | use crate::{text_utils::contains_offset_nonstrict, SyntaxNodeRef, TextRange, TextUnit}; |
5 | text_utils::{contains_offset_nonstrict}, | ||
6 | SyntaxNodeRef, TextRange, TextUnit, | ||
7 | }; | ||
8 | 5 | ||
9 | pub fn find_leaf_at_offset(node: SyntaxNodeRef, offset: TextUnit) -> LeafAtOffset { | 6 | pub fn find_leaf_at_offset(node: SyntaxNodeRef, offset: TextUnit) -> LeafAtOffset { |
10 | let range = node.range(); | 7 | let range = node.range(); |
diff --git a/crates/ra_syntax/src/ast/mod.rs b/crates/ra_syntax/src/ast/mod.rs index 3aa11b9dd..688ffff47 100644 --- a/crates/ra_syntax/src/ast/mod.rs +++ b/crates/ra_syntax/src/ast/mod.rs | |||
@@ -66,7 +66,9 @@ pub trait AttrsOwner<'a>: AstNode<'a> { | |||
66 | } | 66 | } |
67 | 67 | ||
68 | pub trait DocCommentsOwner<'a>: AstNode<'a> { | 68 | pub trait DocCommentsOwner<'a>: AstNode<'a> { |
69 | fn doc_comments(self) -> AstChildren<'a, Comment<'a>> { children(self) } | 69 | fn doc_comments(self) -> AstChildren<'a, Comment<'a>> { |
70 | children(self) | ||
71 | } | ||
70 | 72 | ||
71 | /// Returns the textual content of a doc comment block as a single string. | 73 | /// Returns the textual content of a doc comment block as a single string. |
72 | /// That is, strips leading `///` and joins lines | 74 | /// That is, strips leading `///` and joins lines |
@@ -74,12 +76,15 @@ pub trait DocCommentsOwner<'a>: AstNode<'a> { | |||
74 | self.doc_comments() | 76 | self.doc_comments() |
75 | .map(|comment| { | 77 | .map(|comment| { |
76 | let prefix = comment.prefix(); | 78 | let prefix = comment.prefix(); |
77 | let trimmed = comment.text().as_str() | 79 | let trimmed = comment |
80 | .text() | ||
81 | .as_str() | ||
78 | .trim() | 82 | .trim() |
79 | .trim_start_matches(prefix) | 83 | .trim_start_matches(prefix) |
80 | .trim_start(); | 84 | .trim_start(); |
81 | trimmed.to_owned() | 85 | trimmed.to_owned() |
82 | }).join("\n") | 86 | }) |
87 | .join("\n") | ||
83 | } | 88 | } |
84 | } | 89 | } |
85 | 90 | ||
@@ -250,7 +255,6 @@ impl<'a> IfExpr<'a> { | |||
250 | } | 255 | } |
251 | } | 256 | } |
252 | 257 | ||
253 | |||
254 | #[derive(Debug, Clone, Copy)] | 258 | #[derive(Debug, Clone, Copy)] |
255 | pub enum PathSegmentKind<'a> { | 259 | pub enum PathSegmentKind<'a> { |
256 | Name(NameRef<'a>), | 260 | Name(NameRef<'a>), |
@@ -261,7 +265,9 @@ pub enum PathSegmentKind<'a> { | |||
261 | 265 | ||
262 | impl<'a> PathSegment<'a> { | 266 | impl<'a> PathSegment<'a> { |
263 | pub fn parent_path(self) -> Path<'a> { | 267 | pub fn parent_path(self) -> Path<'a> { |
264 | self.syntax().parent().and_then(Path::cast) | 268 | self.syntax() |
269 | .parent() | ||
270 | .and_then(Path::cast) | ||
265 | .expect("segments are always nested in paths") | 271 | .expect("segments are always nested in paths") |
266 | } | 272 | } |
267 | 273 | ||
diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs index 3698eccd7..79394fd53 100644 --- a/crates/ra_syntax/src/lib.rs +++ b/crates/ra_syntax/src/lib.rs | |||
@@ -52,7 +52,9 @@ pub use crate::{ | |||
52 | reparsing::AtomEdit, | 52 | reparsing::AtomEdit, |
53 | rowan::{SmolStr, TextRange, TextUnit}, | 53 | rowan::{SmolStr, TextRange, TextUnit}, |
54 | syntax_kinds::SyntaxKind, | 54 | syntax_kinds::SyntaxKind, |
55 | yellow::{Direction, OwnedRoot, RefRoot, SyntaxError, SyntaxNode, SyntaxNodeRef, TreeRoot, WalkEvent}, | 55 | yellow::{ |
56 | Direction, OwnedRoot, RefRoot, SyntaxError, SyntaxNode, SyntaxNodeRef, TreeRoot, WalkEvent, | ||
57 | }, | ||
56 | }; | 58 | }; |
57 | 59 | ||
58 | use crate::yellow::GreenNode; | 60 | use crate::yellow::GreenNode; |
diff --git a/crates/ra_syntax/src/utils.rs b/crates/ra_syntax/src/utils.rs index 8ee02724d..00f00139a 100644 --- a/crates/ra_syntax/src/utils.rs +++ b/crates/ra_syntax/src/utils.rs | |||
@@ -1,6 +1,4 @@ | |||
1 | use crate::{ | 1 | use crate::{File, SyntaxKind, SyntaxNodeRef, WalkEvent}; |
2 | File, SyntaxKind, SyntaxNodeRef, WalkEvent | ||
3 | }; | ||
4 | use std::fmt::Write; | 2 | use std::fmt::Write; |
5 | 3 | ||
6 | /// Parse a file and create a string representation of the resulting parse tree. | 4 | /// Parse a file and create a string representation of the resulting parse tree. |