Skip to content

feat: allow comments in tags#17671

Merged
Rich-Harris merged 14 commits intomainfrom
comments-in-tags
Feb 18, 2026
Merged

feat: allow comments in tags#17671
Rich-Harris merged 14 commits intomainfrom
comments-in-tags

Conversation

@Rich-Harris
Copy link
Member

Alternative to #17188. I prefer this syntax, it's lighter and feels much more natural to me. For me it's less about commenting things out than about just, well... commenting — I frequently want to do this sort of thing:

<button
  // when the user clicks the button, the thing should happen
  onclick={doTheThing}
>click me</button>

One difference between this and #17188 is that this doesn't add a node to the AST, just like comments in CSS/JS. Haven't decided if that's desirable or not. I think it's more correct (it's an AST, not a CST; HTML comments are different insofar as they can represent 'real' nodes) but it might be less convenient when (for example) pretty-printing.

Before submitting the PR, please make sure you do the following

  • It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
  • Prefix your PR title with feat:, fix:, chore:, or docs:.
  • This message body should clearly illustrate what problems it solves.
  • Ideally, include a test that fails without this PR but passes with it.
  • If this PR changes code within packages/svelte/src, add a changeset (npx changeset).

Tests and linting

  • Run the tests with pnpm test and lint the project with pnpm lint

@changeset-bot
Copy link

changeset-bot bot commented Feb 10, 2026

🦋 Changeset detected

Latest commit: 7d324e0

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
svelte Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@Rich-Harris Rich-Harris temporarily deployed to Publish pkg.pr.new (maintainers) February 10, 2026 20:29 — with GitHub Actions Inactive
@github-actions
Copy link
Contributor

Playground

pnpm add https://pkg.pr.new/svelte@17671

@Rich-Harris
Copy link
Member Author

(note that this doesn't change anything in regard to syntax highlighting or language-tools etc; that would have to happen as a follow-up)

@Rich-Harris Rich-Harris temporarily deployed to Publish pkg.pr.new (maintainers) February 10, 2026 20:34 — with GitHub Actions Inactive
@dummdidumm
Copy link
Member

Nice idea! I have to see how much this would complicate/fuck up our TextMate syntax highlighting grammar. Also, for pretty printing this information absolutely must live somewhere, else it will just be deleted on format.

@Rich-Harris
Copy link
Member Author

JS/TS comments live on root.comments (demo):

image

What if we did the same for these?

@Rich-Harris Rich-Harris temporarily deployed to Publish pkg.pr.new (maintainers) February 10, 2026 21:14 — with GitHub Actions Inactive
@Rich-Harris Rich-Harris temporarily deployed to Publish pkg.pr.new (maintainers) February 10, 2026 21:19 — with GitHub Actions Inactive
@Rich-Harris Rich-Harris had a problem deploying to Publish pkg.pr.new (maintainers) February 10, 2026 22:09 — with GitHub Actions Failure
@Rich-Harris Rich-Harris temporarily deployed to Publish pkg.pr.new (maintainers) February 10, 2026 22:11 — with GitHub Actions Inactive
@Rich-Harris
Copy link
Member Author

alright, comments are now printing correctly if you use the included print(...) function. Doesn't help Prettier et al (which will just bail on this, at least for now) but is a necessary first step

@Rich-Harris Rich-Harris temporarily deployed to Publish pkg.pr.new (maintainers) February 10, 2026 22:21 — with GitHub Actions Inactive
@dummdidumm dummdidumm temporarily deployed to Publish pkg.pr.new (maintainers) February 11, 2026 16:15 — with GitHub Actions Inactive
@dummdidumm dummdidumm temporarily deployed to Publish pkg.pr.new (maintainers) February 11, 2026 17:15 — with GitHub Actions Inactive
@Rich-Harris Rich-Harris temporarily deployed to Publish pkg.pr.new (maintainers) February 11, 2026 18:03 — with GitHub Actions Inactive
@dummdidumm
Copy link
Member

adding prettier support was straightforward sveltejs/prettier-plugin-svelte#510, now still needs language tools support (or rather I need to check if it breaks stuff; and we need syntax highlighting)

@svelte-docs-bot
Copy link

@Rich-Harris Rich-Harris merged commit 92e2fc1 into main Feb 18, 2026
20 checks passed
@Rich-Harris Rich-Harris deleted the comments-in-tags branch February 18, 2026 21:51
@github-actions github-actions bot mentioned this pull request Feb 18, 2026
Rich-Harris pushed a commit that referenced this pull request Feb 18, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## svelte@5.53.0

### Minor Changes

- feat: allow comments in tags
([#17671](#17671))

- feat: allow error boundaries to work on the server
([#17672](#17672))

### Patch Changes

- fix: use TrustedHTML to test for customizable <select> support, where
necessary ([#17743](#17743))

- fix: ensure head effects are kept in the effect tree
([#17746](#17746))

- chore: deactivate current_batch by default in unset_context
([#17738](#17738))

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
dummdidumm added a commit to sveltejs/prettier-plugin-svelte that referenced this pull request Feb 18, 2026
dummdidumm added a commit to sveltejs/language-tools that referenced this pull request Feb 18, 2026
dummdidumm added a commit to sveltejs/language-tools that referenced this pull request Feb 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants