nu_lint/
lib.rs

1mod alternatives;
2mod ast;
3pub mod cli;
4pub mod config;
5mod context;
6mod effect;
7mod engine;
8pub mod fix;
9pub mod log;
10pub mod output;
11mod rule;
12mod rules;
13mod sets;
14mod violation;
15
16use std::io;
17
18pub use config::{Config, LintLevel};
19pub use engine::LintEngine;
20use miette::Diagnostic;
21pub use output::{
22    JsonFix, JsonOutput, JsonReplacement, JsonViolation, Summary, VsCodeCodeAction,
23    VsCodeDiagnostic, VsCodeJsonOutput, VsCodeLocation, VsCodePosition, VsCodeRange,
24    VsCodeRelatedInformation, VsCodeTextEdit, format_json, format_text, format_vscode_json,
25};
26use thiserror::Error;
27use toml::de;
28pub use violation::Violation;
29pub(crate) use violation::{Fix, Replacement};
30
31#[derive(Error, Debug, Diagnostic)]
32pub enum LintError {
33    #[error("Failed to read file: {0}")]
34    #[diagnostic(code(nu_lint::io_error))]
35    IoError(#[from] io::Error),
36
37    #[error("Failed to parse configuration: {0}")]
38    #[diagnostic(code(nu_lint::config_error))]
39    ConfigError(#[from] de::Error),
40}