mirror of
https://github.com/sharkdp/bat.git
synced 2025-03-14 06:38:24 +00:00
Add a simple Bash script for syntax tests
This commit is contained in:
parent
51d25e5859
commit
02dcb01120
72
tests/syntax-tests/highlighted/Bash/simple.sh
Normal file
72
tests/syntax-tests/highlighted/Bash/simple.sh
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m!/usr/bin/env bash[0m
|
||||||
|
[3;38;2;102;217;239mfunction[0m[38;2;255;255;255m [0m[38;2;166;226;46mincompatible_function[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239m:[0m
|
||||||
|
[38;2;255;255;255m}[0m
|
||||||
|
|
||||||
|
[38;2;166;226;46mcompatible_function[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mif[0m[38;2;255;255;255m [0m[38;2;249;38;114m![0m[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m==[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116myes[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m[38;2;255;255;255m 3[0m[38;2;249;38;114m;[0m[38;2;102;217;239m:[0m[38;2;249;38;114m;[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mfi[0m
|
||||||
|
[38;2;255;255;255m [0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m([0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239mexec[0m[38;2;255;255;255m [0m[38;2;190;132;255m3[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239mecho[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mfinished! [0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;230;219;116m? [0m[38;2;255;255;255m$[0m[38;2;255;255;255m*[0m[38;2;230;219;116m.[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m3[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114m|[0m[38;2;255;255;255m [0m[38;2;255;255;255mcat[0m[38;2;255;255;255m [0m[38;2;249;38;114m|[0m[38;2;255;255;255m [0m[38;2;255;255;255mbat[0m[38;2;255;255;255m -[0m[38;2;255;255;255m [0m[38;2;249;38;114m|[0m[38;2;255;255;255m [0m[38;2;255;255;255mcat[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 4[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m?[0m
|
||||||
|
[38;2;255;255;255m}[0m
|
||||||
|
|
||||||
|
[38;2;249;38;114mif[0m[38;2;255;255;255m [0m[38;2;102;217;239mcommand[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31mv[0m[38;2;255;255;255m bat [0m[38;2;249;38;114m&>[0m[38;2;255;255;255m /dev/null[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m%s...\n[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;102;217;239mecho[0m[38;2;230;219;116m some text[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mwhile[0m[38;2;255;255;255m [0m[38;2;255;255;255mtrue[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mdo[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239mecho[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mvar[0m
|
||||||
|
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mif[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m[38;2;255;255;255m [0m[38;2;102;217;239m[[[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mvar[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31meq[0m[38;2;255;255;255m 1 [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m ( true [0m[38;2;249;38;114m||[0m[38;2;255;255;255m false ) [0m[38;2;102;217;239m]][0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;255;255;255mfalse[0m[38;2;255;255;255m [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m[38;2;255;255;255m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m>[0m[38;2;255;255;255m /dev/null[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255m}[0m[38;2;255;255;255m [0m[38;2;249;38;114m&>[0m[38;2;255;255;255m /dev/null[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;255;255;255mcat[0m[38;2;230;219;116m [0m[38;2;249;38;114m<<<[0m[38;2;230;219;116m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mtwo[0m[38;2;255;255;255m"[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m[38;2;255;255;255m [0m[38;2;255;255;255m1[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mfi[0m
|
||||||
|
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mvar[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mtwo[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mthree[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mthree[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mfour[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mfo[0m[38;2;249;38;114m*[0m[38;2;255;255;255mr[0m[38;2;249;38;114m)[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;230;219;116mfive[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||||
|
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mfi[0m[38;2;255;255;255m"[0m[38;2;255;255;255mve[0m[38;2;249;38;114m)[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m
|
||||||
|
[38;2;230;219;116m [0m[38;2;255;255;255mcat[0m[38;2;230;219;116m [0m[38;2;249;38;114m<<[0m[38;2;230;219;116m [0m[38;2;249;38;114mEND[0m
|
||||||
|
[38;2;230;219;116msix > [0m[38;2;255;255;255m$[0m[38;2;255;255;255mvar[0m
|
||||||
|
[38;2;249;38;114mEND[0m
|
||||||
|
[38;2;230;219;116m [0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||||
|
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m$'[0m[38;2;230;219;116msix[0m[38;2;190;132;255m\n[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;249;38;114m|[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;255;255;255msix[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239mecho[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m?[0m[38;2;255;255;255m"[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mseven[0m[38;2;249;38;114m=[0m[38;2;230;219;116mseven[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mwhile[0m[38;2;255;255;255m [0m[38;2;102;217;239mread[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31mr[0m[38;2;255;255;255m line[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mdo[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mline[0m[38;2;255;255;255m"[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m[38;2;255;255;255m [0m[38;2;249;38;114m<<[0m[38;2;230;219;116m [0m[38;2;255;255;255m"[0m[38;2;249;38;114mHEREDOC[0m[38;2;255;255;255m"[0m
|
||||||
|
[38;2;230;219;116m1[0m
|
||||||
|
[38;2;230;219;116m2[0m
|
||||||
|
[38;2;230;219;116m$seven[0m
|
||||||
|
[38;2;249;38;114mHEREDOC[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||||
|
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;255;255;255m'[0m[38;2;230;219;116msev[0m[38;2;255;255;255m'[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mexport[0m[38;2;255;255;255m [0m[38;2;255;255;255mvar[0m[38;2;249;38;114m=[0m[38;2;230;219;116meight[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;102;217;239munset[0m[38;2;255;255;255m var[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||||
|
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m{[0m[38;2;255;255;255m [0m[38;2;255;255;255mincompatible_function[0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;255;255;255mfalse[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255m}[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;255;255;255mcompatible_function[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116myes[0m[38;2;255;255;255m"[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mbreak[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||||
|
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||||
|
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||||
|
[38;2;249;38;114mfi[0m
|
72
tests/syntax-tests/source/Bash/simple.sh
Normal file
72
tests/syntax-tests/source/Bash/simple.sh
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
function incompatible_function() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
compatible_function() {
|
||||||
|
if ! [ "$1" == "yes" ]
|
||||||
|
then
|
||||||
|
return 3;:;
|
||||||
|
fi
|
||||||
|
|
||||||
|
(
|
||||||
|
exec 3>&1
|
||||||
|
echo "finished! $@? $*." >&3 \
|
||||||
|
| cat | bat - | cat
|
||||||
|
exit 4
|
||||||
|
) || exit $?
|
||||||
|
}
|
||||||
|
|
||||||
|
if command -v bat &> /dev/null; then
|
||||||
|
var=1
|
||||||
|
printf "%s...\n" "$(echo some text)"
|
||||||
|
while true; do
|
||||||
|
echo $var
|
||||||
|
|
||||||
|
if { [[ "$var" -eq 1 && ( true || false ) ]] || false 2>&1 1> /dev/null; } &> /dev/null; then
|
||||||
|
var="$(cat <<< "two")"
|
||||||
|
continue 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$var" in
|
||||||
|
"two") var="three" ;;
|
||||||
|
three) var="four" ;;
|
||||||
|
fo*r)
|
||||||
|
var=five
|
||||||
|
;;
|
||||||
|
|
||||||
|
"fi"ve)
|
||||||
|
var="$(
|
||||||
|
cat << END
|
||||||
|
six > $var
|
||||||
|
END
|
||||||
|
)"
|
||||||
|
;;
|
||||||
|
|
||||||
|
$'six\n' | *six*)
|
||||||
|
echo "?"
|
||||||
|
seven=seven
|
||||||
|
while read -r line
|
||||||
|
do
|
||||||
|
var="$line"
|
||||||
|
done << "HEREDOC"
|
||||||
|
1
|
||||||
|
2
|
||||||
|
$seven
|
||||||
|
HEREDOC
|
||||||
|
;;
|
||||||
|
|
||||||
|
*'sev'*)
|
||||||
|
export var=eight
|
||||||
|
unset var
|
||||||
|
;;
|
||||||
|
|
||||||
|
'')
|
||||||
|
{ incompatible_function && false; } || compatible_function "yes"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
continue
|
||||||
|
done
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user