nu_lint/
lib.rs

1mod ast;
2pub mod cli;
3pub mod config;
4mod context;
5mod engine;
6pub mod log;
7mod output;
8mod rule;
9mod rules;
10mod violation;
11use std::io;
12
13pub use config::Config;
14pub use engine::LintEngine;
15use miette::Diagnostic;
16pub use output::{JsonFix, JsonOutput, JsonReplacement, JsonViolation, Summary, format_json};
17use thiserror::Error;
18use toml::de;
19pub(crate) use violation::{Fix, Replacement, RuleViolation};
20pub use violation::{Severity, Violation};
21
22#[derive(Error, Debug, Diagnostic)]
23pub(crate) enum LintError {
24    #[error("Failed to read file: {0}")]
25    #[diagnostic(code(nu_lint::io_error))]
26    IoError(#[from] io::Error),
27
28    #[error("Failed to parse configuration: {0}")]
29    #[diagnostic(code(nu_lint::config_error))]
30    ConfigError(#[from] de::Error),
31}