set -l indent ../test/root/bin/fish_indent echo Test1 echo -n ' begin echo hi end | cat | cat | begin ; echo hi ; end | begin ; begin ; echo hi ; end ; end arg ' | $indent echo \nTest2 echo -n ' switch aloha case alpha echo sup case beta gamma echo hi end ' | $indent echo \nTest3 echo -n ' function hello_world 'begin' echo hi end | cat echo sup; echo sup echo hello; echo hello end ' | $indent echo \nTest4 echo -n ' echo alpha #comment1 #comment2 #comment3 for i in abc #comment1 #comment2 echo hi end switch foo #abc # bar case bar echo baz\ qqq case "*" echo sup end' | $indent echo \nTest5 echo -n ' if true else if false echo alpha switch beta case gamma echo delta end end ' | $indent -i echo \nTest6 # Test errors echo -n ' begin echo hi else echo bye end; echo alpha " ' | $indent echo \nTest7 # issue 1665 echo -n ' if begin ; false; end; echo hi ; end while begin ; false; end; echo hi ; end ' | $indent echo \nTest redir formatting # issue 2899 echo -n ' echo < stdin >>appended yes 2>&1 no > stdout maybe 2>& 4 | cat 2>| cat ' | $indent echo \nTest normalization of keywords echo -n ' i\ f true echo yes en\ d "whil\ e" true "builtin" yes en"d" alpha | \ beta gamma | \ # comment3 delta if true echo abc end if false # comment4 and true && false echo abc;end echo hi | echo bye ' | $indent echo 'a;;;;;;' | $indent echo 'echo; echo' | $indent # Check that we keep semicolons for and and or, but only on the same line. printf '%s\n' "a; and b" | $indent printf '%s\n' "a;" "and b" | $indent printf '%s\n' "a" "; and b" | $indent printf '%s\n' "a; b" | $indent