oxc/tasks/rulegen/template.txt

51 lines
1,021 B
Text

use oxc_diagnostics::{
miette::{self, Diagnostic},
thiserror::{self, Error},
};
use oxc_macros::declare_oxc_lint;
use oxc_span::Span;
use crate::{context::LintContext, rule::Rule, AstNode};
#[derive(Debug, Error, Diagnostic)]
#[error("{{plugin_name}}({{kebab_rule_name}}):")]
#[diagnostic(severity(warning), help(""))]
struct {{pascal_rule_name}}Diagnostic(#[label] pub Span);
#[derive(Debug, Default, Clone)]
pub struct {{pascal_rule_name}};
declare_oxc_lint!(
/// ### What it does
///
///
/// ### Why is this bad?
///
///
/// ### Example
/// ```javascript
/// ```
{{pascal_rule_name}},
correctness
);
impl Rule for {{pascal_rule_name}} {
fn run<'a>(&self, node: &AstNode<'a>, ctx: &LintContext<'a>) {
}
}
#[test]
fn test() {
use crate::tester::Tester;
let pass = vec![
{{pass_cases}}
];
let fail = vec![
{{fail_cases}}
];
Tester::{{test_method}}({{pascal_rule_name}}::NAME, pass, fail).test_and_snapshot();
}