├── .changeset ├── README.md └── config.json ├── .gitattributes ├── .github ├── CODE_OF_CONDUCT.md ├── ISSUE_TEMPLATE │ ├── Bug_report.md │ └── Feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── ci.yml ├── .gitignore ├── .husky └── pre-commit ├── .lintstagedrc.json ├── .prettierignore ├── .prettierrc.json ├── .vscode ├── launch.json └── tasks.json ├── LICENSE ├── README.md ├── eslint.config.mjs ├── package-lock.json ├── package.json ├── packages ├── language-server │ ├── .mocharc.json │ ├── CHANGELOG.md │ ├── NOTICE │ ├── README.md │ ├── bin.js │ ├── build.mts │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ ├── components │ │ │ │ ├── const │ │ │ │ │ └── index.marko │ │ │ │ └── let │ │ │ │ │ └── index.marko │ │ │ ├── fixtures │ │ │ │ ├── html │ │ │ │ │ ├── accesskeys │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── accesskeys.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── alt-text │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── alt-text.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── aria-allowed-attr │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── aria-allowed-attr.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── aria-allowed-role │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── aria-allowed-role.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── aria-hidden-body │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── aria-hidden-body.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── aria-hidden-focus │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── aria-hidden-focus.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── aria-roles │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── aria-roles.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── aria-text │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── aria-text.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── aria-valid-attr-value │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── aria-valid-attr-value.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── autocomplete-valid │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── autocomplete-valid.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── avoid-inline-spacing │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── avoid-inline-spacing.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── blink │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── blink.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── empty-heading │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── empty-heading.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── form-field-multiple-labels │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── form-field-multiple-labels.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── hidden-content │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── hidden-content.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── html-lang-valid │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── html-lang-valid.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── html-xml-lang-mismatch │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── html-xml-lang-mismatch.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── identical-links-same-purpose │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── identical-links-same-purpose.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── landmark-no-duplicates │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── landmark-no-duplicates.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── landmark-unique │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── landmark-unique.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── marquee │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── marquee.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── meta-refresh │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── meta-refresh.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── meta-viewport-large │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── meta-viewport-large.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── meta-viewport │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── meta-viewport.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── no-autoplay-audio │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── no-autoplay-audio.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── p-as-heading │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── p-as-heading.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── presentation-role-conflict │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── presentation-role-conflict.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── scope-attr-valid │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── scope-attr-valid.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── scrollable-region-focusable │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── scrollable-region-focusable.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── server-side-image-map │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── server-side-image-map.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tabindex │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tabindex.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ └── valid-lang │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── valid-lang.expected │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ ├── script │ │ │ │ │ ├── abort-signal │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── abort-signal.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-boolean │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-boolean.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-class-id-shorthands │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-class-id-shorthands.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── test-tag.html │ │ │ │ │ │ │ │ ├── test-tag.md │ │ │ │ │ │ │ │ └── test-tag.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-modifiers │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-modifiers.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-syntax-error │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-syntax-error.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tag-target-property │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tag-target-property.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── test-tag │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag │ │ │ │ │ │ │ │ ├── index.marko │ │ │ │ │ │ │ │ └── marko-tag.json │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-dynamic-for │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-dynamic-for.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-dynamic-if │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-dynamic-if.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-dynamic-while │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-dynamic-while.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-dynamic-with-scriptlets │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-dynamic-with-scriptlets.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-for-narrowing │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-for-narrowing.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── list.html │ │ │ │ │ │ │ │ ├── list.md │ │ │ │ │ │ │ │ └── list.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── list.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-nested-type │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-nested-type.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── list.html │ │ │ │ │ │ │ │ ├── list.md │ │ │ │ │ │ │ │ └── list.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── list.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-params-js │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-params-js.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── child.html │ │ │ │ │ │ │ │ ├── child.js │ │ │ │ │ │ │ │ └── child.md │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── index.md │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── child.marko │ │ │ │ │ │ ├── index.marko │ │ │ │ │ │ └── marko.json │ │ │ │ │ ├── attr-tags-params │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-params.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── child.html │ │ │ │ │ │ │ │ ├── child.md │ │ │ │ │ │ │ │ └── child.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── child.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-static-dynamic-renderbody │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-static-dynamic-renderbody.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── attr-tags-static │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── attr-tags-static.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── basic.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── bound-attr-const-dynamic-member │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── bound-attr-const-dynamic-member.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── bound-attr-const-ident │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── bound-attr-const-ident.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── bound-attr-const-literal-member │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── bound-attr-const-literal-member.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── bound-attr-missing-ident │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── bound-attr-missing-ident.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── bound-attr-mut-dynamic-member │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── bound-attr-mut-dynamic-member.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── bound-attr-mut-ident │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── bound-attr-mut-ident.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── bound-attr-mut-literal-member │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── bound-attr-mut-literal-member.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── class-api-basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── class-api-basic.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ └── index.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── class-api-event-binding │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── class-api-event-binding.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ └── index.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── class-api-type-no-state │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── class-api-type-no-state.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── class-api-type-state-basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── class-api-type-state-basic.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── class-api-type-state-multiple-generics │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── class-api-type-state-multiple-generics.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── class-api-type-state-single-generic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── class-api-type-state-single-generic.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── class-api-with-component-auto-import │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── class-api-with-component-auto-import.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── component.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── comments │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── comments.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── custom-tag-args │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── custom-tag-args.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── test-tag.html │ │ │ │ │ │ │ │ ├── test-tag.md │ │ │ │ │ │ │ │ └── test-tag.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── dynamic-tag │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── dynamic-tag.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── empty-tagname │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── empty-tagname.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── for-tag-attr-tags │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── for-tag-attr-tags.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── my-table.html │ │ │ │ │ │ │ │ ├── my-table.md │ │ │ │ │ │ │ │ └── my-table.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── my-table.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── for-tag-input │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── for-tag-input.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── my-select.html │ │ │ │ │ │ │ │ ├── my-select.md │ │ │ │ │ │ │ │ └── my-select.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── my-select.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── for-tag │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── for-tag.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── hover-before-and-after-tokens │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── hover-before-and-after-tokens.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── if-tag │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── if-tag.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── import-tag-shorthand-missing │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── import-tag-shorthand-missing.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── import-without-types │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── import-without-types.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── components │ │ │ │ │ │ │ ├── Child │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── marko-tag.json │ │ │ │ │ │ │ └── child-other │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── marko-tag.json │ │ │ │ │ ├── input-type-basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── input-type-basic.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── input-type-default-generic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── input-type-default-generic.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── input-type-duplicated │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── input-type-duplicated.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── input-type-generic-with-return │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── input-type-generic-with-return.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── input-type-invalid │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── input-type-invalid.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── input-type-multiple-generics │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── input-type-multiple-generics.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── input-type-single-generic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── input-type-single-generic.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── invalid-attrs │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── invalid-attrs.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ └── index.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── no-update-if-directive │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── no-update-if-directive.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── prefer-local-identifier-tag-name │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── prefer-local-identifier-tag-name.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── TestTagA.html │ │ │ │ │ │ │ │ ├── TestTagA.md │ │ │ │ │ │ │ │ ├── TestTagA.ts │ │ │ │ │ │ │ │ ├── TestTagB.html │ │ │ │ │ │ │ │ ├── TestTagB.md │ │ │ │ │ │ │ │ └── TestTagB.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── TestTagA.marko │ │ │ │ │ │ │ └── TestTagB.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── program-empty │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── program-empty.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── program-text-only │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── program-text-only.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── recursive-input-provided │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── recursive-input-provided.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── comments.html │ │ │ │ │ │ │ │ ├── comments.md │ │ │ │ │ │ │ │ └── comments.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── comments.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── recursive-input-scope-hoist │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── recursive-input-scope-hoist.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── comments.html │ │ │ │ │ │ │ │ ├── comments.md │ │ │ │ │ │ │ │ └── comments.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── comments.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── reference-tag-without-renderer │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── reference-tag-without-renderer.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag │ │ │ │ │ │ │ │ ├── marko-tag.json │ │ │ │ │ │ │ │ └── translate.js │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── render-body-basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── render-body-basic.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── my-tag │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── my-tag │ │ │ │ │ │ │ │ └── index.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── render-user-defined-template │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── render-user-defined-template.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── return-tag-basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── return-tag-basic.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── return-tag-nested │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── return-tag-nested.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── test-tag.html │ │ │ │ │ │ │ │ ├── test-tag.md │ │ │ │ │ │ │ │ └── test-tag.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── script │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── script.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── simple-hoist │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── simple-hoist.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── split-component-d-ts │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── split-component-d-ts.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── fancy-button │ │ │ │ │ │ │ │ │ ├── index.d.html │ │ │ │ │ │ │ │ │ ├── index.d.md │ │ │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ └── regular-button │ │ │ │ │ │ │ │ │ ├── index.d.html │ │ │ │ │ │ │ │ │ ├── index.d.md │ │ │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── fancy-button │ │ │ │ │ │ │ │ ├── component.d.ts │ │ │ │ │ │ │ │ ├── component.js │ │ │ │ │ │ │ │ ├── index.d.marko │ │ │ │ │ │ │ │ └── index.marko │ │ │ │ │ │ │ └── regular-button │ │ │ │ │ │ │ │ ├── component-browser.d.ts │ │ │ │ │ │ │ │ ├── component-browser.js │ │ │ │ │ │ │ │ ├── index.d.marko │ │ │ │ │ │ │ │ └── index.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-param-mutation │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-param-mutation.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── test-tag.html │ │ │ │ │ │ │ │ ├── test-tag.md │ │ │ │ │ │ │ │ └── test-tag.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-params-basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-params-basic.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── test-tag.html │ │ │ │ │ │ │ │ ├── test-tag.md │ │ │ │ │ │ │ │ └── test-tag.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-params-syntax-error │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-params-syntax-error.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-params-with-generics │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-params-with-generics.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── loader.html │ │ │ │ │ │ │ │ ├── loader.md │ │ │ │ │ │ │ │ └── loader.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── loader.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-type-args │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-type-args.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── test-tag.html │ │ │ │ │ │ │ │ ├── test-tag.md │ │ │ │ │ │ │ │ └── test-tag.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-type-params │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-type-params.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── test-tag.html │ │ │ │ │ │ │ │ ├── test-tag.md │ │ │ │ │ │ │ │ └── test-tag.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── test-tag.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-var-hoisting │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-var-hoisting.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-var-mutation-shadowing │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-var-mutation-shadowing.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-var-mutations-nested │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-var-mutations-nested.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-var-mutations │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-var-mutations.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tag-var-syntax-error │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tag-var-syntax-error.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── tags-api-basic │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── tags-api-basic.expected │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── fancy-button │ │ │ │ │ │ │ │ └── index.marko │ │ │ │ │ │ └── index.marko │ │ │ │ │ ├── unclosed-open-tag │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ │ └── unclosed-open-tag.expected │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ │ └── while-tag │ │ │ │ │ │ ├── __snapshots__ │ │ │ │ │ │ └── while-tag.expected │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.marko │ │ │ │ └── tsconfig.json │ │ │ ├── index.test.ts │ │ │ └── util │ │ │ │ ├── code-frame.ts │ │ │ │ └── language-service.ts │ │ ├── bin.ts │ │ ├── index.ts │ │ ├── service │ │ │ ├── html │ │ │ │ ├── axe-rules │ │ │ │ │ ├── axe-rules.ts │ │ │ │ │ ├── generate-axe-rules.ts │ │ │ │ │ └── rule-exceptions.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── marko │ │ │ │ ├── complete │ │ │ │ │ ├── AttrName.ts │ │ │ │ │ ├── AttrValue.ts │ │ │ │ │ ├── Import.ts │ │ │ │ │ ├── OpenTagName.ts │ │ │ │ │ ├── Tag.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── definition │ │ │ │ │ ├── AttrName.ts │ │ │ │ │ ├── OpenTagName.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── document-links.ts │ │ │ │ ├── document-symbols.ts │ │ │ │ ├── format.ts │ │ │ │ ├── hover │ │ │ │ │ ├── OpenTagName.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── util │ │ │ │ │ ├── get-tag-name-completion.ts │ │ │ │ │ └── is-document-link-attr.ts │ │ │ │ └── validate.ts │ │ │ ├── script │ │ │ │ ├── index.ts │ │ │ │ └── util │ │ │ │ │ └── print-jsdoc-tag.ts │ │ │ ├── style │ │ │ │ └── index.ts │ │ │ └── types.ts │ │ ├── ts-plugin │ │ │ ├── host.ts │ │ │ └── index.ts │ │ └── utils │ │ │ ├── constants.ts │ │ │ ├── file-system.ts │ │ │ ├── file.ts │ │ │ ├── messages.ts │ │ │ ├── project-defaults.ts │ │ │ ├── regexp-builder.ts │ │ │ ├── resolve-url.ts │ │ │ ├── text-documents.ts │ │ │ └── workspace.ts │ └── tsconfig.json ├── language-tools │ ├── CHANGELOG.md │ ├── build.mts │ ├── marko.internal.d.ts │ ├── package.json │ ├── src │ │ ├── extractors │ │ │ ├── html │ │ │ │ ├── index.ts │ │ │ │ └── keywords.ts │ │ │ ├── script │ │ │ │ ├── index.ts │ │ │ │ └── util │ │ │ │ │ ├── attach-scopes.ts │ │ │ │ │ ├── get-component-filename.ts │ │ │ │ │ ├── get-runtime-api.ts │ │ │ │ │ ├── is-text-only-script.ts │ │ │ │ │ ├── jsdoc-input-type.ts │ │ │ │ │ ├── runtime-overrides.ts │ │ │ │ │ └── script-parser.ts │ │ │ └── style │ │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── parser.ts │ │ ├── processors │ │ │ ├── index.ts │ │ │ └── marko.ts │ │ └── util │ │ │ ├── extractor.ts │ │ │ ├── get-ext.ts │ │ │ ├── get-node-at-offset.ts │ │ │ ├── is-definition-file.ts │ │ │ └── project.ts │ └── tsconfig.json ├── type-check │ ├── CHANGELOG.md │ ├── README.md │ ├── build.mts │ ├── package.json │ ├── src │ │ ├── cli.ts │ │ └── run.ts │ └── tsconfig.json └── vscode │ ├── .vscodeignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── NOTICE │ ├── README.md │ ├── build.mts │ ├── img │ ├── goToAttrName.gif │ ├── goToAttrValue.gif │ ├── goToTag.gif │ └── marko.png │ ├── marko.configuration.json │ ├── modules │ └── marko-ts-plugin │ │ ├── index.js │ │ └── package.json │ ├── package.json │ ├── release.mts │ ├── src │ ├── __tests__ │ │ ├── code-action.test.ts │ │ ├── colors.test.ts │ │ ├── completion.test.ts │ │ ├── definition.test.ts │ │ ├── diagnostics.test.ts │ │ ├── format.test.ts │ │ ├── highlight.test.ts │ │ ├── hover.test.ts │ │ ├── index.ts │ │ ├── references.test.ts │ │ ├── rename.test.ts │ │ └── setup.test.ts │ ├── index.ts │ ├── server.ts │ └── ts-plugin.ts │ ├── syntaxes │ ├── embedded.marko.tmLanguage.json │ └── marko.tmLanguage.json │ ├── test.mts │ └── tsconfig.json └── tsconfig.json /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.7.0/schema.json", 3 | "changelog": [ 4 | "@changesets/changelog-github", 5 | { 6 | "repo": "marko-js/language-server" 7 | } 8 | ], 9 | "updateInternalDependencies": "patch", 10 | "baseBranch": "main", 11 | "access": "public", 12 | "commit": false, 13 | "linked": [], 14 | "ignore": [], 15 | "fixed": [] 16 | } 17 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | package-lock.json -diff -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F680Feature request" 3 | about: Suggest an idea for a package in this repo 4 | --- 5 | 6 | ## 7 | 8 | 9 | 10 | ### Description 11 | 12 | 13 | 14 | ### Why 15 | 16 | 17 | 18 | 19 | 20 | ### Possible Implementation & Open Questions 21 | 22 | 23 | 24 | 25 | 26 | ### Is this something you're interested in working on? 27 | 28 | 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Editor 2 | *.sublime* 3 | .vscode/settings.json 4 | 5 | # OSX 6 | *.DS_Store 7 | 8 | # NPM 9 | node_modules 10 | 11 | # Build 12 | dist 13 | *.marko.js 14 | *.actual* 15 | *.tsbuildinfo 16 | **/.vscode-test 17 | 18 | # Logging 19 | *.log 20 | 21 | # Coverage 22 | coverage 23 | .nyc_output 24 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npm exec lint-staged 2 | -------------------------------------------------------------------------------- /.lintstagedrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "*.ts": ["eslint --fix", "prettier --write"], 3 | "*{.js,.json,.md,.yml,rc}": ["prettier --write"] 4 | } 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .vscode* 2 | .nyc_output 3 | package.json 4 | package-lock.json 5 | CHANGELOG.md 6 | **/node_modules 7 | coverage 8 | dist 9 | __snapshots__ 10 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "overrides": [ 3 | { 4 | "files": "*rc", 5 | "options": { 6 | "parser": "json" 7 | } 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "type": "npm", 6 | "label": "build", 7 | "script": "build:dev", 8 | "group": { 9 | "kind": "build", 10 | "isDefault": true 11 | }, 12 | "presentation": { 13 | "reveal": "never" 14 | } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright 2022 eBay Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /packages/language-server/.mocharc.json: -------------------------------------------------------------------------------- 1 | { 2 | "timeout": 10000, 3 | "enable-source-maps": true, 4 | "watchFiles": ["src/**/*.@(ts|marko)", "!**/__snapshots__/**"], 5 | "require": ["tsx", "mocha-snap"] 6 | } 7 | -------------------------------------------------------------------------------- /packages/language-server/README.md: -------------------------------------------------------------------------------- 1 | # Marko Language Server 2 | 3 | Implements [language-server-protocol](https://github.com/Microsoft/language-server-protocol) 4 | 5 | _Marko VSCode_ is the name of the VSCode client consuming this 6 | `marko-language-server`. But any editor that is compatible with the Language 7 | Server Protocol can create clients that can use the features provided by this 8 | language server. 9 | -------------------------------------------------------------------------------- /packages/language-server/bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require("./dist/index"); 3 | -------------------------------------------------------------------------------- /packages/language-server/build.mts: -------------------------------------------------------------------------------- 1 | import { build, BuildOptions } from "esbuild"; 2 | import path from "path"; 3 | import { fileURLToPath } from "url"; 4 | 5 | const opts: BuildOptions = { 6 | bundle: true, 7 | outdir: "dist", 8 | outbase: "src", 9 | platform: "node", 10 | target: ["node20"], 11 | sourcemap: "linked", 12 | entryPoints: ["src/index.ts"], 13 | absWorkingDir: path.dirname(fileURLToPath(import.meta.url)), 14 | plugins: [ 15 | { 16 | name: "external-modules", 17 | setup(build) { 18 | build.onResolve( 19 | { filter: /^[^./]|^\.[^./]|^\.\.[^/]/ }, 20 | ({ path }) => ({ 21 | path, 22 | external: true, 23 | }) 24 | ); 25 | }, 26 | }, 27 | ], 28 | }; 29 | 30 | await Promise.all([ 31 | build({ 32 | ...opts, 33 | format: "cjs", 34 | }), 35 | build({ 36 | ...opts, 37 | format: "esm", 38 | outExtension: { ".js": ".mjs" }, 39 | }), 40 | ]); 41 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/components/const/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | value: A; 3 | } 4 | 5 | return ...(1 as any as { 6 | value: A; 7 | }); 8 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/components/let/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | value: T 3 | valueChange?: (newValue: T) => void 4 | } 5 | 6 | return=input.value valueChange=(input.valueChange || ((newValue: T) => {})); 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/accesskeys/__snapshots__/accesskeys.expected/index.html: -------------------------------------------------------------------------------- 1 | Link to GoogleLink to GitHub -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/accesskeys/__snapshots__/accesskeys.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 | Link to Google 5 | | ^ Fix all of the following: 6 | Document has multiple elements with the same accesskey 7 | 2 | Link to GitHub 8 | ``` 9 | 10 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/accesskeys/index.marko: -------------------------------------------------------------------------------- 1 | Link to Google 2 | Link to GitHub -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/alt-text/__snapshots__/alt-text.expected/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | eBay 5 | eBay 6 |
test -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/alt-text/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | eBay 9 | eBay 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-allowed-attr/__snapshots__/aria-allowed-attr.expected/index.html: -------------------------------------------------------------------------------- 1 |
Click me
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-allowed-attr/__snapshots__/aria-allowed-attr.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/aria-allowed-attr/__snapshots__/aria-allowed-attr.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-allowed-attr/index.marko: -------------------------------------------------------------------------------- 1 |
Click me
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-allowed-role/__snapshots__/aria-allowed-role.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-allowed-role/__snapshots__/aria-allowed-role.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-allowed-role/index.marko: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-hidden-body/__snapshots__/aria-hidden-body.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-hidden-body/__snapshots__/aria-hidden-body.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 | 5 | | ^^^^ Fix any of the following: 6 | aria-hidden=true should not be present on the document body 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-hidden-body/index.marko: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-hidden-focus/__snapshots__/aria-hidden-focus.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-hidden-focus/__snapshots__/aria-hidden-focus.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/aria-hidden-focus/__snapshots__/aria-hidden-focus.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-hidden-focus/index.marko: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | 9 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-roles/__snapshots__/aria-roles.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-roles/__snapshots__/aria-roles.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 6 3 | ```marko 4 | > 1 |
5 | | ^^^^ Type '"fake-role"' is not assignable to type 'AttrMissing | "alert" | "alertdialog" | "application" | "article" | "banner" | "button" | "cell" | "checkbox" | "columnheader" | "combobox" | "complementary" | ... 58 more ... | "treeitem"'. 6 | 2 | 7 | ``` 8 | 9 | ### Ln 1, Col 2 10 | ```marko 11 | > 1 |
12 | | ^^^ Fix all of the following: 13 | Role must be one of the valid ARIA roles: fake-role 14 | 2 | 15 | ``` 16 | 17 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-roles/index.marko: -------------------------------------------------------------------------------- 1 |
2 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-text/__snapshots__/aria-text.expected/index.html: -------------------------------------------------------------------------------- 1 |

body text

-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-text/index.marko: -------------------------------------------------------------------------------- 1 | p role="text" 2 | -- body text 3 | button -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-valid-attr-value/__snapshots__/aria-valid-attr-value.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-valid-attr-value/__snapshots__/aria-valid-attr-value.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 49 3 | ```marko 4 | > 1 | 5 | | ^^^^^^^^^^^^ Type '"sometimes"' is not assignable to type 'AttrTriState'. 6 | 2 | 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/aria-valid-attr-value/index.marko: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/autocomplete-valid/__snapshots__/autocomplete-valid.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/autocomplete-valid/__snapshots__/autocomplete-valid.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 2, Col 2 3 | ```marko 4 | 1 | 5 | > 2 | 6 | | ^^^^^ Fix all of the following: 7 | the autocomplete attribute is incorrectly formatted 8 | ``` 9 | 10 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/autocomplete-valid/index.marko: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/avoid-inline-spacing/__snapshots__/avoid-inline-spacing.expected/index.html: -------------------------------------------------------------------------------- 1 |

