From 2d48cbc831dcfc4ccce4380467d82e908effd0ee Mon Sep 17 00:00:00 2001 From: xasc Date: Sun, 6 Nov 2022 17:44:50 +0100 Subject: feat(t32): initial support --- tests/query/highlights/t32/comments.cmm | 10 ++++ tests/query/highlights/t32/keywords.cmm | 103 ++++++++++++++++++++++++++++++++ tests/query/highlights/t32/literals.cmm | 37 ++++++++++++ tests/query/highlights/t32/var.cmm | 27 +++++++++ 4 files changed, 177 insertions(+) create mode 100644 tests/query/highlights/t32/comments.cmm create mode 100644 tests/query/highlights/t32/keywords.cmm create mode 100644 tests/query/highlights/t32/literals.cmm create mode 100644 tests/query/highlights/t32/var.cmm (limited to 'tests') diff --git a/tests/query/highlights/t32/comments.cmm b/tests/query/highlights/t32/comments.cmm new file mode 100644 index 000000000..0bab130f6 --- /dev/null +++ b/tests/query/highlights/t32/comments.cmm @@ -0,0 +1,10 @@ +// This is a comment +; <- comment + +; Another comment +; <- comment + +ECHO &a // This is a trailing comment +; ^ comment + +// vim: set ft=t32: diff --git a/tests/query/highlights/t32/keywords.cmm b/tests/query/highlights/t32/keywords.cmm new file mode 100644 index 000000000..e9eb0e37f --- /dev/null +++ b/tests/query/highlights/t32/keywords.cmm @@ -0,0 +1,103 @@ +PRIVATE &password +; <- keyword +; ^ variable.builtin +ENTRY &password +; <- keyword +; ^ parameter + +IF "&password"=="" +; <- conditional +; ^ string +; ^ variable.builtin +; ^ operator +( + ECHO "Failed to provide password." + ENDDO +; ^ keyword.return +) +ELSE +; <- conditional +( + PRIVATE &pass + + &pass=FALSE() +; ^ function.builtin + WHILE !&pass +; ^ operator + ( + GOSUB verify_password "&password" +; ^ function.call + RETURNVALUES &pass +; ^ parameter + WAIT 10.ms +; ^ number + ) + + IF !&pass + GOTO fail +; ^ label + ELSE + ( + GOSUB start_debug +; ^ function.call + ) +) + +LOCAL &num +; ^ variable.builtin + +&num = 2. +; ^ number + +RePeaT &num PRINT "Password: &password" +; ^ variable.builtin +; ^ variable.builtin + +WinCLEAR +FramePOS ,,,,Maximized +; ^ punctuation.delimiter +; ^ constant +WinPOS 0% 50% 100% 35% +; ^ number +COVerage.ListFunc + +ENDDO + + +fail: +; <- label + PRINT %ERROR "Password verification failed." + END +; ^ keyword.return + + +verify_password: +; <- function +( + PARAMETERS &password +; ^ parameter + + SYStem.Option.KEYCODE "&password" + SYStem.JtagClock 1kHz +; ^ number + SYStem.Mode.Attach + + Data.Set EAXI:0x34000000 %Long 0x34000100 0x34000021 /verify +; ^ number +; ^ constant.builtin +; ^ constant + + RETURN TRUE() +; ^ keyword.return +) + + +SUBROUTINE start_debug +; ^ function +( + Go main + RETURN +; ^ keyword.return +) + +// vim: set ft=t32: diff --git a/tests/query/highlights/t32/literals.cmm b/tests/query/highlights/t32/literals.cmm new file mode 100644 index 000000000..f63348490 --- /dev/null +++ b/tests/query/highlights/t32/literals.cmm @@ -0,0 +1,37 @@ +WinPOS ,,1000.,,,,myWatchWindow +; ^ number + +PRinTer.OPEN "~~~/varwatch.txt" ASCIIE +; ^ string + +sYmbol.NEW _InitialSP 0x34000100 +; ^ number + +DO ~~~~/test.cmm +; ^ string.special + +WAIT 1.ns +; ^ number + +SYStem.JtagClock 100.GHZ +; ^ number + +DATA.SET P:&HEAD+0x4 %LONG DATA.LONG(EA:&HEAD+0x4)&0xFFFFFF +; ^ number + +List `main` +; ^ symbol + +&range = 'a'--'z'||'0'--'9' +; ^ character +; ^ operator +; ^ character + +Data.Set 0xffff800000 0y0011xx01xx&&a +; ^ number +; ^ operator + +WinPOS 0% 85% 100% 15% +; ^ number + +// vim: set ft=t32: diff --git a/tests/query/highlights/t32/var.cmm b/tests/query/highlights/t32/var.cmm new file mode 100644 index 000000000..a2d6f9b2a --- /dev/null +++ b/tests/query/highlights/t32/var.cmm @@ -0,0 +1,27 @@ +Var.NEWGLOBAL char[4][32] \myarr +; <- keyword +; ^ type +; ^ variable.builtin +LOCAL &i &data + +&data="zero|one|two|three" + +&i=0. +WHILE &i<4 +( + PRIVATE &val + &val=STRing.SPLIT("&data","|",&i) + Var.Assign \myarr[&i]="&val" +; ^ variable.builtin + &i=&i+1. +) + +Var.NEWLOCAL \x +; <- keyword +; ^ variable.builtin +Var.set \x=func3(5,3) +; ^ variable.builtin +PRINT Var.VALUE(\x) +; ^ variable.builtin + +// vim: set ft=t32: -- cgit v1.2.3-70-g09d2