Minor
This commit is contained in:
parent
f0a9128761
commit
80c241b39a
@ -4,9 +4,7 @@ use std::iter::successors;
|
||||
|
||||
use syntax::{
|
||||
ast::{self, AstToken},
|
||||
SmolStr, SyntaxKind,
|
||||
SyntaxKind::*,
|
||||
SyntaxNode, SyntaxToken, T,
|
||||
SmolStr, SyntaxNode, SyntaxToken,
|
||||
};
|
||||
|
||||
/// If the node is on the beginning of the line, calculate indent.
|
||||
@ -28,26 +26,3 @@ pub fn leading_indent(node: &SyntaxNode) -> Option<SmolStr> {
|
||||
fn prev_tokens(token: SyntaxToken) -> impl Iterator<Item = SyntaxToken> {
|
||||
successors(token.prev_token(), |token| token.prev_token())
|
||||
}
|
||||
|
||||
pub fn compute_ws(left: SyntaxKind, right: SyntaxKind) -> &'static str {
|
||||
match left {
|
||||
T!['('] | T!['['] => return "",
|
||||
T!['{'] => {
|
||||
if let USE_TREE = right {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
match right {
|
||||
T![')'] | T![']'] => return "",
|
||||
T!['}'] => {
|
||||
if let USE_TREE = left {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
T![.] => return "",
|
||||
_ => (),
|
||||
}
|
||||
" "
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
use itertools::Itertools;
|
||||
use ra_assists::utils::extract_trivial_expression;
|
||||
use ra_fmt::compute_ws;
|
||||
use syntax::{
|
||||
algo::{find_covering_element, non_trivia_sibling},
|
||||
ast::{self, AstNode, AstToken},
|
||||
Direction, NodeOrToken, SourceFile,
|
||||
SyntaxKind::{self, WHITESPACE},
|
||||
SyntaxKind::{self, USE_TREE, WHITESPACE},
|
||||
SyntaxNode, SyntaxToken, TextRange, TextSize, T,
|
||||
};
|
||||
use text_edit::{TextEdit, TextEditBuilder};
|
||||
@ -169,6 +168,29 @@ fn is_trailing_comma(left: SyntaxKind, right: SyntaxKind) -> bool {
|
||||
matches!((left, right), (T![,], T![')']) | (T![,], T![']']))
|
||||
}
|
||||
|
||||
fn compute_ws(left: SyntaxKind, right: SyntaxKind) -> &'static str {
|
||||
match left {
|
||||
T!['('] | T!['['] => return "",
|
||||
T!['{'] => {
|
||||
if let USE_TREE = right {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
match right {
|
||||
T![')'] | T![']'] => return "",
|
||||
T!['}'] => {
|
||||
if let USE_TREE = left {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
T![.] => return "",
|
||||
_ => (),
|
||||
}
|
||||
" "
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use syntax::SourceFile;
|
||||
|
Loading…
x
Reference in New Issue
Block a user