Paragraph

Paragraph

Paragraph

Paragraph

-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/avoid-inline-spacing/__snapshots__/avoid-inline-spacing.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/avoid-inline-spacing/__snapshots__/avoid-inline-spacing.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/avoid-inline-spacing/index.marko: -------------------------------------------------------------------------------- 1 |

Paragraph

2 |

Paragraph

3 |

Paragraph

4 |

Paragraph

-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/blink/__snapshots__/blink.expected/index.html: -------------------------------------------------------------------------------- 1 | 2 | This shouldn't be here 3 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/blink/__snapshots__/blink.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 | 5 | | ^^^^^ Fix all of the following: 6 | Element is visible 7 | 2 | This shouldn't be here 8 | 3 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/blink/index.marko: -------------------------------------------------------------------------------- 1 | 2 | This shouldn't be here 3 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/empty-heading/__snapshots__/empty-heading.expected/index.html: -------------------------------------------------------------------------------- 1 |

-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/empty-heading/index.marko: -------------------------------------------------------------------------------- 1 |

2 |

3 |

4 |

5 |
6 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/form-field-multiple-labels/__snapshots__/form-field-multiple-labels.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/form-field-multiple-labels/__snapshots__/form-field-multiple-labels.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/form-field-multiple-labels/__snapshots__/form-field-multiple-labels.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/form-field-multiple-labels/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/hidden-content/__snapshots__/hidden-content.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/hidden-content/__snapshots__/hidden-content.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/hidden-content/__snapshots__/hidden-content.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/hidden-content/__snapshots__/hidden-content.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/hidden-content/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/hidden-content/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/html-lang-valid/__snapshots__/html-lang-valid.expected/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Language 35 4 | 5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/html-lang-valid/__snapshots__/html-lang-valid.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 | 5 | | ^^^^ Fix all of the following: 6 | Value of lang attribute not included in the list of valid languages 7 | 2 | 8 | 3 | Language 35 9 | 4 | 10 | ``` 11 | 12 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/html-lang-valid/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | Language 35 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/html-xml-lang-mismatch/__snapshots__/html-xml-lang-mismatch.expected/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Conflicting Languages 4 | 5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/html-xml-lang-mismatch/__snapshots__/html-xml-lang-mismatch.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 17 3 | ```marko 4 | > 1 | 5 | | ^^^ Object literal may only specify known properties, and '"xml"' does not exist in type 'Directives & HTML'. 6 | 2 | 7 | 3 | Conflicting Languages 8 | 4 | 9 | ``` 10 | 11 | ### Ln 1, Col 2 12 | ```marko 13 | > 1 | 14 | | ^^^^ Fix all of the following: 15 | Lang and xml:lang attributes do not have the same base language 16 | 2 | 17 | 3 | Conflicting Languages 18 | 4 | 19 | ``` 20 | 21 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/html-xml-lang-mismatch/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | Conflicting Languages 4 | 5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/identical-links-same-purpose/__snapshots__/identical-links-same-purpose.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/identical-links-same-purpose/__snapshots__/identical-links-same-purpose.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/identical-links-same-purpose/__snapshots__/identical-links-same-purpose.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/identical-links-same-purpose/__snapshots__/identical-links-same-purpose.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/identical-links-same-purpose/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/identical-links-same-purpose/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/landmark-no-duplicates/__snapshots__/landmark-no-duplicates.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/landmark-no-duplicates/__snapshots__/landmark-no-duplicates.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 |
5 | | ^^^ Fix any of the following: 6 | Document has more than one banner landmark 7 | 2 |
8 | 3 | 9 | 4 |
10 | ``` 11 | 12 | ### Ln 4, Col 2 13 | ```marko 14 | 2 |
15 | 3 | 16 | > 4 |
17 | | ^^^ Fix any of the following: 18 | Document has more than one contentinfo landmark 19 | 5 |
20 | 6 | 21 | 7 |
22 | ``` 23 | 24 | ### Ln 7, Col 2 25 | ```marko 26 | 5 |
27 | 6 | 28 | > 7 |
29 | | ^^^ Fix any of the following: 30 | Document has more than one main landmark 31 | 8 |
32 | 9 | 33 | ``` 34 | 35 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/landmark-no-duplicates/index.marko: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | 7 |
8 |
9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/landmark-unique/__snapshots__/landmark-unique.expected/index.html: -------------------------------------------------------------------------------- 1 |
Region 1
Region 2
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/landmark-unique/__snapshots__/landmark-unique.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 |
Region 1
5 | | ^^^ Fix any of the following: 6 | The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable 7 | 2 |
Region 2
8 | 3 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/landmark-unique/index.marko: -------------------------------------------------------------------------------- 1 |
Region 1
2 |
Region 2
3 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/marquee/__snapshots__/marquee.expected/index.html: -------------------------------------------------------------------------------- 1 | 2 | Should not be used 3 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/marquee/__snapshots__/marquee.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 | 5 | | ^^^^^^^ Fix all of the following: 6 | Element is visible 7 | 2 | Should not be used 8 | 3 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/marquee/index.marko: -------------------------------------------------------------------------------- 1 | 2 | Should not be used 3 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-refresh/__snapshots__/meta-refresh.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-refresh/__snapshots__/meta-refresh.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 7 3 | ```marko 4 | > 1 | 5 | | ^^^^^^^^^^ Type '"refresh"' is not assignable to type 'AttrMissing | "Content-Security-Policy" | "Content-Type" | "Default-Style" | "Refresh" | "X-UA-Compatible"'. Did you mean '"Refresh"'? 6 | ``` 7 | 8 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-refresh/index.marko: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-viewport-large/__snapshots__/meta-viewport-large.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/meta-viewport-large/__snapshots__/meta-viewport-large.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-viewport-large/__snapshots__/meta-viewport-large.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/meta-viewport-large/__snapshots__/meta-viewport-large.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-viewport-large/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/meta-viewport-large/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-viewport/__snapshots__/meta-viewport.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/meta-viewport/__snapshots__/meta-viewport.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-viewport/__snapshots__/meta-viewport.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/meta-viewport/__snapshots__/meta-viewport.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/meta-viewport/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/meta-viewport/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/no-autoplay-audio/__snapshots__/no-autoplay-audio.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/no-autoplay-audio/__snapshots__/no-autoplay-audio.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/no-autoplay-audio/__snapshots__/no-autoplay-audio.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/no-autoplay-audio/__snapshots__/no-autoplay-audio.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/no-autoplay-audio/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/no-autoplay-audio/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/p-as-heading/__snapshots__/p-as-heading.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/p-as-heading/__snapshots__/p-as-heading.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/p-as-heading/__snapshots__/p-as-heading.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/p-as-heading/__snapshots__/p-as-heading.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/p-as-heading/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/p-as-heading/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/presentation-role-conflict/__snapshots__/presentation-role-conflict.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/presentation-role-conflict/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/scope-attr-valid/__snapshots__/scope-attr-valid.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/scope-attr-valid/__snapshots__/scope-attr-valid.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/scope-attr-valid/__snapshots__/scope-attr-valid.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/scope-attr-valid/__snapshots__/scope-attr-valid.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/scope-attr-valid/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/scope-attr-valid/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/scrollable-region-focusable/__snapshots__/scrollable-region-focusable.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/scrollable-region-focusable/__snapshots__/scrollable-region-focusable.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/scrollable-region-focusable/__snapshots__/scrollable-region-focusable.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/scrollable-region-focusable/__snapshots__/scrollable-region-focusable.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/scrollable-region-focusable/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/scrollable-region-focusable/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/server-side-image-map/__snapshots__/server-side-image-map.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/server-side-image-map/__snapshots__/server-side-image-map.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/server-side-image-map/__snapshots__/server-side-image-map.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/server-side-image-map/__snapshots__/server-side-image-map.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/server-side-image-map/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/html/server-side-image-map/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/tabindex/__snapshots__/tabindex.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/tabindex/__snapshots__/tabindex.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 | 5 | | ^^^^^^ Fix any of the following: 6 | Element has a tabindex greater than 0 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/tabindex/index.marko: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/valid-lang/__snapshots__/valid-lang.expected/index.html: -------------------------------------------------------------------------------- 1 |

2 | This isn't a language 3 |

-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/valid-lang/__snapshots__/valid-lang.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 2 3 | ```marko 4 | > 1 |

