Add Svelte support

This commit is contained in:
HiPhish 2024-02-18 11:18:00 +01:00
parent df0a57a449
commit e03cdde9e1
4 changed files with 120 additions and 0 deletions

View file

@ -17,6 +17,7 @@ Added
- Public API function `is_enabled`
- Rasi support
- Svelte support
- XML support
- Missing patterns for Java:
- `array_initializer`

View file

@ -0,0 +1,35 @@
(script_element
(start_tag
"<" @delimiter
(tag_name) @delimiter
">" @delimiter)
(end_tag
"</" @delimiter
(tag_name) @delimiter
">" @delimiter @sentinel)) @container
(style_element
(start_tag
"<" @delimiter
(tag_name) @delimiter
">" @delimiter)
(end_tag
"</" @delimiter
(tag_name) @delimiter
">" @delimiter @sentinel)) @container
(element
(self_closing_tag
"<" @delimiter
(tag_name) @delimiter
"/>" @delimiter @sentinel)) @container
(element
(start_tag
"<" @delimiter
(tag_name) @delimiter
">" @delimiter)
(end_tag
"</" @delimiter
(tag_name) @delimiter
">" @delimiter @sentinel)) @container

View file

@ -0,0 +1,53 @@
(script_element
(start_tag
"<" @delimiter
(tag_name) @delimiter
">" @delimiter)
(end_tag
"</" @delimiter
(tag_name) @delimiter
">" @delimiter @sentinel)) @container
(style_element
(start_tag
"<" @delimiter
(tag_name) @delimiter
">" @delimiter)
(end_tag
"</" @delimiter
(tag_name) @delimiter
">" @delimiter @sentinel)) @container
(element
(self_closing_tag
"<" @delimiter
(tag_name) @delimiter
"/>" @delimiter @sentinel)) @container
(element
(start_tag
"<" @delimiter
(tag_name) @delimiter
">" @delimiter)
(end_tag
"</" @delimiter
(tag_name) @delimiter
">" @delimiter @sentinel)) @container
(const_expr
"{" @delimiter
"@" @delimiter
(special_block_keyword) @delimiter
"}" @delimiter @sentinel) @container
(each_statement
(each_start_expr
"{" @delimiter
"#" @delimiter
(special_block_keyword) @delimiter
"}" @delimiter) @container
(each_end_expr
"{" @delimiter
"/" @delimiter
(special_block_keyword) @delimiter
"}" @delimiter @sentinel)) @container

View file

@ -0,0 +1,31 @@
<script lang="ts">
import { baz } from 'foo/bar';
baz({a: {b: {c: 'd'}}});
</script>
<style>
p {
font-size: 2em;
}
</style>
<svelte:head>
<title>Test page</title>
<meta name="description" content="A test page" />
</svelte:head>
<h1>A test page for Svelte</h1>
<form action="?/herp/derp" method="post">
<p>This is a paragraph</p>
<hr/>
<ul>
{#each ["foo", "bar", "baz"] as x}
<li class="some-class">{ x }</li>
{/each}
</ul>
{# if True}
<p>Some text </p>
{/if}
</form>