Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of rust-lang#12545 - jeremyBanks:shebangs, r=Veykril
fix: inserted imports must come after a shebang if present The current `insert_use` logic adds the first `use` item near the beginning of the file, only skipping past comments and whitespace. However, it does not skip leading [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)). This can produce a syntax error, as shebangs are only accepted (ignored) on the first line of the file. ### Before Insertion (valid syntax) ```rust #!/usr/bin/env rust fn main() {} ``` ### After Insertion (invalid syntax) ```rust use foo::bar::Baz; #!/usr/bin/env rust fn main() {} ``` Rust analyzer's grammar is already shebang-aware, so this PR just adds that to the array of SyntaxKinds that are skipped past when looking for an insertion location, and adds a corresponding test case.
- Loading branch information