diff options
| author | Pham Huy Hoang <hoangtun0810@gmail.com> | 2023-05-08 14:53:31 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-08 14:53:31 +0900 |
| commit | 864b4171de82772323ab97d1fd9a9dbfcf53c002 (patch) | |
| tree | 29f3ce195fbd0b8908cf555a544e8e4d4145515b /tests/indent | |
| parent | Update parsers: astro, c, haskell, t32 (#4769) (diff) | |
| download | nvim-treesitter-864b4171de82772323ab97d1fd9a9dbfcf53c002.tar nvim-treesitter-864b4171de82772323ab97d1fd9a9dbfcf53c002.tar.gz nvim-treesitter-864b4171de82772323ab97d1fd9a9dbfcf53c002.tar.bz2 nvim-treesitter-864b4171de82772323ab97d1fd9a9dbfcf53c002.tar.lz nvim-treesitter-864b4171de82772323ab97d1fd9a9dbfcf53c002.tar.xz nvim-treesitter-864b4171de82772323ab97d1fd9a9dbfcf53c002.tar.zst nvim-treesitter-864b4171de82772323ab97d1fd9a9dbfcf53c002.zip | |
feat: add swift indents (#4756)
Diffstat (limited to 'tests/indent')
| -rw-r--r-- | tests/indent/swift/declarations.swift | 51 | ||||
| -rw-r--r-- | tests/indent/swift/expressions.swift | 17 | ||||
| -rw-r--r-- | tests/indent/swift/statements.swift | 34 | ||||
| -rw-r--r-- | tests/indent/swift_spec.lua | 21 |
4 files changed, 123 insertions, 0 deletions
diff --git a/tests/indent/swift/declarations.swift b/tests/indent/swift/declarations.swift new file mode 100644 index 000000000..a6f576ef2 --- /dev/null +++ b/tests/indent/swift/declarations.swift @@ -0,0 +1,51 @@ +@wrapper +@modifier( + * +) +class EquilateralTriangle: NamedShape { + var sideLength: Double = 0.0 + + @attr + init( + sideLength: Double, + name: String + ) { + self.sideLength = sideLength + } + + var perimeter: Double { + willSet { + } + } + + @funcattr + override func simpleDescription(a: int, b: int) -> String { + return "An equilateral triangle with sides of length \(sideLength)." + } +} + +@attr +protocol ExampleProtocol { + var simpleDescription: String { get } + mutating func adjust() +} + +@available(*) +func test() { + +} + +@attr(*) +typealias Foo = Bar + +@attr +struct Foo< + Bar +> { + @Provider + var test = 1 + + subscript(index: Int) -> Int { + var foo = 2 + } +} diff --git a/tests/indent/swift/expressions.swift b/tests/indent/swift/expressions.swift new file mode 100644 index 000000000..4f7292a69 --- /dev/null +++ b/tests/indent/swift/expressions.swift @@ -0,0 +1,17 @@ +func Test() { + (1 + 2) + + [ + 1, + 2, + 3, + 4, + 5 + ].split() + + let x = [ + 1: 2, + 3: 4, + ] + +} diff --git a/tests/indent/swift/statements.swift b/tests/indent/swift/statements.swift new file mode 100644 index 000000000..df6e46c94 --- /dev/null +++ b/tests/indent/swift/statements.swift @@ -0,0 +1,34 @@ +func Test() { + if true { + return + } else if true { + return + } + + switch x { + case "1": + print("x") + default: + print("y") + @unknown default: + print("z") + } + + for a in b { + } + + while true{ + } + + repeat { + + } while (true) + + guard let name = person["name"] else { + return + } + + return ( + x + 1 + ) +} diff --git a/tests/indent/swift_spec.lua b/tests/indent/swift_spec.lua new file mode 100644 index 000000000..6ba0d2cf0 --- /dev/null +++ b/tests/indent/swift_spec.lua @@ -0,0 +1,21 @@ +local Runner = require("tests.indent.common").Runner + +local run = Runner:new(it, "tests/indent/swift", { + tabstop = 2, + shiftwidth = 2, + softtabstop = 2, + expandtab = true, +}) + +describe("indent Swift:", function() + describe("whole file:", function() + run:whole_file(".", {}) + end) + describe("new line:", function() + run:new_line("declarations.swift", { on_line = 6, text = "var x = 1", indent = 2 }) + run:new_line("declarations.swift", { on_line = 12, text = "var textInsideInit = true", indent = 4 }) + run:new_line("declarations.swift", { on_line = 17, text = "var textInsideWillSet = 1", indent = 6 }) + run:new_line("declarations.swift", { on_line = 22, text = "var textInsideOverrideFunc", indent = 4 }) + run:new_line("declarations.swift", { on_line = 28, text = "var InsideProtocol: String { get }", indent = 2 }) + end) +end) |
