Skip to content

Commit b2829a5

Browse files
ltentrupbjorn3
andcommitted
Apply suggestions from code review
Co-Authored-By: bjorn3 <[email protected]>
1 parent ac798e1 commit b2829a5

File tree

2 files changed

+32
-34
lines changed

2 files changed

+32
-34
lines changed

crates/ra_ide/src/syntax_highlighting.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ pub(crate) fn highlight(
194194
let token = sema.descend_into_macros(token.clone());
195195
let parent = token.parent();
196196

197-
// Check if macro takes a format string and remeber it for highlighting later.
197+
// Check if macro takes a format string and remember it for highlighting later.
198198
// The macros that accept a format string expand to a compiler builtin macros
199199
// `format_args` and `format_args_nl`.
200200
if let Some(fmt_macro_call) = parent.parent().and_then(ast::MacroCall::cast) {
@@ -233,8 +233,7 @@ pub(crate) fn highlight(
233233
}
234234
}
235235

236-
let is_format_string =
237-
format_string.as_ref().map(|fs| fs == &element_to_highlight).unwrap_or_default();
236+
let is_format_string = format_string.as_ref() == Some(&element_to_highlight);
238237

239238
if let Some((highlight, binding_hash)) =
240239
highlight_element(&sema, &mut bindings_shadow_count, element_to_highlight.clone())
@@ -245,7 +244,7 @@ pub(crate) fn highlight(
245244
{
246245
stack.push();
247246
if is_format_string {
248-
string.lex_format_specifier(&mut |piece_range, kind| {
247+
string.lex_format_specifier(|piece_range, kind| {
249248
let highlight = match kind {
250249
FormatSpecifier::Open
251250
| FormatSpecifier::Close

crates/ra_syntax/src/ast/tokens.rs

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ pub enum FormatSpecifier {
192192
}
193193

194194
pub trait HasFormatSpecifier: AstToken {
195-
fn lex_format_specifier<F>(&self, callback: &mut F)
195+
fn lex_format_specifier<F>(&self, mut callback: F)
196196
where
197197
F: FnMut(TextRange, FormatSpecifier),
198198
{
@@ -217,21 +217,15 @@ pub trait HasFormatSpecifier: AstToken {
217217
FormatSpecifier::Open,
218218
);
219219

220-
let next_char = if let Some(c) = chars.clone().next() {
221-
c
222-
} else {
223-
break;
224-
};
225-
226220
// check for integer/identifier
227-
match next_char {
221+
match chars.clone().next().unwrap_or_default() {
228222
'0'..='9' => {
229223
// integer
230-
read_integer(&mut chars, initial_len, callback);
224+
read_integer(&mut chars, initial_len, &mut callback);
231225
}
232226
'a'..='z' | 'A'..='Z' | '_' => {
233227
// identifier
234-
read_identifier(&mut chars, initial_len, callback);
228+
read_identifier(&mut chars, initial_len, &mut callback);
235229
}
236230
_ => {}
237231
}
@@ -241,7 +235,7 @@ pub trait HasFormatSpecifier: AstToken {
241235
&mut chars,
242236
initial_len,
243237
FormatSpecifier::Colon,
244-
callback,
238+
&mut callback,
245239
);
246240

247241
// check for fill/align
@@ -255,13 +249,13 @@ pub trait HasFormatSpecifier: AstToken {
255249
&mut chars,
256250
initial_len,
257251
FormatSpecifier::Fill,
258-
callback,
252+
&mut callback,
259253
);
260254
skip_char_and_emit(
261255
&mut chars,
262256
initial_len,
263257
FormatSpecifier::Align,
264-
callback,
258+
&mut callback,
265259
);
266260
}
267261
_ => match first {
@@ -270,7 +264,7 @@ pub trait HasFormatSpecifier: AstToken {
270264
&mut chars,
271265
initial_len,
272266
FormatSpecifier::Align,
273-
callback,
267+
&mut callback,
274268
);
275269
}
276270
_ => {}
@@ -284,7 +278,7 @@ pub trait HasFormatSpecifier: AstToken {
284278
&mut chars,
285279
initial_len,
286280
FormatSpecifier::Sign,
287-
callback,
281+
&mut callback,
288282
);
289283
}
290284
_ => {}
@@ -296,7 +290,7 @@ pub trait HasFormatSpecifier: AstToken {
296290
&mut chars,
297291
initial_len,
298292
FormatSpecifier::NumberSign,
299-
callback,
293+
&mut callback,
300294
);
301295
}
302296

@@ -310,33 +304,33 @@ pub trait HasFormatSpecifier: AstToken {
310304
&mut chars,
311305
initial_len,
312306
FormatSpecifier::Zero,
313-
callback,
307+
&mut callback,
314308
);
315309
}
316310

317311
// width
318312
match chars.clone().next().unwrap_or_default() {
319313
'0'..='9' => {
320-
read_integer(&mut chars, initial_len, callback);
314+
read_integer(&mut chars, initial_len, &mut callback);
321315
if chars.clone().next() == Some('$') {
322316
skip_char_and_emit(
323317
&mut chars,
324318
initial_len,
325319
FormatSpecifier::DollarSign,
326-
callback,
320+
&mut callback,
327321
);
328322
}
329323
}
330324
'a'..='z' | 'A'..='Z' | '_' => {
331-
read_identifier(&mut chars, initial_len, callback);
325+
read_identifier(&mut chars, initial_len, &mut callback);
332326
if chars.clone().next() != Some('$') {
333327
continue;
334328
}
335329
skip_char_and_emit(
336330
&mut chars,
337331
initial_len,
338332
FormatSpecifier::DollarSign,
339-
callback,
333+
&mut callback,
340334
);
341335
}
342336
_ => {}
@@ -348,7 +342,7 @@ pub trait HasFormatSpecifier: AstToken {
348342
&mut chars,
349343
initial_len,
350344
FormatSpecifier::Dot,
351-
callback,
345+
&mut callback,
352346
);
353347

354348
match chars.clone().next().unwrap_or_default() {
@@ -357,30 +351,30 @@ pub trait HasFormatSpecifier: AstToken {
357351
&mut chars,
358352
initial_len,
359353
FormatSpecifier::Asterisk,
360-
callback,
354+
&mut callback,
361355
);
362356
}
363357
'0'..='9' => {
364-
read_integer(&mut chars, initial_len, callback);
358+
read_integer(&mut chars, initial_len, &mut callback);
365359
if chars.clone().next() == Some('$') {
366360
skip_char_and_emit(
367361
&mut chars,
368362
initial_len,
369363
FormatSpecifier::DollarSign,
370-
callback,
364+
&mut callback,
371365
);
372366
}
373367
}
374368
'a'..='z' | 'A'..='Z' | '_' => {
375-
read_identifier(&mut chars, initial_len, callback);
369+
read_identifier(&mut chars, initial_len, &mut callback);
376370
if chars.clone().next() != Some('$') {
377371
continue;
378372
}
379373
skip_char_and_emit(
380374
&mut chars,
381375
initial_len,
382376
FormatSpecifier::DollarSign,
383-
callback,
377+
&mut callback,
384378
);
385379
}
386380
_ => {
@@ -396,11 +390,11 @@ pub trait HasFormatSpecifier: AstToken {
396390
&mut chars,
397391
initial_len,
398392
FormatSpecifier::QuestionMark,
399-
callback,
393+
&mut callback,
400394
);
401395
}
402396
'a'..='z' | 'A'..='Z' | '_' => {
403-
read_identifier(&mut chars, initial_len, callback);
397+
read_identifier(&mut chars, initial_len, &mut callback);
404398
}
405399
_ => {}
406400
}
@@ -416,7 +410,12 @@ pub trait HasFormatSpecifier: AstToken {
416410
// Escaped format end specifier, `}}`
417411
continue;
418412
}
419-
skip_char_and_emit(&mut chars, initial_len, FormatSpecifier::Close, callback);
413+
skip_char_and_emit(
414+
&mut chars,
415+
initial_len,
416+
FormatSpecifier::Close,
417+
&mut callback,
418+
);
420419
}
421420
_ => {
422421
while let Some(next_char) = chars.clone().next() {

0 commit comments

Comments
 (0)