diff --git a/src/syntax/lexer.rs b/src/syntax/lexer.rs index 555ced849..471e437a5 100644 --- a/src/syntax/lexer.rs +++ b/src/syntax/lexer.rs @@ -181,7 +181,7 @@ impl Lexer<'_> { '*' if !self.in_word() => SyntaxKind::Star, '_' if !self.in_word() => SyntaxKind::Underscore, - '#' if self.s.at(|c: char| !c.is_whitespace()) => SyntaxKind::Hashtag, + '#' => SyntaxKind::Hashtag, '[' => SyntaxKind::LeftBracket, ']' => SyntaxKind::RightBracket, '\'' => SyntaxKind::SmartQuote, @@ -401,7 +401,7 @@ impl Lexer<'_> { '|' if self.s.eat_if(']') => SyntaxKind::Shorthand, '|' if self.s.eat_if('|') => SyntaxKind::Shorthand, - '#' if self.s.at(|c: char| !c.is_whitespace()) => SyntaxKind::Hashtag, + '#' => SyntaxKind::Hashtag, '_' => SyntaxKind::Underscore, '$' => SyntaxKind::Dollar, '/' => SyntaxKind::Slash, diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs index 1f9bdedd3..afb207b68 100644 --- a/src/syntax/parser.rs +++ b/src/syntax/parser.rs @@ -485,6 +485,7 @@ fn embedded_code_expr(p: &mut Parser) { p.stop_at_newline(true); p.enter(LexMode::Code); p.assert(SyntaxKind::Hashtag); + p.unskip(); let stmt = matches!( p.current(),