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