mirror of
https://github.com/nvim-treesitter/nvim-treesitter
synced 2024-09-16 14:34:05 +02:00
feat: add indentation queries for angular
This commit is contained in:
parent
276c343b6b
commit
0d5e1214a5
6 changed files with 127 additions and 0 deletions
|
@ -1 +1,16 @@
|
|||
; inherits: html_tags
|
||||
|
||||
[
|
||||
(statement_block)
|
||||
(switch_statement)
|
||||
] @indent.begin
|
||||
|
||||
(statement_block
|
||||
"{" @indent.branch)
|
||||
|
||||
(statement_block
|
||||
"}" @indent.end)
|
||||
|
||||
"}" @indent.branch
|
||||
|
||||
"}" @indent.end
|
||||
|
|
9
tests/indent/angular/defer.html
Normal file
9
tests/indent/angular/defer.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
@defer (on viewport) {
|
||||
<calendar-cmp />
|
||||
} @placeholder (minimum 100ms) {
|
||||
<small-component />
|
||||
} @loading (after 100s; minimum 200ms){
|
||||
<loading-spinner />
|
||||
} @error {
|
||||
<error-message />
|
||||
}
|
5
tests/indent/angular/for.html
Normal file
5
tests/indent/angular/for.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
@for (item of items; track item.id) {
|
||||
<li>{{ item.name }}</li>
|
||||
} @empty {
|
||||
<p>No items</p>
|
||||
}
|
15
tests/indent/angular/if-else.html
Normal file
15
tests/indent/angular/if-else.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
@if (someCondition) {
|
||||
<p>someCondition is true</p>
|
||||
} @else {
|
||||
<p>someCondition is false</p>
|
||||
}
|
||||
|
||||
<div>
|
||||
@if (someOther) {
|
||||
<span>True</span>
|
||||
|
||||
@if (nestedCondition) {
|
||||
<span>Nested</span>
|
||||
}
|
||||
}
|
||||
</div>
|
13
tests/indent/angular/switch-case.html
Normal file
13
tests/indent/angular/switch-case.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
<div>
|
||||
@switch (obj.property) {
|
||||
@case (1) {
|
||||
<p>Case 1</p>
|
||||
}
|
||||
@case (2) {
|
||||
<p>Case 2</p>
|
||||
}
|
||||
@default {
|
||||
<p>Default</p>
|
||||
}
|
||||
}
|
||||
</div>
|
70
tests/indent/angular_spec.lua
Normal file
70
tests/indent/angular_spec.lua
Normal file
|
@ -0,0 +1,70 @@
|
|||
local Runner = require("tests.indent.common").Runner
|
||||
local runner = Runner:new(it, "tests/indent/angular", {
|
||||
tabstop = 2,
|
||||
shiftwidth = 2,
|
||||
expandtab = true,
|
||||
filetype = "htmlangular",
|
||||
})
|
||||
|
||||
describe("indent HTML Angular:", function()
|
||||
describe("whole file:", function()
|
||||
runner:whole_file "."
|
||||
end)
|
||||
|
||||
describe("new line:", function()
|
||||
for _, info in ipairs {
|
||||
{ 1, 2 },
|
||||
{ 2, 2 },
|
||||
{ 3, 2 },
|
||||
{ 4, 2 },
|
||||
{ 6, 0 },
|
||||
{ 7, 2 },
|
||||
{ 8, 4 },
|
||||
{ 10, 4 },
|
||||
{ 11, 6 },
|
||||
{ 12, 6 },
|
||||
{ 13, 4 },
|
||||
{ 14, 2 },
|
||||
} do
|
||||
runner:new_line("if-else.html", { on_line = info[1], text = "//", indent = info[2] })
|
||||
end
|
||||
|
||||
for _, info in ipairs {
|
||||
{ 1, 2 },
|
||||
{ 2, 4 },
|
||||
{ 3, 6 },
|
||||
{ 4, 6 },
|
||||
{ 6, 6 },
|
||||
{ 7, 6 },
|
||||
{ 9, 6 },
|
||||
{ 10, 6 },
|
||||
{ 12, 2 },
|
||||
} do
|
||||
runner:new_line("switch-case.html", { on_line = info[1], text = "//", indent = info[2] })
|
||||
end
|
||||
|
||||
for _, info in ipairs {
|
||||
{ 1, 2 },
|
||||
{ 2, 2 },
|
||||
{ 3, 2 },
|
||||
{ 4, 2 },
|
||||
{ 5, 0 },
|
||||
} do
|
||||
runner:new_line("for.html", { on_line = info[1], text = "//", indent = info[2] })
|
||||
end
|
||||
|
||||
for _, info in ipairs {
|
||||
{ 1, 2 },
|
||||
{ 2, 2 },
|
||||
{ 3, 2 },
|
||||
{ 4, 2 },
|
||||
{ 5, 2 },
|
||||
{ 6, 2 },
|
||||
{ 7, 2 },
|
||||
{ 8, 2 },
|
||||
{ 9, 0 },
|
||||
} do
|
||||
runner:new_line("defer.html", { on_line = info[1], text = "//", indent = info[2] })
|
||||
end
|
||||
end)
|
||||
end)
|
Loading…
Reference in a new issue