5 | | ^ Fix all of the following: 6 | Value of lang attribute not included in the list of valid languages 7 | 2 | This isn't a language 8 | 3 |

9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/html/valid-lang/index.marko: -------------------------------------------------------------------------------- 1 |

2 | This isn't a language 3 |

-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/abort-signal/__snapshots__/abort-signal.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/abort-signal/__snapshots__/abort-signal.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/abort-signal/__snapshots__/abort-signal.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 2, Col 4 3 | ```marko 4 | 1 | 2 | $signal.onabort = () => { 6 | | ^ const $signal: AbortSignal 7 | 3 | // ^? 8 | 4 | console.log('aborted'); 9 | 5 | }; 10 | ``` 11 | 12 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/abort-signal/index.marko: -------------------------------------------------------------------------------- 1 | { 3 | // ^? 4 | console.log('aborted'); 5 | }; 6 | }/> 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-boolean/__snapshots__/attr-boolean.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-boolean/__snapshots__/attr-boolean.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-boolean/__snapshots__/attr-boolean.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-boolean/index.marko: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-class-id-shorthands/__snapshots__/attr-class-id-shorthands.expected/components/test-tag.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-class-id-shorthands/__snapshots__/attr-class-id-shorthands.expected/components/test-tag.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-class-id-shorthands/__snapshots__/attr-class-id-shorthands.expected/components/test-tag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-class-id-shorthands/__snapshots__/attr-class-id-shorthands.expected/components/test-tag.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-class-id-shorthands/__snapshots__/attr-class-id-shorthands.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-class-id-shorthands/components/test-tag.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | id: string, 3 | class: string 4 | } 5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-class-id-shorthands/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-modifiers/__snapshots__/attr-modifiers.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-modifiers/__snapshots__/attr-modifiers.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-modifiers/__snapshots__/attr-modifiers.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-modifiers/index.marko: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-syntax-error/__snapshots__/attr-syntax-error.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-syntax-error/index.marko: -------------------------------------------------------------------------------- 1 |
2 | 3 |
6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/__snapshots__/attr-tag-target-property.expected/components/test-tag/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/__snapshots__/attr-tag-target-property.expected/components/test-tag/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/__snapshots__/attr-tag-target-property.expected/components/test-tag/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/__snapshots__/attr-tag-target-property.expected/components/test-tag/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/__snapshots__/attr-tag-target-property.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | Hello! 6 | 7 | 8 | 9 | Hello! 10 | 11 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/components/test-tag/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | items: Marko.AttrTag<{ 3 | x: number; 4 | renderBody?: Marko.Body; 5 | }> 6 | } 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/components/test-tag/marko-tag.json: -------------------------------------------------------------------------------- 1 | { 2 | "@items []": {} 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tag-target-property/index.marko: -------------------------------------------------------------------------------- 1 | 2 | <@item x=1/> 3 | 4 | 5 | 6 | <@item x=1> 7 | Hello! 8 | 9 | 10 | <@item> 11 | Hello! 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-dynamic-for/__snapshots__/attr-tags-dynamic-for.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 |
7 | 8 |
9 |
10 |
11 | 12 | placeholder placeholder placeholder 13 | 14 | 15 |
16 |
17 |
18 | 19 | placeholder 20 | 21 | 22 | 23 | placeholder 24 | 25 | 26 |
27 |
28 |
29 | 30 | 31 | 32 |
33 |
34 |
35 | 36 | placeholder placeholder 37 | 38 | 39 |
40 |
41 |
42 | 43 | 44 | 45 |
46 |
47 |
48 | 49 | placeholder 50 | 51 | 52 |
53 |
54 |
55 | 56 | placeholder 57 | 58 | 59 |
60 |
61 |
62 | 63 | placeholder 64 | 65 | 66 |
67 |
68 |
69 | 70 | 71 | 72 |
73 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-dynamic-if/__snapshots__/attr-tags-dynamic-if.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | 7 |
8 | 9 |
10 |
11 |
12 | 13 |
14 |
15 | 16 |
17 |
18 |
19 | 20 |
21 |
22 | 23 |
24 |
25 | 26 |
27 |
28 | 29 |
30 |
31 |
32 | 33 |
34 |
35 | 36 |
37 |
38 |
39 | 40 |
41 |
42 |
43 | 44 |
45 |
46 |
47 | 48 |
49 | 50 |
51 | 52 |
53 |
54 | 55 | 56 | 57 | hi! 58 | 59 | 60 | 61 | 62 |
63 | 64 | 65 | 66 |
67 | 68 |
69 | 70 |
71 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-dynamic-while/__snapshots__/attr-tags-dynamic-while.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | placeholder 6 | 7 | 8 |
9 |
10 |
11 | 12 | 13 | placeholder 14 | 15 |
16 | 17 |
18 | 19 |
20 |
21 |
22 | 23 | No Condition. 24 | 25 |
26 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-dynamic-while/index.marko: -------------------------------------------------------------------------------- 1 | $ let i = 0; 2 | 3 | <${custom}> 4 | 5 | // ^? 6 | <@a> 7 | ${i} 8 | // ^? 9 | 10 | 11 | 12 | 13 | $ let done = false; 14 | $ i = 0; 15 | 16 | <${custom}> 17 | 18 | // ^? 19 | <@a> 20 | ${done} 21 | // ^? 22 | 23 | $ done = true; 24 | 25 | 26 | 27 | 28 | 29 | <${custom}> 30 | 31 | <@a> 32 | No Condition. 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-dynamic-with-scriptlets/__snapshots__/attr-tags-dynamic-with-scriptlets.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 | 7 | placeholder 8 | 9 |
10 | 11 |
12 | 13 |
14 |
15 |
16 | 17 | 18 | 19 | placeholder 20 | 21 | 22 |
23 |
24 |
25 | 26 | 27 | 28 |
29 |
30 | 31 | 32 | 33 |
34 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-dynamic-with-scriptlets/index.marko: -------------------------------------------------------------------------------- 1 | $ let done = false; 2 | $ let i = 0; 3 | 4 | <${custom}> 5 | 6 | // ^? 7 | $ i++; 8 | // ^? 9 | <@a> 10 | ${done} 11 | // ^? 12 | 13 | $ done = true; 14 | 15 | 16 | 17 | 18 | 19 | <${custom}> 20 | 21 | $ const doubleIndex = index * 2; 22 | // ^? 23 | <@a> 24 | ${doubleIndex} 25 | // ^? 26 | 27 | 28 | 29 | 30 | <${custom} x=1> 31 | 32 | $ const a = 1 as const; 33 | // ^? 34 | <@a a=a/> 35 | 36 | 37 | $ const b = 2 as const; 38 | // ^? 39 | <@b b=b/> 40 | 41 | 42 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-for-narrowing/__snapshots__/attr-tags-for-narrowing.expected/components/list.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-for-narrowing/__snapshots__/attr-tags-for-narrowing.expected/components/list.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-for-narrowing/__snapshots__/attr-tags-for-narrowing.expected/components/list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-for-narrowing/__snapshots__/attr-tags-for-narrowing.expected/components/list.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-for-narrowing/__snapshots__/attr-tags-for-narrowing.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 |
6 |
7 | 8 | 9 | 10 | 11 |
12 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-for-narrowing/components/list.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | item?: Marko.AttrTag<{ 3 | size?: "small" | "large" 4 | }> 5 | } -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-for-narrowing/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | <@item size="small"/> 4 | // ^? 5 | 6 | 7 | <@item size="small"/> 8 | // ^? 9 | <@item size="huge"/> 10 | // ^? 11 | 12 | 13 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/__snapshots__/attr-tags-nested-type.expected/components/list.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/__snapshots__/attr-tags-nested-type.expected/components/list.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/__snapshots__/attr-tags-nested-type.expected/components/list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/__snapshots__/attr-tags-nested-type.expected/components/list.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/__snapshots__/attr-tags-nested-type.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 |
7 | 8 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/__snapshots__/attr-tags-nested-type.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 4, Col 11 3 | ```marko 4 | 2 | <@a> 5 | 3 | 6 | > 4 | <@b size="small"/> 7 | | ^ (property) "size": "small" 8 | 5 | // ^? 9 | 6 | 10 | 7 | 11 | ``` 12 | 13 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/components/list.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | a?: Marko.AttrTag<{ 3 | b?: Marko.AttrTag<{ 4 | size?: "small" | "large" 5 | }> 6 | }> 7 | } 8 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-nested-type/index.marko: -------------------------------------------------------------------------------- 1 | 2 | <@a> 3 | 4 | <@b size="small"/> 5 | // ^? 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/__snapshots__/attr-tags-params-js.expected/components/child.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/__snapshots__/attr-tags-params-js.expected/components/child.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/__snapshots__/attr-tags-params-js.expected/components/child.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/__snapshots__/attr-tags-params-js.expected/components/child.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/__snapshots__/attr-tags-params-js.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | placeholder 5 | 6 | 7 |
8 | 9 | 10 | placeholder 11 | 12 | 13 |
14 | 15 | 16 | placeholder 17 | 18 | 19 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/__snapshots__/attr-tags-params-js.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 6, Col 7 3 | ```marko 4 | 4 | <@foo bar/> 5 | 5 | <@foo|data|> 6 | > 6 | ${data} 7 | | ^ (parameter) data: { 8 | a: string; 9 | b: number; 10 | } 11 | 7 | //^? 12 | 8 | 13 | 9 | 14 | ``` 15 | 16 | ### Ln 14, Col 7 17 | ```marko 18 | 12 | <@foo bar/> 19 | 13 | <@foo|data|> 20 | > 14 | ${data} 21 | | ^ (parameter) data: { 22 | a: string; 23 | b: number; 24 | } 25 | 15 | //^? 26 | 16 | 27 | 17 | 28 | ``` 29 | 30 | ### Ln 23, Col 7 31 | ```marko 32 | 21 | <@foo bar/> 33 | 22 | <@foo|data|> 34 | > 23 | ${data} 35 | | ^ (parameter) data: { 36 | a: string; 37 | b: number; 38 | } 39 | 24 | //^? 40 | 25 | 41 | 26 | 42 | ``` 43 | 44 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/components/child.marko: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef {{ 3 | * foo: Marko.AttrTag<{ 4 | * bar?: boolean; 5 | * renderBody?: Marko.Body<[{a: string, b: number}]> 6 | * }> 7 | * }} Input 8 | */ 9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/index.marko: -------------------------------------------------------------------------------- 1 | import Child from ""; 2 | 3 | 4 | <@foo bar/> 5 | <@foo|data|> 6 | ${data} 7 | //^? 8 | 9 | 10 | 11 | 12 | <@foo bar/> 13 | <@foo|data|> 14 | ${data} 15 | //^? 16 | 17 | 18 | 19 | // This errors for now, because `typeof (some + expression)` is not allowed 20 | <${true && Child}> 21 | <@foo bar/> 22 | <@foo|data|> 23 | ${data} 24 | //^? 25 | 26 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params-js/marko.json: -------------------------------------------------------------------------------- 1 | { 2 | "script-lang": "js" 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params/__snapshots__/attr-tags-params.expected/components/child.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-params/__snapshots__/attr-tags-params.expected/components/child.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params/__snapshots__/attr-tags-params.expected/components/child.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/attr-tags-params/__snapshots__/attr-tags-params.expected/components/child.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params/__snapshots__/attr-tags-params.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | placeholder 5 | 6 | 7 |
8 | 9 | 10 | placeholder 11 | 12 | 13 |
14 | 15 | 16 | placeholder 17 | 18 | 19 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params/__snapshots__/attr-tags-params.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 6, Col 7 3 | ```marko 4 | 4 | <@foo bar/> 5 | 5 | <@foo|data|> 6 | > 6 | ${data} 7 | | ^ (parameter) data: { 8 | a: string; 9 | b: number; 10 | } 11 | 7 | //^? 12 | 8 | 13 | 9 |
14 | ``` 15 | 16 | ### Ln 14, Col 7 17 | ```marko 18 | 12 | <@foo bar/> 19 | 13 | <@foo|data|> 20 | > 14 | ${data} 21 | | ^ (parameter) data: { 22 | a: string; 23 | b: number; 24 | } 25 | 15 | //^? 26 | 16 | 27 | 17 | 28 | ``` 29 | 30 | ### Ln 23, Col 7 31 | ```marko 32 | 21 | <@foo bar/> 33 | 22 | <@foo|data|> 34 | > 23 | ${data} 35 | | ^ (parameter) data: { 36 | a: string; 37 | b: number; 38 | } 39 | 24 | //^? 40 | 25 | 41 | 26 | 42 | ``` 43 | 44 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params/components/child.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | foo: Marko.AttrTag<{ 3 | bar?: boolean; 4 | renderBody?: Marko.Body<[{a: string, b: number}]> 5 | }> 6 | } 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-params/index.marko: -------------------------------------------------------------------------------- 1 | import Child from ""; 2 | 3 | 4 | <@foo bar/> 5 | <@foo|data|> 6 | ${data} 7 | //^? 8 | 9 | 10 | 11 | 12 | <@foo bar/> 13 | <@foo|data|> 14 | ${data} 15 | //^? 16 | 17 | 18 | 19 | // This errors for now, because `typeof (some + expression)` is not allowed 20 | <${true && Child}> 21 | <@foo bar/> 22 | <@foo|data|> 23 | ${data} 24 | //^? 25 | 26 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-static-dynamic-renderbody/__snapshots__/attr-tags-static-dynamic-renderbody.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | ... 3 |
4 | 5 | ... 6 |
7 |
placeholder
8 | 9 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-static-dynamic-renderbody/__snapshots__/attr-tags-static-dynamic-renderbody.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 4, Col 9 3 | ```marko 4 | 2 | <${custom}> 5 | 3 | <@header>... 6 | > 4 | 7 | | ^ const someCondition: boolean 8 | 5 | //^? 9 | 6 | <@footer>... 10 | 7 | 11 | ``` 12 | 13 | ### Ln 8, Col 22 14 | ```marko 15 | 6 | <@footer>... 16 | 7 | 17 | > 8 | ${x} 18 | | ^ (parameter) x: number 19 | 9 | // ^? 20 | 10 | 21 | 11 | 22 | ``` 23 | 24 | ## Diagnostics 25 | ### Ln 2, Col 4 26 | ```marko 27 | 1 | 28 | > 2 | <${custom}> 29 | | ^^^^^^ Cannot find name 'custom'. 30 | 3 | <@header>... 31 | 4 | 32 | 5 | //^? 33 | ``` 34 | 35 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-static-dynamic-renderbody/index.marko: -------------------------------------------------------------------------------- 1 | 2 | <${custom}> 3 | <@header>... 4 | 5 | //^? 6 | <@footer>... 7 | 8 | ${x} 9 | // ^? 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-static/__snapshots__/attr-tags-static.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | hi! 7 | 8 | 9 | 10 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-static/__snapshots__/attr-tags-static.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 13, Col 3 3 | ```marko 4 | 11 | 5 | 12 | 13 | hoistedFromStaticMember; 7 | | ^ const hoistedFromStaticMember: 1 8 | 14 | //^? 9 | 15 | }/> 10 | 16 | 11 | ``` 12 | 13 | ## Diagnostics 14 | ### Ln 1, Col 4 15 | ```marko 16 | > 1 | <${custom}> 17 | | ^^^^^^ Cannot find name 'custom'. 18 | 2 | <@b/> 19 | 3 | 20 | 4 | <@a b=1> 21 | ``` 22 | 23 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/attr-tags-static/index.marko: -------------------------------------------------------------------------------- 1 | <${custom}> 2 | <@b/> 3 | 4 | <@a b=1> 5 | 6 | hi! 7 | 8 | 9 | <@b c=2/> 10 | 11 | 12 | 16 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/basic/__snapshots__/basic.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | placeholder 4 | 5 | placeholder 6 | 7 | placeholder 8 | 9 |
placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/basic/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | name: T 3 | } 4 | 5 |
6 | 7 | ${new Thing()} 8 | // ^? 9 | ${x} 10 | // ^? 11 | ${input.name} 12 | // ^? 13 |
14 | 15 | -- ${x} 16 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-dynamic-member/__snapshots__/bound-attr-const-dynamic-member.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/bound-attr-const-dynamic-member/__snapshots__/bound-attr-const-dynamic-member.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-dynamic-member/__snapshots__/bound-attr-const-dynamic-member.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 6 3 | ```marko 4 | 1 | 5 | 2 | 6 | > 3 | 7 | | ^ const b: number 8 | 4 | // ^? ^? 9 | ``` 10 | 11 | ### Ln 3, Col 11 12 | ```marko 13 | 1 | 14 | 2 | 15 | > 3 | 16 | | ^ const a: { 17 | b: number; 18 | } 19 | 4 | // ^? ^? 20 | ``` 21 | 22 | ## Diagnostics 23 | ### Ln 3, Col 11 24 | ```marko 25 | 1 | 26 | 2 | 27 | > 3 | 28 | | ^^^^^^ Element implicitly has an 'any' type because expression of type '"bChange"' can't be used to index type '{ b: number; }'. 29 | Property 'bChange' does not exist on type '{ b: number; }'. 30 | 4 | // ^? ^? 31 | ``` 32 | 33 | ### Ln 3, Col 6 34 | ```marko 35 | 1 | 36 | 2 | 37 | > 3 | 38 | | ^ 'b' is declared but its value is never read. 39 | 4 | // ^? ^? 40 | ``` 41 | 42 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-dynamic-member/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | // ^? ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-ident/__snapshots__/bound-attr-const-ident.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/bound-attr-const-ident/__snapshots__/bound-attr-const-ident.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-ident/__snapshots__/bound-attr-const-ident.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 6 3 | ```marko 4 | 1 | 5 | 2 | 6 | > 3 | 7 | | ^ const b: number 8 | 4 | // ^? ^? 9 | ``` 10 | 11 | ### Ln 3, Col 11 12 | ```marko 13 | 1 | 14 | 2 | 15 | > 3 | 16 | | ^ const a: number 17 | 4 | // ^? ^? 18 | ``` 19 | 20 | ## Diagnostics 21 | ### Ln 3, Col 11 22 | ```marko 23 | 1 | 24 | 2 | 25 | > 3 | 26 | | ^ Cannot assign to 'a' because it is a read-only property. 27 | 4 | // ^? ^? 28 | ``` 29 | 30 | ### Ln 3, Col 6 31 | ```marko 32 | 1 | 33 | 2 | 34 | > 3 | 35 | | ^ 'b' is declared but its value is never read. 36 | 4 | // ^? ^? 37 | ``` 38 | 39 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-ident/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | // ^? ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-literal-member/__snapshots__/bound-attr-const-literal-member.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/bound-attr-const-literal-member/__snapshots__/bound-attr-const-literal-member.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-literal-member/__snapshots__/bound-attr-const-literal-member.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 6 3 | ```marko 4 | 1 | 5 | 2 | 6 | > 3 | 7 | | ^ const b: number 8 | 4 | // ^? ^? 9 | ``` 10 | 11 | ### Ln 3, Col 11 12 | ```marko 13 | 1 | 14 | 2 | 15 | > 3 | 16 | | ^ const a: { 17 | b: number; 18 | } 19 | 4 | // ^? ^? 20 | ``` 21 | 22 | ## Diagnostics 23 | ### Ln 3, Col 13 24 | ```marko 25 | 1 | 26 | 2 | 27 | > 3 | 28 | | ^ Property 'bChange' does not exist on type '{ b: number; }'. 29 | 4 | // ^? ^? 30 | ``` 31 | 32 | ### Ln 3, Col 6 33 | ```marko 34 | 1 | 35 | 2 | 36 | > 3 | 37 | | ^ 'b' is declared but its value is never read. 38 | 4 | // ^? ^? 39 | ``` 40 | 41 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-const-literal-member/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | // ^? ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-missing-ident/__snapshots__/bound-attr-missing-ident.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/bound-attr-missing-ident/__snapshots__/bound-attr-missing-ident.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-missing-ident/__snapshots__/bound-attr-missing-ident.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 1, Col 6 3 | ```marko 4 | > 1 | 5 | | ^ const b: any 6 | 2 | // ^? ^? 7 | ``` 8 | 9 | ### Ln 1, Col 11 10 | ```marko 11 | > 1 | 12 | | ^ any 13 | 2 | // ^? ^? 14 | ``` 15 | 16 | ## Diagnostics 17 | ### Ln 1, Col 11 18 | ```marko 19 | > 1 | 20 | | ^ Cannot find name 'a'. 21 | 2 | // ^? ^? 22 | ``` 23 | 24 | ### Ln 1, Col 11 25 | ```marko 26 | > 1 | 27 | | ^ Cannot find name 'a'. 28 | 2 | // ^? ^? 29 | ``` 30 | 31 | ### Ln 1, Col 6 32 | ```marko 33 | > 1 | 34 | | ^ 'b' is declared but its value is never read. 35 | 2 | // ^? ^? 36 | ``` 37 | 38 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-missing-ident/index.marko: -------------------------------------------------------------------------------- 1 | 2 | // ^? ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-dynamic-member/__snapshots__/bound-attr-mut-dynamic-member.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-dynamic-member/__snapshots__/bound-attr-mut-dynamic-member.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-dynamic-member/__snapshots__/bound-attr-mut-dynamic-member.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 6 3 | ```marko 4 | 1 | 5 | 2 | 6 | > 3 | 7 | | ^ const b: number 8 | 4 | // ^? ^? 9 | ``` 10 | 11 | ### Ln 3, Col 11 12 | ```marko 13 | 1 | 14 | 2 | 15 | > 3 | 16 | | ^ const a: { 17 | b: number; 18 | bChange(value: number): void; 19 | } 20 | 4 | // ^? ^? 21 | ``` 22 | 23 | ## Diagnostics 24 | ### Ln 1, Col 26 25 | ```marko 26 | > 1 | 27 | | ^^^^^ 'value' is declared but its value is never read. 28 | 2 | 29 | 3 | 30 | 4 | // ^? ^? 31 | ``` 32 | 33 | ### Ln 3, Col 6 34 | ```marko 35 | 1 | 36 | 2 | 37 | > 3 | 38 | | ^ 'b' is declared but its value is never read. 39 | 4 | // ^? ^? 40 | ``` 41 | 42 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-dynamic-member/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | // ^? ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-ident/__snapshots__/bound-attr-mut-ident.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-ident/__snapshots__/bound-attr-mut-ident.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 6 3 | ```marko 4 | 1 | 5 | 2 | 6 | > 3 | 7 | | ^ const b: number 8 | 4 | // ^? ^? 9 | 5 |
16 | 2 | 17 | > 3 | 18 | | ^ const a: number 19 | 4 | // ^? ^? 20 | 5 |
2 | 3 | 4 | // ^? ^? 5 |
9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-literal-member/__snapshots__/bound-attr-mut-literal-member.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-literal-member/__snapshots__/bound-attr-mut-literal-member.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-literal-member/__snapshots__/bound-attr-mut-literal-member.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 6 3 | ```marko 4 | 1 | 5 | 2 | 6 | > 3 | 7 | | ^ const b: number 8 | 4 | // ^? ^? 9 | ``` 10 | 11 | ### Ln 3, Col 11 12 | ```marko 13 | 1 | 14 | 2 | 15 | > 3 | 16 | | ^ const a: { 17 | b: number; 18 | bChange(value: number): void; 19 | } 20 | 4 | // ^? ^? 21 | ``` 22 | 23 | ## Diagnostics 24 | ### Ln 1, Col 26 25 | ```marko 26 | > 1 | 27 | | ^^^^^ 'value' is declared but its value is never read. 28 | 2 | 29 | 3 | 30 | 4 | // ^? ^? 31 | ``` 32 | 33 | ### Ln 3, Col 6 34 | ```marko 35 | 1 | 36 | 2 | 37 | > 3 | 38 | | ^ 'b' is declared but its value is never read. 39 | 4 | // ^? ^? 40 | ``` 41 | 42 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/bound-attr-mut-literal-member/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | // ^? ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-basic/__snapshots__/class-api-basic.expected/components/fancy-button/index.html: -------------------------------------------------------------------------------- 1 |
Hello placeholder
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-basic/__snapshots__/class-api-basic.expected/components/fancy-button/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/class-api-basic/__snapshots__/class-api-basic.expected/components/fancy-button/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-basic/__snapshots__/class-api-basic.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 |

Year: placeholder

3 | 4 |
5 | isSmartPhone: placeholder 6 |
7 | 8 | phoneType: placeholder 9 | 10 | 11 |
12 | placeholder placeholder placeholder 13 |
14 | 15 |
16 | 17 |
18 |
placeholder
19 |
Hello placeholder
20 |
Placeholder example: ${someValue}
21 | 22 | 23 | 24 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-basic/components/fancy-button/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { message: string } 2 | 3 |
Hello ${input.message}
4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/__snapshots__/class-api-event-binding.expected/components/fancy-button/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/__snapshots__/class-api-event-binding.expected/components/fancy-button/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/__snapshots__/class-api-event-binding.expected/components/fancy-button/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/__snapshots__/class-api-event-binding.expected/components/fancy-button/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/__snapshots__/class-api-event-binding.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/__snapshots__/class-api-event-binding.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/components/fancy-button/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | onClick(ev: MouseEvent): void; 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-event-binding/index.marko: -------------------------------------------------------------------------------- 1 | class { 2 | handleClick(ev: MouseEvent) { 3 | console.log(ev); 4 | } 5 | specialClick(value: number, ev: MouseEvent) { 6 | console.log(value, ev); 7 | } 8 | } 9 | 10 | 11 | // ^? 12 | 13 | 14 | // ^? 15 | 16 | { 17 | // ^? 18 | console.log(ev); 19 | // ^? 20 | })/> 21 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-no-state/__snapshots__/class-api-type-no-state.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-no-state/__snapshots__/class-api-type-no-state.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 6, Col 6 3 | ```marko 4 | 4 | } 5 | 5 | 6 | > 6 | -- ${state.name} 7 | | ^ const state: never 8 | 7 | // ^? 9 | ``` 10 | 11 | ## Diagnostics 12 | ### Ln 6, Col 12 13 | ```marko 14 | 4 | } 15 | 5 | 16 | > 6 | -- ${state.name} 17 | | ^^^^ Property 'name' does not exist on type 'never'. 18 | 7 | // ^? 19 | ``` 20 | 21 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-no-state/index.marko: -------------------------------------------------------------------------------- 1 | class { 2 | onMount() { 3 | } 4 | } 5 | 6 | -- ${state.name} 7 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-state-basic/__snapshots__/class-api-type-state-basic.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-state-basic/__snapshots__/class-api-type-state-basic.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 6, Col 16 3 | ```marko 4 | 4 | } 5 | 5 | onMount() { 6 | > 6 | this.state.name; 7 | | ^ (property) name: string 8 | 7 | // ^? 9 | 8 | } 10 | 9 | } 11 | ``` 12 | 13 | ### Ln 11, Col 12 14 | ```marko 15 | 9 | } 16 | 10 | 17 | > 11 | -- ${state.name} 18 | | ^ (property) name: string 19 | 12 | // ^? 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-state-basic/index.marko: -------------------------------------------------------------------------------- 1 | class { 2 | declare state: { 3 | name: string; 4 | } 5 | onMount() { 6 | this.state.name; 7 | // ^? 8 | } 9 | } 10 | 11 | -- ${state.name} 12 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-state-multiple-generics/__snapshots__/class-api-type-state-multiple-generics.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-state-multiple-generics/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | firstName: FirstName, 3 | lastName: LastName, 4 | } 5 | 6 | class { 7 | declare state: { 8 | name: `${FirstName} ${LastName}`; 9 | // ^? 10 | } 11 | onCreate(input: Input) { 12 | this.state = { name: `${input.firstName} ${input.lastName}` }; 13 | // ^? ^? 14 | } 15 | onMount() { 16 | this.state.name; 17 | // ^? 18 | } 19 | } 20 | 21 | -- ${state.name} 22 | // ^? 23 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-state-single-generic/__snapshots__/class-api-type-state-single-generic.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-type-state-single-generic/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | name: T 3 | } 4 | 5 | class { 6 | declare state: { 7 | name: T; 8 | // ^? 9 | } 10 | onCreate(input: Input) { 11 | this.state = { name: input.name }; 12 | // ^? 13 | } 14 | onMount() { 15 | this.state.name; 16 | // ^? 17 | } 18 | } 19 | 20 | -- ${state.name} 21 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-with-component-auto-import/__snapshots__/class-api-with-component-auto-import.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-with-component-auto-import/__snapshots__/class-api-with-component-auto-import.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 15 3 | ```marko 4 | 1 |
5 | 2 |
6 | > 3 | $ console.log(component); 7 | | ^ const component: Component 8 | 4 | // ^? 9 | ``` 10 | 11 | ## Diagnostics 12 | ### Ln 1, Col 15 13 | ```marko 14 | > 1 |
15 | | ^^^^^^^^^^^^^^^^^^ Property 'handleClickMissing' does not exist on type 'default'. 16 | 2 |
17 | 3 | $ console.log(component); 18 | 4 | // ^? 19 | ``` 20 | 21 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-with-component-auto-import/component.ts: -------------------------------------------------------------------------------- 1 | export default class extends Marko.Component { 2 | handleClick() {} 3 | "strange-handler"() {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/class-api-with-component-auto-import/index.marko: -------------------------------------------------------------------------------- 1 |
2 |
3 | $ console.log(component); 4 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/comments/__snapshots__/comments.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/comments/__snapshots__/comments.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/comments/__snapshots__/comments.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/comments/__snapshots__/comments.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/comments/index.marko: -------------------------------------------------------------------------------- 1 | // Single-line comment */ // \n 2 | 3 | /* 4 | multi-line 5 | comment 6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/custom-tag-args/__snapshots__/custom-tag-args.expected/components/test-tag.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/custom-tag-args/__snapshots__/custom-tag-args.expected/components/test-tag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/custom-tag-args/__snapshots__/custom-tag-args.expected/components/test-tag.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/custom-tag-args/__snapshots__/custom-tag-args.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/custom-tag-args/__snapshots__/custom-tag-args.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/custom-tag-args/__snapshots__/custom-tag-args.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 3, Col 10 3 | ```marko 4 | 1 | 5 | 2 | 6 | > 3 | 7 | | ^^^^^^^^^^^^^^^^ Type of computed property's value is '[string, number, number]', which is not assignable to type '[string, (number | undefined)?]'. 8 | Source has 3 element(s) but target allows only 2. 9 | 4 | 10 | ``` 11 | 12 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/custom-tag-args/components/test-tag.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | value: [string, number?] 3 | } 4 |
5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/custom-tag-args/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/dynamic-tag/__snapshots__/dynamic-tag.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | Hello 3 |
4 | World 5 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/dynamic-tag/__snapshots__/dynamic-tag.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/dynamic-tag/__snapshots__/dynamic-tag.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/dynamic-tag/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello 4 | 5 | 6 | <${"hello"}> 7 | World 8 | 9 | 10 | <${"hello"}-world/> 11 | 12 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/empty-tagname/__snapshots__/empty-tagname.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/empty-tagname/__snapshots__/empty-tagname.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 1, Col 9 3 | ```marko 4 | > 1 | <.hello/$el/> 5 | | ^ const $el: () => HTMLDivElement 6 | 2 | // ^? 7 | 3 | 19 | 7 | 20 | ``` 21 | 22 | ## Diagnostics 23 | ### Ln 4, Col 9 24 | ```marko 25 | 2 | // ^? 26 | 3 | 31 | 7 | 32 | ``` 33 | 34 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/empty-tagname/index.marko: -------------------------------------------------------------------------------- 1 | <.hello/$el/> 2 | // ^? 3 | 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-attr-tags/__snapshots__/for-tag-attr-tags.expected/components/my-table.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/for-tag-attr-tags/__snapshots__/for-tag-attr-tags.expected/components/my-table.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-attr-tags/__snapshots__/for-tag-attr-tags.expected/components/my-table.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/for-tag-attr-tags/__snapshots__/for-tag-attr-tags.expected/components/my-table.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-attr-tags/__snapshots__/for-tag-attr-tags.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | placeholder 6 | 7 | placeholder 8 | 9 |
10 |
11 |
12 | 13 | 14 | placeholder 15 | 16 | placeholder 17 | 18 |
19 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-attr-tags/components/my-table.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | row?: Marko.AttrTag<{ 3 | cell?: Marko.AttrTag<{ renderBody: Marko.Body }>; 4 | }>; 5 | } 6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-attr-tags/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 6 | <@row> 7 | // ^? 8 | <@cell>${row.foo} 9 | // ^? ^? 10 | <@cell>${row.bar} 11 | 12 | 13 | 14 | 15 | 16 | 20 | <@row> 21 | // ^? 22 | <@cell>${row.foo} 23 | // ^? ^? 24 | <@cell>${row.bar} 25 | 26 | 27 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-input/__snapshots__/for-tag-input.expected/components/my-select.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/for-tag-input/__snapshots__/for-tag-input.expected/components/my-select.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-input/__snapshots__/for-tag-input.expected/components/my-select.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/for-tag-input/__snapshots__/for-tag-input.expected/components/my-select.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-input/__snapshots__/for-tag-input.expected/index.html: -------------------------------------------------------------------------------- 1 |
16 |
17 | 18 | 19 | 20 | placeholder 21 | 22 |
23 |
24 | 25 | 26 | 27 | placeholder 28 | 29 |
30 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-input/components/my-select.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | option?: Marko.AttrTag<{ 3 | value: string; 4 | renderBody: Marko.Body; 5 | }>; 6 | } 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag-input/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | tab?: Marko.AttrTag<{ 3 | href: string; 4 | title: string; 5 | }>; 6 | option: any; 7 | } 8 | 9 | 10 | // ^? 11 | 12 | ${title} 13 | // ^? 14 | 15 | 16 | 17 | 26 | 27 | 28 | 29 | // ^? 30 | <@option value=href> 31 | // ^? 32 | ${title} 33 | 34 | 35 | 36 | // ^? 37 | <@option value=value> 38 | // ^? 39 | ${content} 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/for-tag/__snapshots__/for-tag.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | Repeated! 3 |
4 | placeholder placeholder placeholder 5 | 6 |
7 | 8 |
9 | 10 |
11 | placeholder placeholder 12 | 13 |
14 | 15 |
16 | 17 |
18 | placeholder 19 | 20 |
21 | 22 |
23 | placeholder 24 | 25 |
26 | placeholder 27 | 28 |
29 | 30 |
31 | Should error 32 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/hover-before-and-after-tokens/__snapshots__/hover-before-and-after-tokens.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/hover-before-and-after-tokens/__snapshots__/hover-before-and-after-tokens.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/hover-before-and-after-tokens/__snapshots__/hover-before-and-after-tokens.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/hover-before-and-after-tokens/__snapshots__/hover-before-and-after-tokens.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/hover-before-and-after-tokens/index.marko: -------------------------------------------------------------------------------- 1 | 2 | //^? 3 | $ console.log("hello"); 4 | $ console.log("world"); 5 | 6 | //^? 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/if-tag/__snapshots__/if-tag.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | Hi 3 |
4 | Hi 5 |
6 | Hi 7 |
8 |
9 | Hello 10 |
11 | World 12 |
13 | Hi 14 |
15 | Goodbye 16 |
17 | 18 |
19 | 20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | 30 |
31 | 32 |
33 |
34 |
35 |
36 | 37 |
38 |
39 | 40 |
41 |
42 | Hi 43 |
44 | Hi 45 |
46 | Hi 47 |
48 | Hi 49 |
50 | Hi 51 |
52 | Hi 53 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-tag-shorthand-missing/__snapshots__/import-tag-shorthand-missing.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/import-tag-shorthand-missing/__snapshots__/import-tag-shorthand-missing.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-tag-shorthand-missing/__snapshots__/import-tag-shorthand-missing.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 22 3 | ```marko 4 | > 1 | import Template from ""; 5 | | ^^^^^^^^^^^^^^^ Cannot find module '' or its corresponding type declarations. 6 | 2 | 7 | 3 | <${Template}/> 8 | 4 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-tag-shorthand-missing/index.marko: -------------------------------------------------------------------------------- 1 | import Template from ""; 2 | 3 | <${Template}/> 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-without-types/__snapshots__/import-without-types.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/import-without-types/__snapshots__/import-without-types.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-without-types/__snapshots__/import-without-types.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/import-without-types/__snapshots__/import-without-types.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-without-types/components/Child/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/import-without-types/components/Child/index.js -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-without-types/components/Child/marko-tag.json: -------------------------------------------------------------------------------- 1 | { 2 | "renderer": "./index.js" 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-without-types/components/child-other/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/import-without-types/components/child-other/index.js -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/import-without-types/components/child-other/marko-tag.json: -------------------------------------------------------------------------------- 1 | { 2 | "renderer": "./index.js" 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-basic/__snapshots__/input-type-basic.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-basic/__snapshots__/input-type-basic.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 5, Col 12 3 | ```marko 4 | 3 | } 5 | 4 | 6 | > 5 | -- ${input.name} 7 | | ^ (property) Input.name: string 8 | 6 | // ^? 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-basic/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | name: string; 3 | } 4 | 5 | -- ${input.name} 6 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-default-generic/__snapshots__/input-type-default-generic.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholderplaceholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-default-generic/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | // ^? 3 | options: T[]; 4 | // ^? 5 | onChange: (option: T) => unknown; 6 | // ^? 7 | } 8 | 9 | -- ${input.options} 10 | // ^? 11 | -- ${input.onChange} 12 | // ^? 13 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-duplicated/__snapshots__/input-type-duplicated.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholderplaceholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-duplicated/__snapshots__/input-type-duplicated.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 9, Col 12 3 | ```marko 4 | 7 | } 5 | 8 | 6 | > 9 | -- ${input.name} 7 | | ^ (property) Input.name: string 8 | 10 | // ^? 9 | 11 | -- ${input.other} 10 | 12 | // ^? 11 | ``` 12 | 13 | ### Ln 11, Col 12 14 | ```marko 15 | 9 | -- ${input.name} 16 | 10 | // ^? 17 | > 11 | -- ${input.other} 18 | | ^ (property) Input.other: string 19 | 12 | // ^? 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-duplicated/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | name: string; 3 | } 4 | 5 | export interface Input { 6 | other: string; 7 | } 8 | 9 | -- ${input.name} 10 | // ^? 11 | -- ${input.other} 12 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-generic-with-return/__snapshots__/input-type-generic-with-return.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/input-type-generic-with-return/__snapshots__/input-type-generic-with-return.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-generic-with-return/__snapshots__/input-type-generic-with-return.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 1, Col 24 3 | ```marko 4 | > 1 | export interface Input { 5 | | ^ (type parameter) T in Input 6 | 2 | // ^? 7 | 3 | value: T; 8 | 4 | // ^? 9 | ``` 10 | 11 | ### Ln 3, Col 10 12 | ```marko 13 | 1 | export interface Input { 14 | 2 | // ^? 15 | > 3 | value: T; 16 | | ^ (type parameter) T in Input 17 | 4 | // ^? 18 | 5 | } 19 | 6 | 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-generic-with-return/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | // ^? 3 | value: T; 4 | // ^? 5 | } 6 | 7 | return = input.value; 8 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-invalid/__snapshots__/input-type-invalid.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/input-type-invalid/__snapshots__/input-type-invalid.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-invalid/__snapshots__/input-type-invalid.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 1 3 | ```marko 4 | > 1 | export interface Input { 5 | | ^^^^^^ Unexpected token 6 | 2 | %: string; 7 | 3 | } 8 | 4 | 9 | ``` 10 | 11 | ### Ln 2, Col 3 12 | ```marko 13 | 1 | export interface Input { 14 | > 2 | %: string; 15 | | ^ Property or signature expected. 16 | 3 | } 17 | 4 | 18 | ``` 19 | 20 | ### Ln 3, Col 1 21 | ```marko 22 | 1 | export interface Input { 23 | 2 | %: string; 24 | > 3 | } 25 | | ^ Declaration or statement expected. 26 | 4 | 27 | ``` 28 | 29 | ### Ln 2, Col 6 30 | ```marko 31 | 1 | export interface Input { 32 | > 2 | %: string; 33 | | ^^^^^^ 'string' only refers to a type, but is being used as a value here. 34 | 3 | } 35 | 4 | 36 | ``` 37 | 38 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-invalid/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | %: string; 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-multiple-generics/__snapshots__/input-type-multiple-generics.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-multiple-generics/__snapshots__/input-type-multiple-generics.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 7, Col 12 3 | ```marko 4 | 5 | } 5 | 6 | 6 | > 7 | -- ${input.fullName} 7 | | ^ (property) Input.fullName: `${FirstName} ${LastName}` 8 | 8 | // ^? 9 | ``` 10 | 11 | ## Diagnostics 12 | ### Ln 1, Col 75 13 | ```marko 14 | > 1 | export interface Input { 15 | | ^^^^^ 'Extra' is declared but its value is never read. 16 | 2 | firstName: FirstName, 17 | 3 | lastName: LastName, 18 | 4 | fullName: `${FirstName} ${LastName}` 19 | ``` 20 | 21 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-multiple-generics/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | firstName: FirstName, 3 | lastName: LastName, 4 | fullName: `${FirstName} ${LastName}` 5 | } 6 | 7 | -- ${input.fullName} 8 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-single-generic/__snapshots__/input-type-single-generic.expected/index.html: -------------------------------------------------------------------------------- 1 | placeholderplaceholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-single-generic/__snapshots__/input-type-single-generic.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 6, Col 12 3 | ```marko 4 | 4 | } 5 | 5 | 6 | > 6 | -- ${input.options} 7 | | ^ (property) Input.options: T[] 8 | 7 | // ^? 9 | 8 | -- ${input.onChange} 10 | 9 | // ^? 11 | ``` 12 | 13 | ### Ln 8, Col 12 14 | ```marko 15 | 6 | -- ${input.options} 16 | 7 | // ^? 17 | > 8 | -- ${input.onChange} 18 | | ^ (property) Input.onChange: (option: T) => unknown 19 | 9 | // ^? 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/input-type-single-generic/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | options: T[]; 3 | onChange: (option: T) => unknown; 4 | } 5 | 6 | -- ${input.options} 7 | // ^? 8 | -- ${input.onChange} 9 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/invalid-attrs/__snapshots__/invalid-attrs.expected/components/fancy-button/index.html: -------------------------------------------------------------------------------- 1 |
Hello placeholder
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/invalid-attrs/__snapshots__/invalid-attrs.expected/components/fancy-button/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/invalid-attrs/__snapshots__/invalid-attrs.expected/components/fancy-button/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/invalid-attrs/__snapshots__/invalid-attrs.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/invalid-attrs/__snapshots__/invalid-attrs.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 15 3 | ```marko 4 | > 1 | 5 | | ^^^^^^^^^ Object literal may only specify known properties, and '"something"' does not exist in type 'Directives & Input'. 6 | 2 | 7 | 3 | 8 | 4 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/invalid-attrs/components/fancy-button/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | message: string; 3 | } 4 | 5 |
Hello ${input.message}
6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/invalid-attrs/index.marko: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/no-update-if-directive/__snapshots__/no-update-if-directive.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/no-update-if-directive/__snapshots__/no-update-if-directive.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 3, Col 6 3 | ```marko 4 | 1 |
0.5)/> 5 | 2 | 6 | > 3 |
7 | | ^^^^^^^^^^^^ Type 'string' is not assignable to type 'AttrBoolean'. 8 | 4 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/no-update-if-directive/index.marko: -------------------------------------------------------------------------------- 1 |
0.5)/> 2 | 3 |
4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/components/TestTagA.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/components/TestTagA.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/components/TestTagA.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/components/TestTagB.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/components/TestTagB.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/components/TestTagB.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/__snapshots__/prefer-local-identifier-tag-name.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 10, Col 13 3 | ```marko 4 | 8 |
5 | 9 | 6 | > 10 | 7 | | ^ Object literal may only specify known properties, and '"a"' does not exist in type 'Directives & Input'. 8 | 11 |
9 | 12 | 10 | 13 | 11 | ``` 12 | 13 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/components/TestTagA.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | a: string; 3 | } 4 | 5 |
6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/components/TestTagB.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | b: string; 3 | } 4 | 5 |
6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/prefer-local-identifier-tag-name/index.marko: -------------------------------------------------------------------------------- 1 | import CustomTagA from ""; 2 | import CustomTagB from ""; 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/program-empty/__snapshots__/program-empty.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/program-empty/__snapshots__/program-empty.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/program-empty/__snapshots__/program-empty.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/program-empty/__snapshots__/program-empty.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/program-empty/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/program-empty/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/program-text-only/__snapshots__/program-text-only.expected/index.html: -------------------------------------------------------------------------------- 1 | Hi -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/program-text-only/__snapshots__/program-text-only.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/program-text-only/__snapshots__/program-text-only.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/program-text-only/index.marko: -------------------------------------------------------------------------------- 1 | -- Hi 2 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/components/comments.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/components/comments.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/components/comments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/components/comments.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/__snapshots__/recursive-input-provided.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/components/comments.marko: -------------------------------------------------------------------------------- 1 | export interface Comment { 2 | id: string; 3 | comments?: Comment[]; 4 | } 5 | export interface Input { 6 | comments: Comment[]; 7 | } 8 | 9 | // Empty 10 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-provided/index.marko: -------------------------------------------------------------------------------- 1 | import type { Comment } from ""; 2 | 3 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/__snapshots__/recursive-input-scope-hoist.expected/components/comments.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/__snapshots__/recursive-input-scope-hoist.expected/components/comments.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/__snapshots__/recursive-input-scope-hoist.expected/components/comments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/__snapshots__/recursive-input-scope-hoist.expected/components/comments.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/__snapshots__/recursive-input-scope-hoist.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/__snapshots__/recursive-input-scope-hoist.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 3, Col 7 3 | ```marko 4 | 1 | 5 | 2 | <@comment#a> 6 | > 3 | <@comment#b> 7 | | ^ (property) "@comment": Marko.AttrTag | undefined 8 | 4 | // ^? 9 | 5 | 10 | 6 | 11 | ``` 12 | 13 | ### Ln 15, Col 3 14 | ```marko 15 | 13 | 16 | 14 | 15 | a; 18 | | ^ const a: "a" 19 | 16 | //^? 20 | 17 | b; 21 | 18 | //^? 22 | ``` 23 | 24 | ### Ln 17, Col 3 25 | ```marko 26 | 15 | a; 27 | 16 | //^? 28 | > 17 | b; 29 | | ^ const b: "b" 30 | 18 | //^? 31 | 19 | c; 32 | 20 | //^? 33 | ``` 34 | 35 | ### Ln 19, Col 3 36 | ```marko 37 | 17 | b; 38 | 18 | //^? 39 | > 19 | c; 40 | | ^ const c: "c" 41 | 20 | //^? 42 | 21 | }/> 43 | ``` 44 | 45 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/components/comments.marko: -------------------------------------------------------------------------------- 1 | static interface Comment { 2 | id: string; 3 | renderBody: Marko.Body; 4 | comment?: Marko.AttrTag; 5 | } 6 | export interface Input { 7 | comment: Marko.AttrTag; 8 | } 9 | 10 | // Empty 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/recursive-input-scope-hoist/index.marko: -------------------------------------------------------------------------------- 1 | 2 | <@comment#a> 3 | <@comment#b> 4 | // ^? 5 | 6 | 7 | 8 | 9 | <@comment#c> 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/__snapshots__/reference-tag-without-renderer.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/__snapshots__/reference-tag-without-renderer.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/__snapshots__/reference-tag-without-renderer.expected/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/__snapshots__/reference-tag-without-renderer.expected/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/components/test-tag/marko-tag.json: -------------------------------------------------------------------------------- 1 | { 2 | "translate": "./translate" 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/components/test-tag/translate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/components/test-tag/translate.js -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/reference-tag-without-renderer/index.marko: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-body-basic/__snapshots__/render-body-basic.expected/components/my-tag/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/render-body-basic/__snapshots__/render-body-basic.expected/components/my-tag/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-body-basic/__snapshots__/render-body-basic.expected/components/my-tag/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/render-body-basic/__snapshots__/render-body-basic.expected/components/my-tag/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-body-basic/__snapshots__/render-body-basic.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | Hi placeholder 4 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-body-basic/__snapshots__/render-body-basic.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 1, Col 9 3 | ```marko 4 | > 1 | 5 | | ^ (parameter) name: string 6 | 2 | // ^? 7 | 3 | Hi ${name} 8 | 4 | 9 | ``` 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-body-basic/components/my-tag/index.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | renderBody: Marko.Body<[string]> 3 | } 4 | 5 | <${input.renderBody} value=["hi"] /> 6 | 7 | <${input.renderBody}=["hi"] /> 8 | 9 | <${input.renderBody}("hi") /> 10 | 11 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-body-basic/index.marko: -------------------------------------------------------------------------------- 1 | 2 | // ^? 3 | Hi ${name} 4 | 5 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-user-defined-template/__snapshots__/render-user-defined-template.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/render-user-defined-template/__snapshots__/render-user-defined-template.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-user-defined-template/__snapshots__/render-user-defined-template.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 47 3 | ```marko 4 | > 1 | <${1 as any as Marko.Template<{ x: string }>} x=1/> 5 | | ^ Type 'number' is not assignable to type 'string'. 6 | 2 | 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/render-user-defined-template/index.marko: -------------------------------------------------------------------------------- 1 | <${1 as any as Marko.Template<{ x: string }>} x=1/> 2 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/return-tag-basic/__snapshots__/return-tag-basic.expected/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/return-tag-basic/__snapshots__/return-tag-basic.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 2, Col 2 3 | ```marko 4 | 1 | 5 | > 2 | 7 |
placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/simple-hoist/index.marko: -------------------------------------------------------------------------------- 1 |
2 | 3 | ${x} 4 | 11 |
12 | 13 | 17 | 18 | -- ${x} 19 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.d.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.d.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.d.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.d.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/fancy-button/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.d.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.d.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.d.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.d.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/components/regular-button/index.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/index.html: -------------------------------------------------------------------------------- 1 |
body
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/__snapshots__/split-component-d-ts.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 1, Col 15 3 | ```marko 4 | > 1 | 5 | | ^ (property) Input.color?: string | undefined 6 | 2 | // ^? ^? 7 | 3 | 8 | 4 | body 9 | ``` 10 | 11 | ### Ln 1, Col 27 12 | ```marko 13 | > 1 | 14 | | ^ (property) Input.fanciness?: number | undefined 15 | 2 | // ^? ^? 16 | 3 | 17 | 4 | body 18 | ``` 19 | 20 | ### Ln 4, Col 17 21 | ```marko 22 | 2 | // ^? ^? 23 | 3 | 24 | > 4 | body 25 | | ^ (property) Input.size?: "large" | "small" | undefined 26 | 5 | // ^? 27 | 6 | 28 | ``` 29 | 30 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/fancy-button/component.d.ts: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | color?: string; 3 | destructive?: boolean; 4 | fanciness?: number; 5 | } 6 | 7 | export default class extends Marko.Component {} 8 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/fancy-button/component.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/fancy-button/component.js -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/fancy-button/index.d.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/fancy-button/index.d.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/fancy-button/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/fancy-button/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/regular-button/component-browser.d.ts: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | size?: "large" | "small"; 3 | renderBody: Marko.Body; 4 | } 5 | 6 | export default class extends Marko.Component {} 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/regular-button/component-browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/regular-button/component-browser.js -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/regular-button/index.d.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/regular-button/index.d.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/regular-button/index.marko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/components/regular-button/index.marko -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/split-component-d-ts/index.marko: -------------------------------------------------------------------------------- 1 | 2 | // ^? ^? 3 | 4 | body 5 | // ^? 6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-param-mutation/__snapshots__/tag-param-mutation.expected/components/test-tag.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-param-mutation/__snapshots__/tag-param-mutation.expected/components/test-tag.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-param-mutation/__snapshots__/tag-param-mutation.expected/components/test-tag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-param-mutation/__snapshots__/tag-param-mutation.expected/components/test-tag.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-param-mutation/__snapshots__/tag-param-mutation.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 6 |
7 | 8 | 9 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-param-mutation/components/test-tag.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | renderBody: Marko.Body<[string]> 3 | } 4 | 5 | <${input.renderBody}=["foo"] /> -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-param-mutation/index.marko: -------------------------------------------------------------------------------- 1 | 2 | // ^? 3 | 4 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-basic/__snapshots__/tag-params-basic.expected/components/test-tag.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-params-basic/__snapshots__/tag-params-basic.expected/components/test-tag.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-basic/__snapshots__/tag-params-basic.expected/components/test-tag.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 7, Col 28 3 | ```marko 4 | 5 | <${input.renderBody}=["a", "b"] /> 5 | 6 | 6 | > 7 | <${input.renderBody}=["a", "c"] /> 7 | | ^^^ Type '"c"' is not assignable to type '"b"'. 8 | 8 | 9 | 9 | <${input.renderBody}=["a", "b", "c"] /> 10 | 10 | 11 | ``` 12 | 13 | ### Ln 9, Col 21 14 | ```marko 15 | 7 | <${input.renderBody}=["a", "c"] /> 16 | 8 | 17 | > 9 | <${input.renderBody}=["a", "b", "c"] /> 18 | | ^ Type '["a", "b", string]' is not assignable to type '["a", "b"]'. 19 | Source has 3 element(s) but target allows only 2. 20 | 10 | 21 | ``` 22 | 23 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-basic/__snapshots__/tag-params-basic.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | placeholder placeholder 4 | 5 |
6 | 7 | 8 |
placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-basic/components/test-tag.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | renderBody: Marko.Body<["a", "b"]> 3 | } 4 | 5 | <${input.renderBody}=["a", "b"] /> 6 | 7 | <${input.renderBody}=["a", "c"] /> 8 | 9 | <${input.renderBody}=["a", "b", "c"] /> 10 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-basic/index.marko: -------------------------------------------------------------------------------- 1 | 2 | // ^? ^? 3 | ${a} ${b} 4 | // ^? ^? 5 | 6 | 7 | 8 | // ^? 9 | 10 | 11 | 12 | -- ${() => { 13 | hoistedFromTestTag 14 | //^? 15 | }} 16 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-syntax-error/__snapshots__/tag-params-syntax-error.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | Hi 3 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-syntax-error/__snapshots__/tag-params-syntax-error.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 15 3 | ```marko 4 | > 1 | <${custom}|a, %b|> 5 | | ^ Unexpected token 6 | 2 | Hi 7 | 3 | 8 | 4 | 9 | ``` 10 | 11 | ### Ln 1, Col 4 12 | ```marko 13 | > 1 | <${custom}|a, %b|> 14 | | ^^^^^^ Cannot find name 'custom'. 15 | 2 | Hi 16 | 3 | 17 | 4 | 18 | ``` 19 | 20 | ### Ln 1, Col 12 21 | ```marko 22 | > 1 | <${custom}|a, %b|> 23 | | ^ Cannot find name 'a'. 24 | 2 | Hi 25 | 3 | 26 | 4 | 27 | ``` 28 | 29 | ### Ln 1, Col 12 30 | ```marko 31 | > 1 | <${custom}|a, %b|> 32 | | ^ Left side of comma operator is unused and has no side effects. 33 | 2 | Hi 34 | 3 | 35 | 4 | 36 | ``` 37 | 38 | ### Ln 1, Col 16 39 | ```marko 40 | > 1 | <${custom}|a, %b|> 41 | | ^ Cannot find name 'b'. 42 | 2 | Hi 43 | 3 | 44 | 4 | 45 | ``` 46 | 47 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-syntax-error/index.marko: -------------------------------------------------------------------------------- 1 | <${custom}|a, %b|> 2 | Hi 3 | 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-with-generics/__snapshots__/tag-params-with-generics.expected/components/loader.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-params-with-generics/__snapshots__/tag-params-with-generics.expected/components/loader.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-with-generics/__snapshots__/tag-params-with-generics.expected/components/loader.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-params-with-generics/__snapshots__/tag-params-with-generics.expected/components/loader.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-with-generics/__snapshots__/tag-params-with-generics.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 |
6 | 7 | 8 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-with-generics/components/loader.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | renderBody: Marko.Body<[TData], void>; 3 | value?: () => TData; 4 | key?: string; 5 | } 6 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-params-with-generics/index.marko: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | // ^? 17 | 18 | 19 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-args/__snapshots__/tag-type-args.expected/components/test-tag.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-type-args/__snapshots__/tag-type-args.expected/components/test-tag.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-args/__snapshots__/tag-type-args.expected/components/test-tag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-type-args/__snapshots__/tag-type-args.expected/components/test-tag.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-args/__snapshots__/tag-type-args.expected/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-type-args/__snapshots__/tag-type-args.expected/index.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-args/__snapshots__/tag-type-args.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Diagnostics 2 | ### Ln 1, Col 19 3 | ```marko 4 | > 1 | a=1/> 5 | | ^ Type 'number' is not assignable to type 'string'. 6 | 2 | 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-args/components/test-tag.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | a: T 3 | } 4 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-args/index.marko: -------------------------------------------------------------------------------- 1 | a=1/> 2 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-params/__snapshots__/tag-type-params.expected/components/test-tag.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-type-params/__snapshots__/tag-type-params.expected/components/test-tag.html -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-params/__snapshots__/tag-type-params.expected/components/test-tag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marko-js/language-server/d59ddcbcba8f9431604df06766c81eedf6010fcb/packages/language-server/src/__tests__/fixtures/script/tag-type-params/__snapshots__/tag-type-params.expected/components/test-tag.md -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-params/__snapshots__/tag-type-params.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-params/__snapshots__/tag-type-params.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 1, Col 28 3 | ```marko 4 | > 1 | |data: A| data=1 as const> 5 | | ^ (type parameter) A in (data: A): MarkoReturn<{ 6 | value: { 7 | result: A; 8 | }; 9 | }> 10 | 2 | // ^? 11 | 3 | 12 | 4 | // ^? 13 | ``` 14 | 15 | ### Ln 3, Col 21 16 | ```marko 17 | 1 | |data: A| data=1 as const> 18 | 2 | // ^? 19 | > 3 | 20 | | ^ (parameter) data: A 21 | 4 | // ^? 22 | 5 | 23 | 6 | 24 | ``` 25 | 26 | ### Ln 7, Col 6 27 | ```marko 28 | 5 | 29 | 6 | 30 | > 7 | -- ${result} 31 | | ^ const result: { 32 | value: { 33 | result: 1; 34 | }; 35 | } 36 | 8 | // ^? 37 | ``` 38 | 39 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-params/components/test-tag.marko: -------------------------------------------------------------------------------- 1 | export interface Input { 2 | data: T, 3 | renderBody: Marko.Body<[T], U>; 4 | } 5 | 6 | return = 1 as unknown as U; 7 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-type-params/index.marko: -------------------------------------------------------------------------------- 1 | |data: A| data=1 as const> 2 | // ^? 3 | 4 | // ^? 5 | 6 | 7 | -- ${result} 8 | // ^? -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-var-hoisting/__snapshots__/tag-var-hoisting.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
placeholder -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-var-hoisting/index.marko: -------------------------------------------------------------------------------- 1 |
2 | 16 | 17 | 18 |
19 | 20 | -- ${() => { 21 | a; 22 | //^? 23 | b; 24 | //^? 25 | c; 26 | //^? 27 | d; 28 | //^? 29 | e; 30 | //^? 31 | f; 32 | //^? 33 | g; 34 | //^? 35 | h; 36 | //^? 37 | i; 38 | //^? 39 | j; 40 | //^? 41 | }} 42 | -------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-var-mutation-shadowing/__snapshots__/tag-var-mutation-shadowing.expected/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-var-mutations-nested/__snapshots__/tag-var-mutations-nested.expected/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
-------------------------------------------------------------------------------- /packages/language-server/src/__tests__/fixtures/script/tag-var-mutations-nested/__snapshots__/tag-var-mutations-nested.expected/index.md: -------------------------------------------------------------------------------- 1 | ## Hovers 2 | ### Ln 4, Col 3 3 | ```marko 4 | 2 | 5 | 3 |