Skip to content

Commit 30c5b81

Browse files
committed
Support Literate Haskell in tests
1 parent 03c0888 commit 30c5b81

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

test/test.sh

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/bin/bash
22

3-
baseDir=$(dirname $PWD)
3+
baseDir=$(dirname "$PWD")
44
echo "Running tests from base directory $baseDir"
55

66
# Arrays containing full test filepaths.
7-
named=($PWD/tests/*)
8-
tickets=($PWD/tickets/*)
7+
named=("$PWD"/tests/*)
8+
tickets=("$PWD"/tickets/*)
99

1010
# Arrays containing filenames of broken tests.
1111
namedBroken=()
@@ -38,7 +38,7 @@ runTests () {
3838
local -n fails=$3
3939
local -n passes=$4
4040

41-
syntax=""
41+
syntaxes=()
4242
source=""
4343

4444
for filepath in "${dir[@]}"
@@ -61,28 +61,37 @@ runTests () {
6161
case $ext in
6262

6363
"hs" | "hs-boot" | "hsig" )
64-
syntax="$baseDir/syntaxes/haskell.json"
64+
syntaxes=( "$baseDir/syntaxes/haskell.json" )
6565
source="source.haskell"
6666
;;
6767

6868
"cabal" )
69-
syntax="$baseDir/syntaxes/cabal.json"
69+
syntaxes=( "$baseDir/syntaxes/cabal.json" )
7070
source="source.cabal"
7171
;;
7272

73+
"lhs" )
74+
syntaxes=( "$baseDir/syntaxes/haskell.json" "$baseDir/syntaxes/literateHaskell.json" )
75+
source="text.tex.latex.haskell"
76+
;;
77+
7378
* )
74-
syntax=""
79+
syntaxes=()
7580
source=""
7681
;;
7782

7883
esac
7984

80-
if [ "$syntax" == "" ]
85+
if [ ${#syntaxes[@]} -eq 0 ]
8186
then
8287
echo "runTests: $file has unsupported file extension '$ext', ignoring"
8388
else
89+
specifySyntaxes=""
90+
for i in ${syntaxes[*]}; do
91+
specifySyntaxes="$specifySyntaxes -g $i"
92+
done
8493
# Run the test.
85-
result=$(vscode-tmgrammar-test -s "$source" -g "$syntax" -t "$filepath")
94+
result=$(vscode-tmgrammar-test -s "$source" $specifySyntaxes -t "$filepath")
8695
# Check test result by inspecting the exit code of the previous command.
8796
status=$?
8897
if [ $status -eq 0 ]

test/tests/LiterateHaskell.lhs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-- SYNTAX TEST "text.tex.latex.haskell" "Literate Haskell"
2+
3+
> \ x -> x + x
4+
-- <~~- keyword.operator.lambda.haskell
5+
-- ^^ keyword.operator.arrow.haskell
6+
-- ^ keyword.operator.infix.haskell

0 commit comments

Comments
 (0)