Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add detection of main under more circumstances
The cases that are intended to be added by this commit are: - Code with no comments but ends in a semi colon before the declaration of main. No comments was required to prevent `//` being included to comment out the line. This was done by not allowing `/` as part of the code before the `;` While this is more restrictive than necessary it didn't seem likely that the code before the main would include `/` so didn't seem worthwhile to take the performance hit to make the check less restrictive. To prevent long regex scans going multiple lines I also disallowed newlines in the code by including `\n` and `\r` as disallowed characters. (The whole point is code on the same line as main so this seemed fine and would help prevent unnecessarily matching all lines before main when it doesn't matter). - Allow multiline comments within the arguments area of main that both start and end within the brackets. Not expecting a substantial performance cost from this one because this case is near the end of the matching. I used the following test cases ```rust fn main() { // Should work println!("Hello, world!"); } //;fn main() { //Shouldn't work println!("Hello, world!"); } use std; fn main(){ println!("Hello, world!"); } // Should work const fn main() { // Should work println!("Hello, world!"); } /* fn main() {} */ // Shouldn't work fn main(/* comment */) { // Should work // snip } ```
- Loading branch information