1mod ast;
2pub mod cli;
3pub mod config;
4mod context;
5mod engine;
6mod external_command;
7pub mod log;
8mod output;
9mod rule;
10mod rules;
11mod violation;
12pub use config::Config;
13pub use engine::LintEngine;
14use miette::Diagnostic;
15pub use output::{JsonFix, JsonOutput, JsonReplacement, JsonViolation, Summary, format_json};
16use thiserror::Error;
17pub(crate) use violation::{Fix, Replacement, RuleViolation};
18pub use violation::{Severity, Violation};
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}