prettier-plugin-liquid icon indicating copy to clipboard operation
prettier-plugin-liquid copied to clipboard

Issue formatting attributes

Open nboliver opened this issue 2 years ago • 5 comments

Describe the bug When formatting the content of a class attribute, extra characters are added to the liquid tag and the closing }} is removed.

Unformatted source

<body class="template-{{ template.name }}" data-instant-allow-query-string {% if settings.reduce_animations %}data-reduce-animations{% endif %}>

Expected output

<body
    class="template-{{ template.name }}"
    data-instant-allow-query-string
    {% if settings.reduce_animations %}
      data-reduce-animations
    {% endif %}
  >

Actual output

<body
    class="template-{{ template.nnamee "
    data-instant-allow-query-string
    {% if settings.reduce_animations %}
      data-reduce-animations
    {% endif %}
  >

Debugging information

  • OS: Mac
  • Version: 12.6

Additional context Screenshot of error diff: image

The issue can be fixed by adding {% # prettier-ignore-attributes %} above the element.

nboliver avatar Feb 15 '23 19:02 nboliver

Weird. I pasted your example in the playground and I'm not seeing the issue? Is this happening in the Shopify Liquid VS Code extension or the online store code editor?

image

charlespwd avatar Feb 16 '23 20:02 charlespwd

Using an old version of the plugin maybe? Is this on v1.0.6?

Same thing happens in the Shopify Liquid VS Code extension or the Prettier extension.

https://screenshot.click/16-20-yzvam-dmqf1.mp4

charlespwd avatar Feb 16 '23 20:02 charlespwd

Yeah, using VS code with v1.0.6. I have "@shopify/prettier-plugin-liquid": "^1.0.6" in package.json and am requiring the plugin in prettier.config.js like this:

module.exports = {
 ...
  plugins: [
    require('@shopify/prettier-plugin-liquid'),
    require('prettier-plugin-tailwindcss'),
  ],
};

Perhaps it's something else in the file that's causing the issue? It's in theme.liquid, which is quite large.

nboliver avatar Feb 16 '23 20:02 nboliver

Does it happen if you paste your entire code in the playground?

charlespwd avatar Feb 17 '23 16:02 charlespwd

Also, might be related to prettier-plugin-tailwindcss? Given this is an error in the class attribute?

charlespwd avatar Feb 17 '23 16:02 charlespwd