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

Usage

Prerequisites

cargo_marker requires [Cargo] and [rustup] to be installed. Currently, only Unix and Windows systems are supported. Linux, Windows, and macOS are actively tested in the CI.

Installation

```sh 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:

```toml [workspace.metadata.marker.lints]

A local crate as a path

markerlints = { path = './markerlints' }

An external crate via git

marker_lints = { git = "https://github.com/rust-marker/marker" }

An external crate from a registry

marker_lints = "0.1.0" ```

Running Marker

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

sh 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 don't hesitate to open an issue or submit a pull request on 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.