linecheck 1.0.0

A fast, configurable tool that warns or errors when files exceed a set line count
Documentation
//! The [`Rule`] type — a single pattern/limit pair from a config file.
use serde::Deserialize;

/// A single pattern/limit pair inside a [`crate::Config`].
#[derive(Debug, Deserialize, Clone, PartialEq, Eq)]
pub struct Rule {
    /// Glob pattern matched against file paths (e.g. `"**/*.rs"`).
    pub pattern: String,
    /// Line count at which a warning is emitted. `None` means no warn limit.
    pub warn: Option<usize>,
    /// Message printed alongside a warn violation. `None` means no message.
    #[serde(default)]
    pub warn_message: Option<String>,
    /// Line count at which an error is emitted. `None` means no error limit.
    pub error: Option<usize>,
    /// Message printed alongside an error violation. `None` means no message.
    #[serde(default)]
    pub error_message: Option<String>,
}