diff --git a/changelog_unreleased/vue/pr-7781.md b/changelog_unreleased/vue/pr-7781.md new file mode 100644 index 000000000..db8336c69 --- /dev/null +++ b/changelog_unreleased/vue/pr-7781.md @@ -0,0 +1,51 @@ +#### Fix indentation of Vue expressions ([#7781](https://github.com/prettier/prettier/pull/7781) by [@fisker](https://github.com/fisker)) + + +```vue + + + + + + + + + +``` diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index 965be7633..3d5f014ac 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -601,6 +601,7 @@ function printPathNoParens(path, options, print, args) { parent.type === "ThrowStatement" || (parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute") || + (n.operator !== "|" && parent.type === "JsExpressionRoot") || (n.type !== "NGPipeExpression" && ((parent.type === "NGRoot" && options.parser === "__ng_binding") || (parent.type === "NGMicrosyntaxExpression" && diff --git a/tests/html_vue/__snapshots__/jsfmt.spec.js.snap b/tests/html_vue/__snapshots__/jsfmt.spec.js.snap index d2c281e86..f6dd0218f 100644 --- a/tests/html_vue/__snapshots__/jsfmt.spec.js.snap +++ b/tests/html_vue/__snapshots__/jsfmt.spec.js.snap @@ -1007,7 +1007,7 @@ trailingComma: "none" @@ -1027,7 +1027,7 @@ trailingComma: "none" @@ -1080,7 +1080,7 @@ printWidth: 80 @@ -1100,7 +1100,7 @@ printWidth: 80 @@ -1154,7 +1154,7 @@ semi: false @@ -1174,7 +1174,7 @@ semi: false @@ -1843,15 +1843,15 @@ trailingComma: "none"
   123{{
       wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq
     }}123
   123{{
       wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq
     }}123
     
@@ -1948,15 +1948,15 @@ printWidth: 80
   123{{
       wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq
     }}123
   123{{
       wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq
     }}123
     
@@ -2054,15 +2054,15 @@ semi: false
   123{{
       wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq
     }}123
   123{{
       wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq ||
-        wqeqwwqwqweqweqwewwq
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq ||
+      wqeqwwqwqweqweqwewwq
     }}123
     
@@ -3136,3 +3136,335 @@ semi: false ================================================================================ `; + +exports[`v-if.vue 1`] = ` +====================================options===================================== +parsers: ["vue"] +printWidth: 80 +trailingComma: "none" + | printWidth +=====================================input====================================== + + +=====================================output===================================== + + +================================================================================ +`; + +exports[`v-if.vue 2`] = ` +====================================options===================================== +parsers: ["vue"] +printWidth: 80 + | printWidth +=====================================input====================================== + + +=====================================output===================================== + + +================================================================================ +`; + +exports[`v-if.vue 3`] = ` +====================================options===================================== +parsers: ["vue"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== + + +=====================================output===================================== + + +================================================================================ +`; diff --git a/tests/html_vue/v-if.vue b/tests/html_vue/v-if.vue new file mode 100644 index 000000000..d4754a423 --- /dev/null +++ b/tests/html_vue/v-if.vue @@ -0,0 +1,34 @@ +