tree-sitter-grammars / tree-sitter-vue

Vue.js grammar for tree-sitter
MIT License
7 stars 2 forks source link

bug: Vue <Tag.Field><Tag.Field/> Highlighting anomaly. #3

Open chaozwn opened 4 months ago

chaozwn commented 4 months ago

Did you check existing issues?

Tree-Sitter CLI Version, if relevant (output of tree-sitter --version)

tree-sitter 0.22.6 (b40f342067a89cd6331bf4c27407588320f3c263)

Describe the bug

Vue Highlighting anomaly.

image

Steps To Reproduce/Bad Parse Tree

  1. open .vue file
  2. input
    <form.Field name="username">
    <template v-slot="{ field, state }">
    <!--Username input-->
    <div class="relative mb-4">
      <input type="text"
        class="peer block min-h-[auto] w-full rounded border-0 bg-transparent px-3 py-[0.32rem] leading-[1.6] outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 peer-focus:text-primary data-[twe-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-white dark:placeholder:text-neutral-300 dark:autofill:shadow-autofill dark:peer-focus:text-primary [&:not([data-twe-input-placeholder-active])]:placeholder:opacity-0"
        :id="field.name" :name="field.name" :value="field.state.value"
        @input="(e) => field.handleChange((e.target as HTMLInputElement).value)"
        @blur="field.handleBlur" placeholder="用户名" />
      <label :htmlFor="field.name"
        class="pointer-events-none absolute left-3 top-0 mb-0 max-w-[90%] origin-[0_0] truncate pt-[0.37rem] leading-[1.6] text-neutral-500 transition-all duration-200 ease-out peer-focus:-translate-y-[0.9rem] peer-focus:scale-[0.8] peer-focus:text-primary peer-data-[twe-input-state-active]:-translate-y-[0.9rem] peer-data-[twe-input-state-active]:scale-[0.8] motion-reduce:transition-none dark:text-neutral-400 dark:peer-focus:text-primary">用户名
      </label>
    </div>
    </template>
    </form.Field>

Expected Behavior/Parse Tree

display normal link: https://github.com/nvim-treesitter/nvim-treesitter/issues/6825

Repro

No response

chaozwn commented 4 months ago

image

ghedwards commented 2 months ago

Its often a failure to parse something in between the tags that causes the problem. If you remove everything in your template tags does it work ?