//! eslint checker — registered as a {SimpleChecker}.

use crate::processors::SimpleChecker;
use crate::config::SimpleCheckerParams;

fn create_eslint(toml: &toml::Value) -> anyhow::Result<Box<dyn crate::processors::Processor>> {
    crate::registries::deserialize_and_create(toml, |cfg| Box::new(SimpleChecker::new(cfg, SimpleCheckerParams { description: "Lint JavaScript/TypeScript files using ESLint", subcommand: None, prepend_args: &[], extra_tools: &["node"] })))
}
inventory::submit! { crate::registries::ProcessorPlugin {
    version: 1,
    name: "eslint", processor_type: crate::processors::ProcessorType::Checker, create: create_eslint,
    known_fields: crate::registries::typed_known_fields::<crate::config::StandardConfig>,
    output_fields: crate::registries::typed_output_fields::<crate::config::StandardConfig>,
    must_fields: crate::registries::typed_must_fields::<crate::config::StandardConfig>,
    field_descriptions: crate::registries::typed_field_descriptions::<crate::config::StandardConfig>,
    defconfig_json: crate::registries::default_config_json::<crate::config::StandardConfig>,
} }
