mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 03:16:00 +08:00
15c50703ce
As mentioned in #2900, something like ```fish test -n "$var"; and set -l foo $var ``` is sufficiently idiomatic that it should be allowable. Also fixes some additional weirdness with semicolons.
137 lines
1.1 KiB
Plaintext
137 lines
1.1 KiB
Plaintext
Test1
|
|
|
|
begin
|
|
echo hi
|
|
|
|
|
|
end | cat | cat | begin
|
|
echo hi
|
|
end | begin
|
|
begin
|
|
echo hi
|
|
end
|
|
end arg
|
|
|
|
Test2
|
|
|
|
switch aloha
|
|
|
|
case alpha
|
|
echo sup
|
|
|
|
case beta gamma
|
|
echo hi
|
|
|
|
end
|
|
|
|
Test3
|
|
|
|
function hello_world
|
|
|
|
begin
|
|
echo hi
|
|
end | cat
|
|
|
|
echo sup
|
|
echo sup
|
|
echo hello
|
|
|
|
echo hello
|
|
end
|
|
|
|
Test4
|
|
|
|
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
|
|
Test5
|
|
|
|
if true
|
|
else if false
|
|
echo alpha
|
|
switch beta
|
|
case gamma
|
|
echo delta
|
|
end
|
|
end
|
|
|
|
Test6
|
|
|
|
begin
|
|
echo hi
|
|
else
|
|
echo bye
|
|
end
|
|
echo alpha "
|
|
|
|
Test7
|
|
|
|
if begin
|
|
false
|
|
end
|
|
echo hi
|
|
end
|
|
while begin
|
|
false
|
|
end
|
|
echo hi
|
|
end
|
|
|
|
Test redir formatting
|
|
|
|
echo <stdin >>appended yes 2>&1 no >stdout maybe 2>&4 | cat 2>| cat
|
|
|
|
Test normalization of keywords
|
|
|
|
if true
|
|
echo yes
|
|
end
|
|
|
|
while true
|
|
builtin yes
|
|
end
|
|
|
|
alpha | \
|
|
beta
|
|
|
|
gamma | \
|
|
# comment3
|
|
delta
|
|
|
|
if true
|
|
echo abc
|
|
end
|
|
|
|
if false # comment4
|
|
and true && false
|
|
echo abc
|
|
end
|
|
|
|
echo hi |
|
|
|
|
echo bye
|
|
a
|
|
echo
|
|
echo
|
|
a; and b
|
|
a
|
|
and b
|
|
a
|
|
and b
|
|
a
|
|
b
|