add ast::tokens

This commit is contained in:
Aleksey Kladov 2019-04-02 10:23:18 +03:00
parent f874d372bb
commit ae282d8da6
10 changed files with 124 additions and 119 deletions

View file

@ -1,9 +1,9 @@
use ra_db::SourceDatabase;
use ra_syntax::{
Direction, SyntaxNode, TextRange, TextUnit, AstNode, SyntaxElement,
Direction, SyntaxNode, TextRange, TextUnit, SyntaxElement,
algo::{find_covering_element, find_token_at_offset, TokenAtOffset},
SyntaxKind::*, SyntaxToken,
ast::Comment,
ast::{self, AstNode, AstToken},
};
use crate::{FileRange, db::RootDatabase};
@ -55,7 +55,7 @@ fn try_extend_selection(root: &SyntaxNode, range: TextRange) -> Option<TextRange
if token.range() != range {
return Some(token.range());
}
if let Some(comment) = Comment::cast(token) {
if let Some(comment) = ast::Comment::cast(token) {
if let Some(range) = extend_comments(comment) {
return Some(range);
}
@ -176,7 +176,7 @@ fn extend_list_item(node: &SyntaxNode) -> Option<TextRange> {
None
}
fn extend_comments(comment: Comment) -> Option<TextRange> {
fn extend_comments(comment: ast::Comment) -> Option<TextRange> {
let prev = adj_comments(comment, Direction::Prev);
let next = adj_comments(comment, Direction::Next);
if prev != next {
@ -186,14 +186,14 @@ fn extend_comments(comment: Comment) -> Option<TextRange> {
}
}
fn adj_comments(comment: Comment, dir: Direction) -> Comment {
fn adj_comments(comment: ast::Comment, dir: Direction) -> ast::Comment {
let mut res = comment;
for element in comment.syntax().siblings_with_tokens(dir) {
let token = match element.as_token() {
None => break,
Some(token) => token,
};
if let Some(c) = Comment::cast(token) {
if let Some(c) = ast::Comment::cast(token) {
res = c
} else if token.kind() != WHITESPACE || token.text().contains("\n\n") {
break;

View file

@ -1,9 +1,9 @@
use rustc_hash::FxHashSet;
use ra_syntax::{
AstNode, SourceFile, SyntaxNode, TextRange, Direction, SyntaxElement,
SourceFile, SyntaxNode, TextRange, Direction, SyntaxElement,
SyntaxKind::{self, *},
ast::{self, VisibilityOwner, Comment},
ast::{self, AstNode, AstToken, VisibilityOwner},
};
#[derive(Debug, PartialEq, Eq)]
@ -139,8 +139,8 @@ fn contiguous_range_for_group_unless<'a>(
}
fn contiguous_range_for_comment<'a>(
first: Comment<'a>,
visited: &mut FxHashSet<Comment<'a>>,
first: ast::Comment<'a>,
visited: &mut FxHashSet<ast::Comment<'a>>,
) -> Option<TextRange> {
visited.insert(first);
@ -157,7 +157,7 @@ fn contiguous_range_for_comment<'a>(
continue;
}
}
if let Some(c) = Comment::cast(token) {
if let Some(c) = ast::Comment::cast(token) {
if c.flavor() == group_flavor {
visited.insert(c);
last = c;

View file

@ -1,9 +1,9 @@
use itertools::Itertools;
use ra_syntax::{
SourceFile, TextRange, TextUnit, AstNode, SyntaxNode, SyntaxElement, SyntaxToken,
SourceFile, TextRange, TextUnit, SyntaxNode, SyntaxElement, SyntaxToken,
SyntaxKind::{self, WHITESPACE, COMMA, R_CURLY, R_PAREN, R_BRACK},
algo::{find_covering_element, non_trivia_sibling},
ast,
ast::{self, AstNode, AstToken},
Direction,
};
use ra_fmt::{

View file

@ -2,7 +2,7 @@ use ra_syntax::{
AstNode, SourceFile, SyntaxKind::*,
TextUnit, TextRange, SyntaxToken,
algo::{find_node_at_offset, find_token_at_offset, TokenAtOffset},
ast::{self},
ast::{self, AstToken},
};
use ra_fmt::leading_indent;
use ra_text_edit::{TextEdit, TextEditBuilder};