mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 20:32:10 +00:00
fix(linter): show the escaped span for no-useless-escape (#790)
closes #782
This commit is contained in:
parent
1a591c7a2d
commit
33ea85813e
2 changed files with 64 additions and 62 deletions
|
|
@ -68,7 +68,9 @@ fn check(ctx: &LintContext<'_>, start: u32, offsets: &[usize]) {
|
|||
for offset in offsets {
|
||||
let offset = start as usize + offset;
|
||||
let c = source_text[offset..].chars().next().unwrap();
|
||||
ctx.diagnostic(NoUselessEscapeDiagnostic(c, Span::new(offset as u32, offset as u32)));
|
||||
let offset = offset as u32;
|
||||
let len = c.len_utf8() as u32;
|
||||
ctx.diagnostic(NoUselessEscapeDiagnostic(c, Span::new(offset - 1, offset + len)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,373 +5,373 @@ expression: no_useless_escape
|
|||
⚠ eslint(no-useless-escape): Unnecessary escape character '#'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\#/;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character ';'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\;/;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '\''
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = "\'";
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '#'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = "\#/";
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'a'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = "\a"
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'B'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = "\B";
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '@'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = "\@";
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'a'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = "foo \a bar";
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '"'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\"';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '#'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\#';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '$'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\$';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'p'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\p';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'p'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\p\a\@';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'a'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\p\a\@';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '@'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\p\a\@';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'd'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ <foo attr={"\d"}/>
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '`'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\`';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '"'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\"`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '\''
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\'`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '#'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\#`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '`'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\`foo\`';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '`'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = '\`foo\`';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '"'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\"${foo}\"`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '"'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\"${foo}\"`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '\''
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\'${foo}\'`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '\''
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\'${foo}\'`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '#'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\#${foo}`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character ' '
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ let foo = '\ ';
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character ' '
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ let foo = /\ /;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '$'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\$\{{${foo}`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '{'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\$\{{${foo}`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '$'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `\$a${foo}`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '{'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = `a\{{${foo}`;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '-'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[ab\-]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '-'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[\-ab]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '?'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[ab\?]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '.'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[ab\.]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '|'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[a\|b]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '-'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\-/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '-'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[\-]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '$'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[ab\$]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '('
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[\(paren]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '['
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[\[]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '/'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[\/]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'B'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[\B]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '-'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[a][\-b]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '-'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\-[]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '^'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /[a\^]/
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'e'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ `multiline template
|
||||
2 │ literal with useless \escape`
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'e'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ `multiline template
|
||||
2 │ literal with useless \escape`
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'e'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ `template literal with line continuation \
|
||||
2 │ and useless \escape`
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'e'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ `template literal with line continuation \
|
||||
2 │ and useless \escape`
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'a'
|
||||
╭─[no_useless_escape.tsx:3:1]
|
||||
3 │
|
||||
4 │ \and useless escape`
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'a'
|
||||
╭─[no_useless_escape.tsx:3:1]
|
||||
3 │ \
|
||||
4 │ \and useless escape`
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character 'a'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ `\a```
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '('
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\(([^\)\(]+)\)$|\(([^\)\)]+)\)$/;
|
||||
· ▲
|
||||
· ───
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character ')'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\(([^\)\(]+)\)$|\(([^\)\)]+)\)$/;
|
||||
· ▲
|
||||
· ───
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character '('
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\(([^\)\(]+)\)$|\(([^\)\)]+)\)$/;
|
||||
· ▲
|
||||
· ───
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character ')'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\(([^\)\(]+)\)$|\(([^\)\)]+)\)$/;
|
||||
· ▲
|
||||
· ───
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character ')'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\(([^\)\(]+)\)$|\(([^\)\)]+)\)$/;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
⚠ eslint(no-useless-escape): Unnecessary escape character ')'
|
||||
╭─[no_useless_escape.tsx:1:1]
|
||||
1 │ var foo = /\(([^\)\(]+)\)$|\(([^\)\)]+)\)$/;
|
||||
· ▲
|
||||
· ──
|
||||
╰────
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue