blazelint 0.1.3

A code linter for Ballerina programming language
blazelint-0.1.3 is not a library.
Visit the last successful build: blazelint-0.3.0
// 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:

cargo install blazelint

[!TIP] Re-run the command with --force to 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

  1. Create a fork and clone to local:
git clone https://github.com/<your-profile-name>/Blazelint.git
  1. cd into the directory:
cd Blazelint
  1. Build with cargo:
cargo build --release

[!NOTE] Cargo build will download any required dependancies automatically but you can explicitly get them using cargo fetch if still complains about missing libraries.

Debugging

Prerequsites

Steps

  • You can adjust the tests/test.bal file 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+D to 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:

bash scripts/check.sh

[!NOTE] Cargo will download dev dependancies automatically but you can explicitly get them using cargo fetch if still complains about missing libraries.

TODO

Roadmap of the project can be viewed from here.

License

This project is licensed under the MIT License.