File tree 2 files changed +48
-0
lines changed
2 files changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ /luals-out /
Original file line number Diff line number Diff line change
1
+ #! /bin/sh
2
+
3
+ # Performs a lua-language-server check on all files.
4
+ # luals-out/check.json will be produced on any issues, returning 1.
5
+ # Outputs only check.json to stdout, all other messages to stderr, to allow jq etc.
6
+
7
+ VER_LLS=" 3.7.3"
8
+
9
+ DIR_SRC=" ${PWD} "
10
+ DIR_OUT=" ${DIR_SRC} /luals-out"
11
+ DIR_LLS=" /tmp/lls"
12
+
13
+ # clear output
14
+ rm -rf " ${DIR_OUT} "
15
+ mkdir " ${DIR_OUT} "
16
+
17
+ if [ ! -d " ${DIR_LLS} " ]; then
18
+ # download lua-language-server binaries
19
+ mkdir -p " ${DIR_LLS} "
20
+ curl -L " https://github.com/LuaLS/lua-language-server/releases/download/${VER_LLS} /lua-language-server-${VER_LLS} -linux-x64.tar.gz" | tar zx --directory " ${DIR_LLS} "
21
+ fi
22
+
23
+ # execute from within the lua-language-server directory as it expects specific file locations
24
+ OUT=$( " ${DIR_LLS} /bin/lua-language-server" --checklevel=Information --check " ${DIR_SRC} " --logpath=" ${DIR_OUT} " --loglevel=error)
25
+ RC=$?
26
+
27
+ echo " ${OUT} " >&2
28
+
29
+ if [ $RC -ne 0 ]; then
30
+ exit $RC
31
+ fi
32
+
33
+ # any output is a fail
34
+ case " ${OUT} " in
35
+ * Diagnosis\ complete* )
36
+ if [ -f " ${DIR_OUT} /check.json" ]; then
37
+ cat " ${DIR_OUT} /check.json"
38
+ exit 1
39
+ else
40
+ exit 0
41
+ fi
42
+ ;;
43
+ * )
44
+ exit 1
45
+ ;;
46
+ esac
47
+
You can’t perform that action at this time.
0 commit comments