diff --git a/src/language-handlebars/printer-glimmer.js b/src/language-handlebars/printer-glimmer.js index a35c683a..05b3b070 100644 --- a/src/language-handlebars/printer-glimmer.js +++ b/src/language-handlebars/printer-glimmer.js @@ -174,7 +174,7 @@ function print(path, options, print) { return group( concat([ n.escaped === false ? "{{{" : "{{", - printPathParams(path, print), + printPathParams(path, print, { group: false }), isConcat ? "" : softline, n.escaped === false ? "}}}" : "}}" ]) @@ -358,12 +358,17 @@ function getParams(path, print) { return parts; } -function printPathParams(path, print) { +function printPathParams(path, print, options) { let parts = []; + options = Object.assign({ group: true }, options || {}); parts.push(printPath(path, print)); parts = parts.concat(getParams(path, print)); + if (!options.group) { + return indent(join(line, parts)); + } + return indent(group(join(line, parts))); } diff --git a/tests/handlebars/__snapshots__/jsfmt.spec.js.snap b/tests/handlebars/__snapshots__/jsfmt.spec.js.snap index c7ee2c91..1aacaef7 100644 --- a/tests/handlebars/__snapshots__/jsfmt.spec.js.snap +++ b/tests/handlebars/__snapshots__/jsfmt.spec.js.snap @@ -53,6 +53,26 @@ printWidth: 80 ================================================================================ `; +exports[`component.hbs 1`] = ` +====================================options===================================== +parsers: ["glimmer"] +printWidth: 80 + | printWidth +=====================================input====================================== +{{my-component foo="bar" bar="baz" action=(action "almostTheMaximumLengthxxxxxx")}} + +{{my-component foo="bar"}} + +=====================================output===================================== +{{my-component + foo="bar" + bar="baz" + action=(action "almostTheMaximumLengthxxxxxx") +}} +{{my-component foo="bar"}} +================================================================================ +`; + exports[`each.hbs 1`] = ` ====================================options===================================== parsers: ["glimmer"] diff --git a/tests/handlebars/component.hbs b/tests/handlebars/component.hbs new file mode 100644 index 00000000..220bff15 --- /dev/null +++ b/tests/handlebars/component.hbs @@ -0,0 +1,3 @@ +{{my-component foo="bar" bar="baz" action=(action "almostTheMaximumLengthxxxxxx")}} + +{{my-component foo="bar"}}