mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-11 16:00:02 -04:00
test(tiger): import upstream tests
This commit is contained in:
parent
ef385991b6
commit
6e3f888dc7
16 changed files with 454 additions and 0 deletions
43
tests/query/highlights/tiger/built-ins.tig
Normal file
43
tests/query/highlights/tiger/built-ins.tig
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
let
|
||||
var a := exit(0)
|
||||
/* ^ function.builtin */
|
||||
|
||||
primitive exit(ret: int) /* Shadowing the prelude-included built-in */
|
||||
/* ^ type.builtin */
|
||||
|
||||
var b := exit(0)
|
||||
/* ^ function */
|
||||
|
||||
type int = string /* Shadowing the built-in type */
|
||||
/* ^ type.builtin */
|
||||
|
||||
var c : int := "This is an \"int\""
|
||||
/* ^ type.builtin (not sure why it isn't 'type')*/
|
||||
|
||||
var d : Object := nil
|
||||
/* ^ type.builtin */
|
||||
|
||||
type Object = int
|
||||
|
||||
var self := "self"
|
||||
in
|
||||
let
|
||||
var c : int := "This is an int"
|
||||
/* ^ type.builtin (not sure why it isn't 'type')*/
|
||||
var d : Object := "This is an object"
|
||||
/* ^ type.builtin (not sure why it isn't 'type')*/
|
||||
in
|
||||
end;
|
||||
|
||||
exit(1);
|
||||
/* <- function */
|
||||
|
||||
print("shadowing is fun");
|
||||
/* <- function.builtin */
|
||||
|
||||
self;
|
||||
/* <- variable */
|
||||
|
||||
b := print
|
||||
/* ^ variable */
|
||||
end
|
||||
5
tests/query/highlights/tiger/comment.tig
Normal file
5
tests/query/highlights/tiger/comment.tig
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
/* This is /* a nested */ comment */
|
||||
/* <- comment
|
||||
^ comment
|
||||
^ comment
|
||||
*/
|
||||
8
tests/query/highlights/tiger/functions.tig
Normal file
8
tests/query/highlights/tiger/functions.tig
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
primitive print(s: string)
|
||||
/* ^ function */
|
||||
/* ^ variable.parameter */
|
||||
|
||||
function func(a: int) : int = (print("Hello World!"); a)
|
||||
/* ^ function */
|
||||
/* ^ variable.parameter */
|
||||
/* ^ function */
|
||||
29
tests/query/highlights/tiger/identifiers.tig
Normal file
29
tests/query/highlights/tiger/identifiers.tig
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
type int = int
|
||||
/* ^ variable */
|
||||
/* ^ type.builtin */
|
||||
|
||||
type int_array = array of int
|
||||
/* ^ type.builtin */
|
||||
|
||||
type record = {a: int, b: string}
|
||||
/* ^ property */
|
||||
/* ^ type.builtin */
|
||||
/* ^ property */
|
||||
/* ^ type.builtin */
|
||||
|
||||
var record := record {a = 12, b = "27"}
|
||||
/* ^ variable */
|
||||
/* ^ type */
|
||||
/* ^ property */
|
||||
/* ^ property */
|
||||
|
||||
var array := int_array[12] of 27;
|
||||
/* ^ variable */
|
||||
/* ^ type */
|
||||
|
||||
primitive func(a: int, b: string) : array
|
||||
/* ^ variable.parameter */
|
||||
/* ^ type.builtin */
|
||||
/* ^ variable.parameter */
|
||||
/* ^ type.builtin */
|
||||
/* ^ type */
|
||||
3
tests/query/highlights/tiger/imports.tig
Normal file
3
tests/query/highlights/tiger/imports.tig
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import "lib.tih"
|
||||
/* <- keyword */
|
||||
/* ^ string.special.path */
|
||||
41
tests/query/highlights/tiger/keywords.tig
Normal file
41
tests/query/highlights/tiger/keywords.tig
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
let
|
||||
/* <- keyword */
|
||||
|
||||
var a := 12
|
||||
/* <- keyword */
|
||||
|
||||
function f() : int = a
|
||||
/* <- keyword.function */
|
||||
primitive g()
|
||||
/* <- keyword.function */
|
||||
|
||||
import "lib.tih"
|
||||
/* <- keyword */
|
||||
|
||||
type array_of_int = array of int
|
||||
/* <- keyword */
|
||||
/* ^ keyword */
|
||||
/* ^ keyword */
|
||||
|
||||
in
|
||||
/* <- keyword */
|
||||
|
||||
12;
|
||||
|
||||
if 12 then 27 else 42;
|
||||
/* <- keyword */
|
||||
/* ^ keyword */
|
||||
/* ^ keyword */
|
||||
|
||||
for i := 12 to 27 do 42;
|
||||
/* <- keyword.repeat */
|
||||
/* ^ keyword.repeat */
|
||||
/* ^ keyword.repeat */
|
||||
|
||||
while 12 do break
|
||||
/* <- keyword.repeat */
|
||||
/* ^ keyword.repeat */
|
||||
/* ^ keyword */
|
||||
|
||||
end
|
||||
/* <- keyword */
|
||||
8
tests/query/highlights/tiger/literals.tig
Normal file
8
tests/query/highlights/tiger/literals.tig
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
nil
|
||||
/* <- constant.builtin */
|
||||
42
|
||||
/* <- number */
|
||||
"Hello World!\n"
|
||||
/* <- string
|
||||
^ string.escape
|
||||
*/
|
||||
13
tests/query/highlights/tiger/meta-variables.tig
Normal file
13
tests/query/highlights/tiger/meta-variables.tig
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
let
|
||||
_chunks(42)
|
||||
/* <- keyword */
|
||||
|
||||
in
|
||||
_lvalue(12) : _namety(42) := _cast("I'm So Meta Even This Acronym", string);
|
||||
/* <- keyword */
|
||||
/* ^ keyword */
|
||||
/* ^ keyword */
|
||||
|
||||
_exp(42)
|
||||
/* <- keyword */
|
||||
end
|
||||
28
tests/query/highlights/tiger/object-oriented.tig
Normal file
28
tests/query/highlights/tiger/object-oriented.tig
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
let
|
||||
class A extends Object {}
|
||||
/* <- keyword */
|
||||
/* ^ keyword */
|
||||
/* ^ type.builtin */
|
||||
|
||||
type B = class extends A {
|
||||
/* ^ keyword */
|
||||
/* ^ keyword */
|
||||
/* ^ type */
|
||||
|
||||
var a := 12
|
||||
|
||||
method meth() : int = self.a
|
||||
/* <- keyword.method */
|
||||
/* ^ method */
|
||||
/* ^ variable.builtin */
|
||||
}
|
||||
|
||||
var object := new B
|
||||
/* ^ keyword.constructor */
|
||||
in
|
||||
object.a := 27;
|
||||
/* ^ property */
|
||||
|
||||
object.meth()
|
||||
/* ^ method */
|
||||
end
|
||||
48
tests/query/highlights/tiger/operators.tig
Normal file
48
tests/query/highlights/tiger/operators.tig
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
let
|
||||
var a : int := 42
|
||||
/* ^ punctuation.delimiter */
|
||||
/* ^ operator */
|
||||
in
|
||||
(
|
||||
/* <- punctuation.bracket */
|
||||
|
||||
-1 | 2 & 3 + 4 * 5;
|
||||
/* <- operator */
|
||||
/* ^ operator */
|
||||
/* ^ operator */
|
||||
/* ^ operator */
|
||||
/* ^ operator */
|
||||
/* ^ punctuation.delimiter */
|
||||
|
||||
12 >= 27;
|
||||
/* ^ operator */
|
||||
12 <= 27;
|
||||
/* ^ operator */
|
||||
12 = 27;
|
||||
/* ^ operator */
|
||||
12 <> 27;
|
||||
/* ^ operator */
|
||||
12 < 27;
|
||||
/* ^ operator */
|
||||
12 > 27;
|
||||
/* ^ operator */
|
||||
|
||||
record.field;
|
||||
/* ^ punctuation.delimiter */
|
||||
|
||||
func(a, b);
|
||||
/* ^ punctuation.bracket */
|
||||
/* ^ punctuation.bracket */
|
||||
/* ^ punctuation.delimiter */
|
||||
|
||||
record_type { };
|
||||
/* ^ punctuation.bracket */
|
||||
/* ^ punctuation.bracket */
|
||||
|
||||
array[42]
|
||||
/* ^ punctuation.bracket */
|
||||
/* ^ punctuation.bracket */
|
||||
|
||||
)
|
||||
/* <- punctuation.bracket */
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue