mirror of
https://github.com/sharkdp/bat.git
synced 2025-01-13 09:08:22 +01: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…
Reference in New Issue
Block a user