feat(html): handle pre with interpolation (#5400)

master
Ika 2018-11-09 09:50:57 +08:00 committed by GitHub
parent 32ea48d499
commit 0228863a92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 95 additions and 2 deletions

View File

@ -200,7 +200,11 @@ function genericPrint(path, options, print) {
: node.firstChild.type === "text" &&
node.firstChild.isWhitespaceSensitive &&
node.firstChild.isIndentationSensitive
? node.firstChild.value.indexOf("\n") === -1
? (node.children.length === 1 &&
node.firstChild.type === "text" &&
node.firstChild.value.indexOf("\n") === -1) ||
node.firstChild.sourceSpan.start.line ===
node.lastChild.sourceSpan.end.line
? ""
: literalline
: node.firstChild.hasLeadingSpaces &&

View File

@ -43,7 +43,9 @@ function hasPrettierIgnore(path) {
// TODO: handle non-text children in <pre>
if (
isPreLikeNode(node) &&
node.children.some(child => child.type !== "text")
node.children.some(
child => child.type !== "text" && child.type !== "interpolation"
)
) {
return true;
}

View File

@ -833,6 +833,19 @@ exports[`pre-child.vue - vue-verify 1`] = `
<code class="d-block">{{ code }}</code>
</pre>
</template>
<template>
<pre class='woot'>
{{ stuff }}
</pre>
</template>
<template>
<pre class='woot'>
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
</pre>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<!--
copied from https://github.com/gitlabhq/gitlabhq/blob/master/app/assets/javascripts/ide/components/jobs/detail.vue
@ -867,6 +880,30 @@ exports[`pre-child.vue - vue-verify 1`] = `
</pre>
</template>
<template>
<pre class="woot">
{{ stuff }}
</pre>
</template>
<template>
<pre class="woot">
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
</pre
>
</template>
`;
exports[`pre-child.vue - vue-verify 2`] = `
@ -898,6 +935,19 @@ exports[`pre-child.vue - vue-verify 2`] = `
<code class="d-block">{{ code }}</code>
</pre>
</template>
<template>
<pre class='woot'>
{{ stuff }}
</pre>
</template>
<template>
<pre class='woot'>
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
</pre>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<!--
copied from https://github.com/gitlabhq/gitlabhq/blob/master/app/assets/javascripts/ide/components/jobs/detail.vue
@ -932,6 +982,30 @@ exports[`pre-child.vue - vue-verify 2`] = `
</pre>
</template>
<template>
<pre class="woot">
{{ stuff }}
</pre>
</template>
<template>
<pre class="woot">
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
</pre
>
</template>
`;
exports[`script_src.vue - vue-verify 1`] = `

View File

@ -26,3 +26,16 @@
<code class="d-block">{{ code }}</code>
</pre>
</template>
<template>
<pre class='woot'>
{{ stuff }}
</pre>
</template>
<template>
<pre class='woot'>
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
</pre>
</template>