Skip to content

Commit ef43f6b

Browse files
committed
fix html-quotes
1 parent 1640edf commit ef43f6b

File tree

4 files changed

+41
-3
lines changed

4 files changed

+41
-3
lines changed

src/rules/html-quotes.ts

+17-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import type { AST } from "svelte-eslint-parser"
2-
import { isNotClosingBraceToken, isNotOpeningBraceToken } from "eslint-utils"
2+
import {
3+
isClosingParenToken,
4+
isNotClosingBraceToken,
5+
isNotOpeningBraceToken,
6+
isOpeningParenToken,
7+
} from "eslint-utils"
38
import type { NodeOrToken } from "../types"
49
import { createRule } from "../utils"
510

@@ -227,8 +232,17 @@ export default createRule("html-quotes", {
227232
attr: AST.SvelteDirective | AST.SvelteSpecialDirective,
228233
valueNode: NonNullable<AST.SvelteDirective["expression"]>,
229234
) {
230-
const beforeToken = sourceCode.getTokenBefore(valueNode)
231-
const afterToken = sourceCode.getTokenAfter(valueNode)
235+
let beforeToken = sourceCode.getTokenBefore(valueNode)
236+
let afterToken = sourceCode.getTokenAfter(valueNode)
237+
while (
238+
beforeToken &&
239+
afterToken &&
240+
isOpeningParenToken(beforeToken) &&
241+
isClosingParenToken(afterToken)
242+
) {
243+
beforeToken = sourceCode.getTokenBefore(beforeToken)
244+
afterToken = sourceCode.getTokenAfter(afterToken)
245+
}
232246
if (
233247
!beforeToken ||
234248
!afterToken ||
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[
2+
{
3+
"message": "Expected to be enclosed by double quotes.",
4+
"line": 6,
5+
"column": 13
6+
},
7+
{
8+
"message": "Expected to be enclosed by double quotes.",
9+
"line": 6,
10+
"column": 29
11+
}
12+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<script>
2+
let text = ""
3+
</script>
4+
5+
<!-- prettier-ignore -->
6+
<input type=text bind:value={(text)} />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<script>
2+
let text = ""
3+
</script>
4+
5+
<!-- prettier-ignore -->
6+
<input type="text" bind:value="{(text)}" />

0 commit comments

Comments
 (0)