Skip to content
This repository was archived by the owner on Jul 27, 2023. It is now read-only.

Commit 36e75e1

Browse files
committed
Merge with magic parsing
1 parent fcebb0c commit 36e75e1

File tree

3 files changed

+12
-39
lines changed

3 files changed

+12
-39
lines changed

ast/src/generic.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#![allow(clippy::derive_partial_eq_without_eq)]
2-
use crate::text_size::TextRange;
2+
use crate::text_size::{TextRange, TextSize};
33
pub(crate) use crate::{builtin::*, ConversionFlag, Node};
44
use std::fmt::{self, Debug};
55

parser/src/lexer.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -573,8 +573,12 @@ impl<'source> Lexer<'source> {
573573
self.consume_ascii_character(c)
574574
} else if is_unicode_identifier_start(c) {
575575
let identifier = self.lex_identifier(c)?;
576+
self.state = State::Other;
577+
576578
Ok((identifier, self.token_range()))
577579
} else if is_emoji_presentation(c) {
580+
self.state = State::Other;
581+
578582
Ok((
579583
Tok::Name {
580584
name: c.to_string(),
@@ -1426,9 +1430,8 @@ baz = %matplotlib \
14261430

14271431
fn assert_no_jupyter_magic(tokens: &[Tok]) {
14281432
for tok in tokens {
1429-
match tok {
1430-
Tok::MagicCommand { .. } => panic!("Unexpected magic command token: {:?}", tok),
1431-
_ => {}
1433+
if let Tok::MagicCommand { .. } = tok {
1434+
panic!("Unexpected magic command token: {:?}", tok)
14321435
}
14331436
}
14341437
}

parser/src/parser.rs

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -396,41 +396,11 @@ pub fn parse_tokens(
396396
) -> Result<ast::Mod, ParseError> {
397397
let lxr = lxr.into_iter();
398398

399-
<<<<<<< HEAD
400-
let lxr =
401-
lxr.filter_ok(|(tok, _)| !matches!(tok, Tok::Comment { .. } | Tok::NonLogicalNewline));
402-
parse_filtered_tokens(lxr, mode, source_path)
403-
=======
404-
match mode {
405-
Mode::Module | Mode::Interactive | Mode::Expression => parse_filtered_tokens(
406-
lxr.filter_ok(|(tok, _)| !matches!(tok, Tok::Comment { .. } | Tok::NonLogicalNewline)),
407-
mode,
408-
source_path,
409-
),
410-
Mode::Jupyter => {
411-
let mut after_magic = false;
412-
parse_filtered_tokens(
413-
lxr.filter_ok(|(tok, _)| match tok {
414-
Tok::Comment(..) | Tok::NonLogicalNewline => {
415-
after_magic = false;
416-
false
417-
}
418-
Tok::Newline => !after_magic,
419-
Tok::MagicCommand { .. } => {
420-
after_magic = true;
421-
false
422-
}
423-
_ => {
424-
after_magic = false;
425-
true
426-
}
427-
}),
428-
mode,
429-
source_path,
430-
)
431-
}
432-
}
433-
>>>>>>> 58ac178 (Use single filter call)
399+
parse_filtered_tokens(
400+
lxr.filter_ok(|(tok, _)| !matches!(tok, Tok::Comment { .. } | Tok::NonLogicalNewline)),
401+
mode,
402+
source_path,
403+
)
434404
}
435405

436406
fn parse_filtered_tokens(

0 commit comments

Comments
 (0)