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;
10pub mod visitor;
11
12pub use config::Config;
13pub use context::LintContext;
14pub use engine::LintEngine;
15pub use lint::{Fix, Replacement, Severity, Violation};
16use miette::Diagnostic;
17pub use output::{JsonFormatter, JsonOutput, OutputFormat, OutputFormatter, TextFormatter};
18pub use rule::{Rule, RuleCategory};
19use thiserror::Error;
20
21#[derive(Error, Debug, Diagnostic)]
22pub enum LintError {
23    #[error("Failed to read file: {0}")]
24    #[diagnostic(code(nu_lint::io_error))]
25    IoError(#[from] std::io::Error),
26
27    #[error("Failed to parse configuration: {0}")]
28    #[diagnostic(code(nu_lint::config_error))]
29    ConfigError(#[from] toml::de::Error),
30}