minor: move functionality to a better place

This commit is contained in:
Aleksey Kladov 2021-08-14 20:38:31 +03:00
parent 78c7940f5c
commit 3c49a9f079
4 changed files with 35 additions and 30 deletions

View file

@ -6,9 +6,7 @@ use std::{fmt, iter, ops};
use crate::{
algo,
ast::{self, make, AstNode},
ted, AstToken, NodeOrToken, SyntaxElement,
SyntaxKind::{ATTR, COMMENT, WHITESPACE},
SyntaxNode, SyntaxToken,
ted, AstToken, NodeOrToken, SyntaxElement, SyntaxNode, SyntaxToken,
};
impl ast::UseTree {
@ -48,28 +46,6 @@ impl ast::UseTree {
}
}
pub fn remove_attrs_and_docs<N: ast::AttrsOwner>(node: &N) {
remove_attrs_and_docs_inner(node.syntax())
}
fn remove_attrs_and_docs_inner(node: &SyntaxNode) {
let mut remove_next_ws = false;
for child in node.children_with_tokens() {
match child.kind() {
ATTR | COMMENT => {
remove_next_ws = true;
child.detach();
continue;
}
WHITESPACE if remove_next_ws => {
child.detach();
}
_ => (),
}
remove_next_ws = false;
}
}
#[derive(Debug, Clone, Copy)]
pub struct IndentLevel(pub u8);