diff --git a/polymer/eduke32/source/lunatic/listglobals.sh b/polymer/eduke32/source/lunatic/listglobals.sh index 53e862420..d68eaea48 100755 --- a/polymer/eduke32/source/lunatic/listglobals.sh +++ b/polymer/eduke32/source/lunatic/listglobals.sh @@ -2,16 +2,30 @@ if [ -z "$1" ]; then # S or G can be used to display SETGLOBALs or GETGLOBALs, respectively - echo "Usage: $0 [S|G]" + echo "Usage: $0 [S|G] " exit 1; fi +GS= + +if [ "$1" = G ]; then + GS=G + shift +elif [ "$1" = S ]; then + GS=S + shift +fi + # Lua 5.2 required to parse ::label:: / goto generated by LunaCON. LUAC=luac -# Strip LuaJIT specific syntax first. Run luac and extract interesting lines. -sed -r -e "s/[0-9]+U?LL/0/g" "$1" | $LUAC -p -l - | grep "$2ETTABUP.*; _ENV " | - # Reformat them. - sed -e 's/.*\[\(.*\)\].*\([SG]ET\)TABUP.*"\(.*\)".*/\1: \2 \3/' | - # Mark where the new module environment starts. - sed -e 's/GET module/& ____________________/' +for f in "$@"; do + echo "[$f]" + # Strip LuaJIT specific syntax first. Run luac and extract interesting lines. + sed -r -e "s/[0-9]+U?LL/0/g" "$f" | $LUAC -p -l - | grep "${GS}ETTABUP.*; _ENV " | + # Reformat them. + sed -e 's/.*\[\(.*\)\].*\([SG]ET\)TABUP.*"\(.*\)".*/\1: \2 \3/' | + # Mark where the new module environment starts. + sed -e 's/GET module/& ____________________/' + echo +done