mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
Maybe everything else *should* have to deal with it
This commit is contained in:
parent
2fe38d3b63
commit
37443eb9a1
10 changed files with 34 additions and 39 deletions
|
@ -260,23 +260,19 @@ fn convert_tokens<C: TokenConvertor>(conv: &mut C) -> tt::Subtree {
|
|||
IDENT => make_leaf!(Ident),
|
||||
UNDERSCORE => make_leaf!(Ident),
|
||||
k if k.is_keyword() => make_leaf!(Ident),
|
||||
FLOAT_NUMBER_PART => {
|
||||
FLOAT_NUMBER_START_0 | FLOAT_NUMBER_START_1 | FLOAT_NUMBER_START_2 => {
|
||||
// Reassemble a split-up float token.
|
||||
let mut range = range;
|
||||
let mut text = token.to_text(conv).to_string();
|
||||
if let Some(dot) = conv.peek() {
|
||||
if dot.kind(conv) == DOT {
|
||||
let (_, dot_range) = conv.bump().unwrap();
|
||||
text += &*dot.to_text(conv);
|
||||
range = TextRange::new(range.start(), dot_range.end());
|
||||
if kind == FLOAT_NUMBER_START_1 || kind == FLOAT_NUMBER_START_2 {
|
||||
let (dot, dot_range) = conv.bump().unwrap();
|
||||
text += &*dot.to_text(conv);
|
||||
range = TextRange::new(range.start(), dot_range.end());
|
||||
|
||||
if let Some(tail) = conv.peek() {
|
||||
if tail.kind(conv) == FLOAT_NUMBER_PART {
|
||||
let (_, tail_range) = conv.bump().unwrap();
|
||||
text += &*tail.to_text(conv);
|
||||
range = TextRange::new(range.start(), tail_range.end());
|
||||
}
|
||||
}
|
||||
if kind == FLOAT_NUMBER_START_2 {
|
||||
let (tail, tail_range) = conv.bump().unwrap();
|
||||
text += &*tail.to_text(conv);
|
||||
range = TextRange::new(range.start(), tail_range.end());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue