nu_lint/
lib.rs

1pub mod cli;
2pub mod config;
3pub mod context;
4pub mod engine;
5pub mod external_command;
6pub mod lint;
7pub mod output;
8pub mod rule;
9pub mod rules;
10#[cfg(test)]
11mod test_utils;
12pub mod visitor;
13
14pub use config::Config;
15pub use context::LintContext;
16pub use engine::LintEngine;
17pub use lint::{Fix, Replacement, Severity, Violation};
18use miette::Diagnostic;
19pub use output::{JsonFormatter, JsonOutput, OutputFormat, OutputFormatter, TextFormatter};
20pub use rule::{Rule, RuleCategory};
21use thiserror::Error;
22
23#[derive(Error, Debug, Diagnostic)]
24pub enum LintError {
25    #[error("Failed to read file: {0}")]
26    #[diagnostic(code(nu_lint::io_error))]
27    IoError(#[from] std::io::Error),
28
29    #[error("Failed to parse configuration: {0}")]
30    #[diagnostic(code(nu_lint::config_error))]
31    ConfigError(#[from] toml::de::Error),
32}