Crossposted from r/rust:

Hola!

During the last few months I’ve been working on rewriting ShellCheck in Rust. I’ve been doing this for learning purposes: I’m part of the TypeScript team and I’ve been wanting to reinforce my understand of parsers, lexers, code analysis etc (I mostly focus in the editor experience so I don’t have many opportunities to interact with the deeper levels of the language itself). Anyway, it’s been a wild ride.

Unfortunately this isn’t the shinny Reddit post where I present you the finished product; instead this is an invitation to everyone that wants to contribute! <3 I’ve implemented about 90% of the parser (including the errors that it generates), but I want to expand the learning opportunity to the rest of my fellow Rusters that wish to get their hands dirty with parsing/linting/dealing with the complex problems that shell languages present.

Feel free to reach out to me via an internal message if you want to shebling with me :)

To hype y’all: Here’s a preview of shebling catching those annoying quoting issues.