Improve shebang handling.
Avoid doing stuff until it's necessary.
This commit is contained in:
parent
038f9e6bef
commit
55185992d6
1 changed files with 5 additions and 8 deletions
|
@ -64,15 +64,12 @@ impl<'a> StringReader<'a> {
|
||||||
let mut spacing = Spacing::Joint;
|
let mut spacing = Spacing::Joint;
|
||||||
|
|
||||||
// Skip `#!` at the start of the file
|
// Skip `#!` at the start of the file
|
||||||
let start_src_index = self.src_index(self.pos);
|
if self.pos == self.start_pos
|
||||||
let text: &str = &self.src[start_src_index..self.end_src_index];
|
&& let Some(shebang_len) = rustc_lexer::strip_shebang(self.src)
|
||||||
let is_beginning_of_file = self.pos == self.start_pos;
|
{
|
||||||
if is_beginning_of_file {
|
|
||||||
if let Some(shebang_len) = rustc_lexer::strip_shebang(text) {
|
|
||||||
self.pos = self.pos + BytePos::from_usize(shebang_len);
|
self.pos = self.pos + BytePos::from_usize(shebang_len);
|
||||||
spacing = Spacing::Alone;
|
spacing = Spacing::Alone;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Skip trivial (whitespace & comments) tokens
|
// Skip trivial (whitespace & comments) tokens
|
||||||
loop {
|
loop {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue