// by RuztyCrabs
[!CAUTION] This is implementing and intended for Research Purposes and SHOULD NOT BE USED ON PRODUCTION ENVIRONMENTS. The goal is to determine the feasibility, performance and developer experience of Rust Programming Language for implementing static code analyzers for Ballerina Language.
Documentation
Installation
Install the latest published version from crates.io:
[!TIP] Re-run the command with
--forceto pick up newly published releases.
Prefer a prebuilt executable? Download the Linux x86_64 binary from the latest GitHub release and place it in your $PATH.
Building
Prerequsites
- Git 2.51.0 or newer
- Rust Toolchain 1.86.0 or newer
Steps
- Create a fork and clone to local:
cdinto the directory:
- Build with cargo:
[!NOTE] Cargo build will download any required dependancies automatically but you can explicitly get them using
cargo fetchif still complains about missing libraries.
Debugging
Prerequsites
- Build requirements stated here.
- VsCode IDE
- Rust Analyzer extension by rust-lang.org
- CodeLLDB extension by Vadim Chugunov
Steps
- You can adjust the
tests/test.balfile if you need to debug a specific diagnostic. - Set breakpoints as needed.
- Click on Run and Debug from the main method or use
ctrl+shift+Dto jump to debug menu.
[!NOTE] It is possible to debug with any IDE including Neovim, Emacs and etc but we recommend vscode for easier setup.
Contributing
Run all formatter, lint, and test checks locally before opening a pull request:
[!NOTE] Cargo will download dev dependancies automatically but you can explicitly get them using
cargo fetchif still complains about missing libraries.
TODO
Roadmap of the project can be viewed from here.
License
This project is licensed under the MIT License.