mirror of
https://github.com/denoland/deno.git
synced 2024-11-25 15:29:32 -05:00
feat(fmt): support vto and njk extensions (#25831)
Fixes #25802 markup_fmt plugin supports some HTML-like formats like Angular, Jinja, Twig, Nunjucks or Vento, that are not supported by `deno fmt`. This PR adds support for the extensions `njk` (Nunjucks) and `vto` (Vento). Angular doesn't have a custom extension (it uses `html` afaik) and Jinja and Twig are template engines written in Python and PHP respectively so it doesn't make sense to be supported by Deno.
This commit is contained in:
parent
a7ac89935b
commit
1287739ddf
5 changed files with 26 additions and 2 deletions
|
@ -265,6 +265,8 @@ fn format_markdown(
|
||||||
| "svelte"
|
| "svelte"
|
||||||
| "vue"
|
| "vue"
|
||||||
| "astro"
|
| "astro"
|
||||||
|
| "vto"
|
||||||
|
| "njk"
|
||||||
| "yml"
|
| "yml"
|
||||||
| "yaml"
|
| "yaml"
|
||||||
) {
|
) {
|
||||||
|
@ -288,7 +290,7 @@ fn format_markdown(
|
||||||
format_css(&fake_filename, text, fmt_options)
|
format_css(&fake_filename, text, fmt_options)
|
||||||
}
|
}
|
||||||
"html" => format_html(&fake_filename, text, fmt_options),
|
"html" => format_html(&fake_filename, text, fmt_options),
|
||||||
"svelte" | "vue" | "astro" => {
|
"svelte" | "vue" | "astro" | "vto" | "njk" => {
|
||||||
if unstable_options.component {
|
if unstable_options.component {
|
||||||
format_html(&fake_filename, text, fmt_options)
|
format_html(&fake_filename, text, fmt_options)
|
||||||
} else {
|
} else {
|
||||||
|
@ -460,7 +462,7 @@ pub fn format_file(
|
||||||
format_css(file_path, file_text, fmt_options)
|
format_css(file_path, file_text, fmt_options)
|
||||||
}
|
}
|
||||||
"html" => format_html(file_path, file_text, fmt_options),
|
"html" => format_html(file_path, file_text, fmt_options),
|
||||||
"svelte" | "vue" | "astro" => {
|
"svelte" | "vue" | "astro" | "vto" | "njk" => {
|
||||||
if unstable_options.component {
|
if unstable_options.component {
|
||||||
format_html(file_path, file_text, fmt_options)
|
format_html(file_path, file_text, fmt_options)
|
||||||
} else {
|
} else {
|
||||||
|
@ -1139,6 +1141,8 @@ fn is_supported_ext_fmt(path: &Path) -> bool {
|
||||||
| "svelte"
|
| "svelte"
|
||||||
| "vue"
|
| "vue"
|
||||||
| "astro"
|
| "astro"
|
||||||
|
| "vto"
|
||||||
|
| "njk"
|
||||||
| "md"
|
| "md"
|
||||||
| "mkd"
|
| "mkd"
|
||||||
| "mkdn"
|
| "mkdn"
|
||||||
|
@ -1197,6 +1201,10 @@ mod test {
|
||||||
assert!(is_supported_ext_fmt(Path::new("foo.VUE")));
|
assert!(is_supported_ext_fmt(Path::new("foo.VUE")));
|
||||||
assert!(is_supported_ext_fmt(Path::new("foo.astro")));
|
assert!(is_supported_ext_fmt(Path::new("foo.astro")));
|
||||||
assert!(is_supported_ext_fmt(Path::new("foo.AsTrO")));
|
assert!(is_supported_ext_fmt(Path::new("foo.AsTrO")));
|
||||||
|
assert!(is_supported_ext_fmt(Path::new("foo.vto")));
|
||||||
|
assert!(is_supported_ext_fmt(Path::new("foo.Vto")));
|
||||||
|
assert!(is_supported_ext_fmt(Path::new("foo.njk")));
|
||||||
|
assert!(is_supported_ext_fmt(Path::new("foo.NJk")));
|
||||||
assert!(is_supported_ext_fmt(Path::new("foo.yml")));
|
assert!(is_supported_ext_fmt(Path::new("foo.yml")));
|
||||||
assert!(is_supported_ext_fmt(Path::new("foo.Yml")));
|
assert!(is_supported_ext_fmt(Path::new("foo.Yml")));
|
||||||
assert!(is_supported_ext_fmt(Path::new("foo.yaml")));
|
assert!(is_supported_ext_fmt(Path::new("foo.yaml")));
|
||||||
|
|
5
tests/specs/fmt/njk/__test__.jsonc
Normal file
5
tests/specs/fmt/njk/__test__.jsonc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"tempDir": true,
|
||||||
|
"args": "fmt --unstable-component",
|
||||||
|
"output": "[WILDLINE]badly_formatted.njk\nChecked 1 file\n"
|
||||||
|
}
|
3
tests/specs/fmt/njk/badly_formatted.njk
Normal file
3
tests/specs/fmt/njk/badly_formatted.njk
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<h1> {{ "Hello, world!" | upper }}
|
||||||
|
</h1>
|
||||||
|
|
5
tests/specs/fmt/vento/__test__.jsonc
Normal file
5
tests/specs/fmt/vento/__test__.jsonc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"tempDir": true,
|
||||||
|
"args": "fmt --unstable-component",
|
||||||
|
"output": "[WILDLINE]badly_formatted.vto\nChecked 1 file\n"
|
||||||
|
}
|
3
tests/specs/fmt/vento/badly_formatted.vto
Normal file
3
tests/specs/fmt/vento/badly_formatted.vto
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<h1> {{ "Hello, world!" |> toUpperCase }}
|
||||||
|
</h1>
|
||||||
|
|
Loading…
Reference in a new issue