withastro/astro

馃悰 BUG: SASS content incorrectly highlighted as CSS syntax when `lang='sass'` is not on the same line with `<style`

Open

#14,657 opened on Jan 17, 2025

View on GitHub
聽(6 comments)聽(0 reactions)聽(0 assignees)TypeScript聽(59,282 stars)聽(3,444 forks)batch import
- P2: nice to havefeat: syntaxgood first issuepkg: language-tools

Description

Describe the Bug

When the lang attribute of the <style> tag is not on the same line as the style tag, the content may be incorrectly highlighted as CSS syntax.

Steps to Reproduce

  1. npm create astro@latest
  2. open the project in vscode
  3. install newest astro extension
  4. create anyname.astro with the contents
<style
  lang="sass"
  define:vars={{
    // any comment to avoid formatter collapse content into a single line
    foo: '#fff',
  }}
>
  .bar
    color: var(--foo)
</style>
  1. the content below .bar (include </style>) will be incorrectly highlighted as css syntax, not sass.

Link to Minimal Reproducible Example

https://gist.github.com/HPCesia/6e935433cfd6e414099f71714cb4961d

Contributor guide