diff --git a/internal/scanner/scanner.go b/internal/scanner/scanner.go index 1752e183b3..6132a184b6 100644 --- a/internal/scanner/scanner.go +++ b/internal/scanner/scanner.go @@ -707,13 +707,13 @@ func (s *Scanner) Scan() ast.Kind { if s.charAt(1) == '!' { if s.pos == 0 { s.pos += 2 - for s.char() >= 0 && s.char() != '\n' { - s.pos++ + for ch, size := s.charAndSize(); size > 0 && !stringutil.IsLineBreak(ch); ch, size = s.charAndSize() { + s.pos += size } continue } s.errorAt(diagnostics.X_can_only_be_used_at_the_start_of_a_file, s.pos, 2) - s.pos += 2 + s.pos++ s.token = ast.KindUnknown break }