cargo_marker 0.2.0

Marker's CLI interface to automatically compile and run lint crates
cargo_marker-0.2.0 is not a library.
Visit the last successful build: cargo_marker-0.0.0-placeholder

Cargo Marker

Crates.io License: MIT OR Apache-2.0

cargo_marker is the CLI tool for Marker, an experimental linting interface for Rust. It seamlessly integrates with the Rust compiler to provide custom linting capabilities for your Rust projects.

Note

Marker is in the early stages of development, some things are still missing and the API is still unstable.

A list of limitations and planned features can be found in Marker's Readme.

Key Features

  • Simple CLI: cargo_marker does all the heavy lifting for you, making custom code analysis, as simple as a single console command.
  • Seamless Integration: cargo_marker reuses Rust's existing infrastructure for linting, running Marker as part of your workflow is close to the effort needed for its sibling Clippy.
  • Automatic Lint-Crate Compilation: cargo_marker automatically fetches and builds specified lint crates, streamlining the process of incorporating additional linting rules into your project.
  • User-Friendly Setup: cargo_marker can automatically set up the driver and toolchain, allowing you to focus on writing quality code. (This version will setup rustc's driver for nightly-2023-07-13)

Usage

The following is an abbreviated guide. Check out The Marker Book for detailed instructions and additional information.

Installation

cargo install cargo_marker

# Automatically setup the toolchain and driver
cargo marker setup --auto-install-toolchain

Specifying lints

Marker requires lint crates to be specified. The best way is to add them to the Cargo.toml file, like this:

[workspace.metadata.marker.lints]
# A local crate as a path
marker_lints = { path = './marker_lints' }
# An external crate via git
marker_lints = { git = "https://github.com/rust-marker/marker" }
# An external crate from a registry
marker_lints = "0.2.0"

Running Marker

Running Marker is as simple as running its sibling Clippy. Navigate to your Rust project directory and run the following command:

cargo marker

This will initialize Marker, compile the lint crates and start linting.

Contributing

Contributions are highly appreciated! If you encounter any issues or have suggestions for improvements, please check out Marker's GitHub repository.

License

Copyright (c) 2022-2023 Rust-Marker

Rust-marker is distributed under the terms of the MIT license or the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT.