panoply / vscode-liquid

💧Liquid language support for VS Code
https://marketplace.visualstudio.com/items?itemName=sissel.shopify-liquid
Other
170 stars 23 forks source link

format.liquid.forceArgument property splits custom shortcodes in 11ty #192

Open shkarinn opened 3 weeks ago

shkarinn commented 3 weeks ago

The format.liquid.forceArgument property splits custom shortcodes in 11ty across multiple lines, which 11ty does not recognize. 11ty only processes shortcodes that are written in a single line.

When adding this tag to the ignoreTagList property, the plugin throws an error expecting a closing tag.

Steps to Reproduce:

  1. Define multiple-line custom shortcodes with 4 prop's separate by commas.
  2. Set the format.liquid.forceArgument property to 3.
  3. Attempt to build the project using 11ty.
  4. Observe that 11ty does not recognize the multiline shortcodes properly.

Proposed Solution:

  1. Set format.liquid.forceArgument property to a value higher than the shortcodes contain
  2. Don't use commas in shortcode.
  3. Introduce a new property to prevent the splitting of tags across new lines. This property would ensure that tags are kept intact, avoiding issues with shortcode recognition.

I'll create an 11ty issue too. But also need a workaround to exclude tags without closing.

image image image

panoply commented 3 weeks ago

Hey @shkarinn

Thanks for this detailed issue. I appreciate it. For now, the workaround will be to use comment ignores, above the tag use:

<!-- esthetic-ignore-next -->
{% img section.img %}

Optionally, you could also use:

{% # esthetic-ignore-next %}

Or wrap the tag within ignore blocks:

<!-- esthetic-ignore-start -->
{% img section.img %}
<!-- esthetic-ignore-end -->

Æsthetic logic for argument and filter formatting was overhauled and in the next release (which is almost ready for shipping) things work differently, with more rules and it will address the issue you are having. I'll also make it possible to allow singleton type tags to be included in the ignoreTagList.

shkarinn commented 3 weeks ago

Hi, @panoply! Thank you for quick answer. Ok, I'll use the workaround for now, waiting for the next version 😊