File indexing completed on 2024-05-12 04:02:07

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.fish</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Fish) - Theme (Breeze Light)"/>
0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
0007 <span style="color:#898887">### Comments</span>
0008 <span style="color:#898887"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span>
0009 <span style="color:#898887"># </span><span style="color:#0057ae;background-color:#e0e9f8">BEGIN</span>
0010 <span style="color:#898887">#    fg sfg sfh sft</span>
0011 <span style="color:#898887"># </span><span style="color:#0057ae;background-color:#e0e9f8">END</span>
0012 <span style="color:#898887">#</span>
0013 <span style="color:#898887"># text in (parenthesis) is ok, (even</span>
0014 <span style="color:#898887"># over several lines)</span>
0015 <span style="color:#898887"># escaped \) and \( are ok</span>
0016 <span style="color:#898887"># an unbalanced single </span><span style="color:#bf0303;text-decoration:underline">)</span> is not ok
0017 <span style="color:#898887"># This is due to fish comment handling in command substitutions</span>
0018 <span style="color:#898887"># which cannot reasonably handled by kate syntax highlighting</span>
0019 
0020 
0021 <span style="color:#898887">### Commands and paths</span>
0022 <span style="color:#644a9b">ls</span> -l <span style="font-weight:bold">|</span><span style="color:#644a9b">sort</span>
0023 <span style="color:#644a9b">ls</span> -1
0024 <span style="color:#0095ff;font-weight:bold">/usr/bin/</span><span style="color:#644a9b">ls</span> -l /usr/local/test/ -xyz       <span style="color:#898887"># option as indicator of CommandArgs context</span>
0025 <span style="color:#0095ff;font-weight:bold">./bin/</span><span style="color:#644a9b">ls</span> -l /usr/abc<span style="font-weight:bold">**</span>/tes<span style="font-weight:bold">?</span>/lkhlk    -xyz   <span style="color:#898887"># tabulator as separator</span>
0026 <span style="color:#0095ff;font-weight:bold">../bin/</span><span style="color:#644a9b">ls</span> -l /usr/abc<span style="font-weight:bold">**</span>/tes<span style="font-weight:bold">?</span>/lkhlk
0027 <span style="color:#0095ff;font-weight:bold">~/bin/</span><span style="color:#644a9b">ls</span> -l ../usr/lo<span style="font-weight:bold">\ </span>cal/test
0028 <span style="color:#0095ff;font-weight:bold">~user/bin/</span><span style="color:#644a9b">ls</span> -l /usr/<span style="color:#3daee9">{</span>local<span style="font-weight:bold">,</span>remote<span style="color:#3daee9">}</span><span style="color:#bf0303;text-decoration:underline">}</span>/test<span style="font-weight:bold">|</span><span style="color:#644a9b">cat</span>  <span style="color:#898887"># show error</span>
0029 <span style="color:#0095ff;font-weight:bold">/usr/bin/../lib/</span><span style="color:#644a9b">ls</span> -l /usr/local/test.<span style="font-weight:bold">???</span><span style="font-weight:bold">|</span><span style="color:#644a9b">cat</span>
0030 <span style="color:#0095ff;font-weight:bold">/usr/bin\ sdfg/</span><span style="color:#644a9b">ls</span> -l /usr/local/test.<span style="font-weight:bold">*</span>
0031 <span style="color:#0095ff;font-weight:bold">usr/bin/</span><span style="color:#644a9b">other</span> -l <span style="font-weight:bold">~user</span>/local/test
0032 <span style="color:#0095ff;font-weight:bold">\ usr/bin/</span><span style="color:#644a9b">other</span> -l <span style="font-weight:bold">~user</span>/local/test
0033 <span style="color:#0095ff;font-weight:bold">/usr/bin/</span><span style="color:#644a9b">lsother</span>
0034 <span style="color:#0095ff;font-weight:bold">../test/root/bin/</span><span style="color:#644a9b">fish</span> -c <span style="color:#bf0303">"echo </span><span style="color:#0057ae">$t8</span><span style="color:#bf0303">"</span>
0035 <span style="color:#0095ff;font-weight:bold">test/root/bin/</span><span style="color:#644a9b">fish</span> -c <span style="color:#bf0303">"echo </span><span style="color:#0057ae">$t8</span><span style="color:#bf0303">"</span>
0036 <span style="color:#0095ff;font-weight:bold">u?r/bin/</span><span style="color:#644a9b">ls</span>
0037 <span style="color:#0095ff;font-weight:bold">usr/b?n/</span><span style="color:#644a9b">ls</span>
0038 <span style="color:#0095ff;font-weight:bold">u*</span><span style="color:#644a9b">ls</span>        <span style="color:#898887"># doesn't work, but ok</span>
0039 <span style="color:#bf0303">"ls"</span> /tmp/testtest                         <span style="color:#898887"># Quotes in commands are expanded</span>
0040 <span style="color:#0095ff;font-weight:bold">/us</span><span style="color:#bf0303">"r/bin"</span><span style="color:#0095ff;font-weight:bold">/xy/</span><span style="color:#644a9b">ls</span>
0041 <span style="color:#644a9b">abcd</span><span style="color:#bf0303;text-decoration:underline">$</span><span style="color:#644a9b">a</span>      <span style="color:#898887"># show error</span>
0042 <span style="color:#644a9b">other</span><span style="color:#bf0303;text-decoration:underline">)</span> abc  <span style="color:#898887"># show error</span>
0043 <span style="color:#bf0303;text-decoration:underline">&lt;</span>other abc  <span style="color:#898887"># show error</span>
0044 <span style="color:#644a9b">other</span><span style="color:#ca60ca">></span> abc  <span style="color:#898887"># ok</span>
0045 <span style="color:#644a9b">oth</span><span style="color:#ca60ca">></span>er abc  <span style="color:#898887"># ok</span>
0046 <span style="color:#644a9b">ot</span><span style="color:#bf0303;text-decoration:underline">(</span><span style="color:#644a9b">her</span><span style="color:#bf0303;text-decoration:underline">)</span> abc <span style="color:#898887"># show error</span>
0047 
0048 <span style="color:#644a9b">-cmd</span>
0049 <span style="color:#644a9b">déjà-vu</span>
0050 
0051 <span style="color:#644a9b">ls</span> /ho<span style="color:#bf0303">"me/te"</span>st<span style="color:#bf0303">'user'</span>/abc<span style="color:#0057ae">$dir</span><span style="color:#0057ae">[3]</span>/ab<span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> cdefg<span style="color:#3daee9">)</span>cd/xyz
0052 <span style="color:#644a9b">cat\ alog</span> -abc
0053 <span style="color:#644a9b">ls</span> path_not_detected
0054 <span style="color:#644a9b">ls</span> <span style="font-weight:bold">*</span> no_path
0055 <span style="color:#644a9b">ls</span> <span style="font-weight:bold">*</span>path_detected
0056 <span style="color:#0095ff;font-weight:bold">ls/</span>
0057 <span style="color:#644a9b">ls</span><span style="font-weight:bold">;</span><span style="color:#644a9b;font-weight:bold">echo</span> xy
0058 <span style="color:#644a9b">flex++</span>
0059 <span style="color:#644a9b;font-weight:bold">echo</span> [abc] abc
0060 
0061 <span style="color:#898887">#specials</span>
0062 <span style="color:#644a9b;font-weight:bold">command</span> -s <span style="color:#644a9b">ls</span>
0063 <span style="color:#644a9b;font-weight:bold">builtin</span> --names <span style="color:#644a9b;font-weight:bold">jobs</span>
0064 <span style="color:#644a9b;font-weight:bold">exec</span> <span style="color:#644a9b">bash</span>
0065 <span style="color:#644a9b;font-weight:bold">exec</span> <span style="color:#0057ae">$test</span>
0066 <span style="color:#644a9b;font-weight:bold">set</span> -e <span style="color:#0057ae">i</span><span style="color:#0057ae">[-1]</span>
0067 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test1</span><span style="color:#0057ae">[-1..1]</span> <span style="color:#0057ae">$test</span><span style="font-weight:bold">;</span> <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test1</span>
0068 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test1</span><span style="color:#0057ae">[1..</span><span style="color:#0057ae">$n</span><span style="color:#0057ae">]</span> <span style="color:#0057ae">$test</span><span style="font-weight:bold">;</span> <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test1</span>
0069 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test1</span><span style="color:#0057ae">[</span><span style="color:#0057ae">$n</span><span style="color:#0057ae">..1]</span> <span style="color:#0057ae">$test</span><span style="font-weight:bold">;</span> <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test1</span>
0070 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test1</span><span style="color:#0057ae">[2..4 -2..-4]</span> <span style="color:#0057ae">$test1</span><span style="color:#0057ae">[4..2 -4..-2]</span><span style="font-weight:bold">;</span> <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test1</span>
0071 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test1</span><span style="color:#0057ae">[2..4 -2..-4]</span>[1] <span style="color:#0057ae">$test1</span><span style="color:#0057ae">[4..2 -4..-2][1]</span>
0072 <span style="color:#898887">#                     ~~~ invalid</span>
0073 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test1</span><span style="font-weight:bold">\</span>
0074 <span style="color:#0057ae">[2..4 -2..-4]</span><span style="font-weight:bold">\</span>
0075 [1] a
0076 <span style="color:#898887">#~~ invalid</span>
0077 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test1</span> <span style="font-weight:bold">\</span>
0078     <span style="color:#898887">#bla bla</span>
0079     a b c
0080 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">page_url</span> http://fishshell.com/docs/<span style="color:#0057ae">$version_string</span>/<span style="color:#0057ae">$fish_help_page</span>    <span style="color:#898887"># ???</span>
0081 <span style="color:#644a9b;font-weight:bold">string</span> <span style="color:#644a9b;font-weight:bold">split</span> . example.com
0082 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">b</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">string</span> <span style="color:#644a9b;font-weight:bold">repeat</span> -n 512 x<span style="color:#3daee9">)</span>
0083 
0084 <span style="color:#644a9b;font-weight:bold">read</span> -gi <span style="color:#0057ae">test</span>    <span style="color:#898887"># ok</span>
0085 <span style="color:#644a9b;font-weight:bold">read</span> -gi <span style="color:#0057ae">$test</span>
0086 <span style="color:#644a9b;font-weight:bold">read</span> -gi <span style="color:#bf0303">"test"</span>
0087 <span style="color:#644a9b;font-weight:bold">read</span> -gi <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> test<span style="color:#3daee9">)</span>
0088 
0089 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">x</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">string</span> <span style="color:#644a9b;font-weight:bold">split</span> --max 1 --right / <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">status</span> current-filename<span style="color:#3daee9">)</span> <span style="color:#898887">#Comment test</span><span style="color:#3daee9">)</span>
0090 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">test</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">exec</span> <span style="color:#0057ae">$cmd</span><span style="color:#3daee9">)</span>
0091 
0092 <span style="color:#898887"># direct path</span>
0093 <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#ca60ca">-d </span><span style="color:#0057ae">$tmpldir</span>/resources
0094 
0095 <span style="color:#898887">### Options</span>
0096 <span style="color:#644a9b">cat</span> -l /usr/local/test<span style="color:#ca60ca">></span>logfile
0097 <span style="color:#644a9b">ls</span> --longopt<span style="color:#ca60ca">=</span>/test
0098 <span style="color:#644a9b">ls</span> -l<span style="color:#bf0303">"kasdflakjs"</span> -r/usr/test -x../test/../bla -z<span style="font-weight:bold">~xyz</span>/hello
0099 
0100 <span style="color:#898887">### Arguments</span>
0101 <span style="color:#644a9b;font-weight:bold">echo</span> abc<span style="color:#bf0303">"def"</span>ghi
0102 <span style="color:#644a9b;font-weight:bold">echo</span> abc/def
0103 <span style="color:#644a9b;font-weight:bold">echo</span> abc[de]
0104 <span style="color:#644a9b;font-weight:bold">echo</span> abc<span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> def<span style="color:#3daee9">)</span>ghi
0105 <span style="color:#644a9b;font-weight:bold">echo</span> abc<span style="color:#3daee9">{</span>de<span style="font-weight:bold">,</span>f<span style="color:#3daee9">}</span>ghi
0106 
0107 <span style="color:#898887"># Path Detection</span>
0108 <span style="color:#644a9b;font-weight:bold">cd</span> abc<span style="font-weight:bold">*</span>efghi  <span style="color:#898887"># fish assumes * is glob -> path</span>
0109 <span style="color:#644a9b;font-weight:bold">cd</span> abc<span style="font-weight:bold">?</span>efghi
0110 <span style="color:#644a9b;font-weight:bold">cd</span> ..
0111 <span style="color:#644a9b;font-weight:bold">cd</span> .. <span style="color:#898887">#</span>
0112 <span style="color:#644a9b;font-weight:bold">cd</span> .
0113 <span style="color:#644a9b;font-weight:bold">cd</span> . <span style="color:#898887">#</span>
0114 <span style="color:#644a9b;font-weight:bold">cd</span> <span style="font-weight:bold">~</span>
0115 <span style="color:#644a9b;font-weight:bold">cd</span> <span style="font-weight:bold">~abc</span>/abc/<span style="font-weight:bold">*</span>.txt
0116 <span style="color:#644a9b;font-weight:bold">cd</span> ./abc
0117 <span style="color:#644a9b;font-weight:bold">cd</span> ../abc
0118 <span style="color:#644a9b;font-weight:bold">cd</span> <span style="font-weight:bold">\ </span>abc/tmp<span style="font-weight:bold">\ </span>.txt
0119 
0120 <span style="color:#644a9b;font-weight:bold">test</span> .. abc
0121 
0122 <span style="color:#898887">### Escapes</span>
0123 <span style="color:#644a9b">touch</span> a<span style="font-weight:bold">\?</span>bc<span style="font-weight:bold">\[\]</span>ax<span style="font-weight:bold">\~</span>dsf<span style="font-weight:bold">\#</span>gsd<span style="font-weight:bold">\a</span>f<span style="font-weight:bold">\(\)</span>dg<span style="font-weight:bold">\?</span>sd<span style="font-weight:bold">\ </span>fg<span style="font-weight:bold">\b</span>hh<span style="font-weight:bold">\%</span>j<span style="font-weight:bold">\$</span>k<span style="font-weight:bold">\\</span>l<span style="font-weight:bold">\?</span>sed<span style="font-weight:bold">\*</span>jk<span style="font-weight:bold">\></span>hj<span style="font-weight:bold">\&lt;</span>hou<span style="font-weight:bold">\&amp;</span>h<span style="font-weight:bold">\;</span>hgkj<span style="font-weight:bold">\^</span>kj<span style="font-weight:bold">\"</span>kjh<span style="font-weight:bold">\'</span>jhg
0124 <span style="color:#644a9b">touch</span> sdf<span style="font-weight:bold">\xa5</span>lh<span style="font-weight:bold">\Xb7</span>kll<span style="font-weight:bold">\157</span>j<span style="font-weight:bold">\15</span>8hk<span style="font-weight:bold">\ua47b</span>z<span style="font-weight:bold">\U123b5678</span>fs<span style="font-weight:bold">\cx</span>zdfga
0125 
0126 <span style="color:#644a9b">touch</span> <span style="color:#bf0303">"a\?bc\[\]a"</span>      <span style="color:#898887"># no escaping in Quotes</span>
0127 <span style="color:#644a9b">touch</span> fgh\y1            <span style="color:#898887"># \y is no escape sequence in fish, show it as normal text like fish itself</span>
0128 
0129 <span style="color:#898887">### Builtins</span>
0130 <span style="color:#644a9b;font-weight:bold">. </span>hallo
0131 <span style="color:#644a9b;font-weight:bold">source</span> hallo 
0132 <span style="color:#644a9b;font-weight:bold">eval</span> <span style="color:#644a9b">ls</span> . /tmp
0133 <span style="color:#644a9b;font-weight:bold">eval</span> <span style="color:#644a9b">ls</span> .../tmp
0134 <span style="color:#644a9b;font-weight:bold">eval</span> <span style="color:#0057ae">$var</span>
0135 <span style="color:#644a9b;font-weight:bold">eval</span> <span style="color:#644a9b">abc</span>
0136 <span style="color:#644a9b;font-weight:bold">eval</span> <span style="color:#3daee9">{</span>l<span style="font-weight:bold">,</span>a<span style="color:#3daee9">}</span><span style="color:#644a9b">s</span>  <span style="color:#898887"># lists ./as. colours not ok, but we cut here</span>
0137 <span style="color:#644a9b;font-weight:bold">eval</span> <span style="color:#bf0303">"echo bla"</span>
0138 
0139 <span style="color:#644a9b;font-weight:bold">history</span> merge
0140 
0141 <span style="color:#644a9b;font-weight:bold">true</span> <span style="font-weight:bold">;</span><span style="color:#644a9b">ls</span>
0142 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">true</span><span style="color:#3daee9">)</span>
0143 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">true</span> <span style="color:#898887">#comment</span><span style="color:#3daee9">)</span>
0144 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">true</span><span style="color:#ca60ca">>></span>xyz/abc<span style="color:#3daee9">)</span>
0145 <span style="color:#644a9b;font-weight:bold">true</span> <span style="color:#bf0303;text-decoration:underline">-error     </span><span style="color:#898887"># show error</span>
0146 <span style="color:#644a9b;font-weight:bold">pwd</span> <span style="color:#ca60ca">></span> abc
0147 
0148 <span style="color:#644a9b;font-weight:bold">command</span> -s <span style="color:#644a9b">ls</span><span style="font-weight:bold">;</span><span style="color:#644a9b">cat</span> test
0149 <span style="color:#644a9b;font-weight:bold">builtin</span> -n<span style="font-weight:bold">;</span><span style="color:#644a9b;font-weight:bold">builtin</span> <span style="color:#644a9b;font-weight:bold">echo</span>
0150 
0151 <span style="color:#644a9b;font-weight:bold">complete</span> -c myprog -s o -l output -a <span style="color:#bf0303">"yes no"</span>
0152 <span style="color:#644a9b;font-weight:bold">builtin</span> <span style="color:#644a9b;font-weight:bold">jobs</span>
0153 
0154 <span style="color:#644a9b;font-weight:bold">math</span> -s0 10.0 / 6.0
0155 
0156 <span style="color:#898887">#special keywords as directory names:</span>
0157 <span style="color:#0095ff;font-weight:bold">/usr/function/</span><span style="color:#644a9b">testtest</span> /usr/function/testtest
0158 <span style="color:#0095ff;font-weight:bold">/usr/for/</span><span style="color:#644a9b">testtest</span> /usr/for/testtest
0159 <span style="color:#0095ff;font-weight:bold">/usr/begin/</span><span style="color:#644a9b">testtest</span> /usr/begin/testtest
0160 <span style="color:#0095ff;font-weight:bold">/usr/switch/</span><span style="color:#644a9b">testtest</span> /usr/switch/testtest
0161 <span style="color:#0095ff;font-weight:bold">/usr/if/</span><span style="color:#644a9b">testtest</span> /usr/if/testtest
0162 <span style="color:#0095ff;font-weight:bold">/usr/while/</span><span style="color:#644a9b">testtest</span> /usr/while/testtest
0163 <span style="color:#0095ff;font-weight:bold">/usr/command/</span><span style="color:#644a9b">testtest</span> /usr/command/testtest
0164 <span style="color:#0095ff;font-weight:bold">/usr/builtin/</span><span style="color:#644a9b">testtest</span> /usr/builtin/testtest
0165 <span style="color:#0095ff;font-weight:bold">/usr/eval/</span><span style="color:#644a9b">testtest</span> /usr/eval/testtest
0166 <span style="color:#0095ff;font-weight:bold">/usr/exec/</span><span style="color:#644a9b">testtest</span> /usr/exec/testtest
0167 <span style="color:#0095ff;font-weight:bold">/usr/set/</span><span style="color:#644a9b">testtest</span> /usr/set/testtest
0168 <span style="color:#0095ff;font-weight:bold">/usr/test/</span><span style="color:#644a9b">testtest</span> /usr/test/testtest
0169 
0170 <span style="color:#898887">### test</span>
0171 <span style="color:#644a9b;font-weight:bold">test</span> NUM1<span style="color:#ca60ca"> -eq </span>NUM2
0172 <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#ca60ca">-f </span>/tmp/abc <span style="color:#ca60ca">-a -e </span>/tmp/def<span style="font-weight:bold">;</span><span style="color:#644a9b">cat</span> /tmp/abc<span style="font-weight:bold">;</span>
0173 
0174 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">test</span> <span style="font-weight:bold">\(</span> <span style="color:#ca60ca">-f </span>/foo <span style="color:#ca60ca">-o -f </span>/bar <span style="font-weight:bold">\)</span> <span style="color:#ca60ca">-a </span><span style="font-weight:bold">\(</span> <span style="color:#ca60ca">-f </span>/baz <span style="color:#ca60ca">-o -f </span>/bat <span style="font-weight:bold">\)</span>
0175     <span style="color:#644a9b;font-weight:bold">echo</span> Success.
0176 <span style="font-weight:bold">end</span>
0177 
0178 <span style="color:#644a9b;font-weight:bold">[ </span>25<span style="color:#ca60ca"> -eq </span><span style="color:#0057ae">$NUM2</span><span style="color:#644a9b;font-weight:bold"> ]</span>
0179 <span style="color:#644a9b;font-weight:bold">[ </span><span style="color:#bf0303">"abc"</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"</span><span style="color:#0057ae">$STRING2</span><span style="color:#bf0303">"</span><span style="color:#644a9b;font-weight:bold"> ]</span>
0180 
0181 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">[ </span><span style="color:#ca60ca">!</span> <span style="font-weight:bold">\(</span>STRING1 <span style="color:#ca60ca">!=</span> STRING2<span style="font-weight:bold">\)</span><span style="color:#644a9b;font-weight:bold"> ]</span><span style="font-weight:bold">;</span><span style="color:#644a9b">ls</span><span style="font-weight:bold">;</span><span style="font-weight:bold">end</span>
0182 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">[ </span><span style="color:#ca60ca">-f </span>abc<span style="color:#644a9b;font-weight:bold"> ]</span><span style="color:#bf0303;text-decoration:underline">#</span> <span style="color:#bf0303;text-decoration:underline">show error</span>
0183 <span style="font-weight:bold">end</span>
0184 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">[ </span><span style="color:#ca60ca">-f </span>abc<span style="color:#644a9b;font-weight:bold"> ]</span> <span style="color:#898887"># ok</span>
0185 <span style="font-weight:bold">end</span>
0186 
0187 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">[ </span><span style="color:#ca60ca">!</span> <span style="font-weight:bold">\(</span>STRING1 <span style="color:#ca60ca">!=</span> STRING2<span style="font-weight:bold">\)</span><span style="color:#644a9b;font-weight:bold"> ]</span> <span style="color:#bf0303;text-decoration:underline">ls</span><span style="font-weight:bold">;</span><span style="font-weight:bold">end</span> <span style="color:#898887"># show error</span>
0188 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">[ </span><span style="color:#bf0303">"abc"</span> <span style="color:#ca60ca">!=</span> <span style="color:#bf0303">"def"</span><span style="color:#644a9b;font-weight:bold"> ]</span> <span style="color:#898887"># hallo</span>
0189    <span style="color:#644a9b;font-weight:bold">echo</span> x<span style="font-weight:bold">;</span><span style="font-weight:bold">end</span>
0190 
0191 <span style="color:#898887">### Redirections</span>
0192 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">&lt;</span> SOURCE_FILE         <span style="color:#898887"># stdin</span>
0193 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">></span> DESTINATION         <span style="color:#898887"># stdout</span>
0194 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">^</span> DESTINATION         <span style="color:#898887"># stderr</span>
0195 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">>></span> DESTINATION_FILE   <span style="color:#898887"># append</span>
0196 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">^^</span> DESTINATION_FILE   <span style="color:#898887"># append</span>
0197 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">>?</span> DESTINATION        <span style="color:#898887"># noclobber</span>
0198 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">^?</span> DESTINATION
0199 
0200 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">^?</span> <span style="font-weight:bold">~</span>
0201 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">^?</span> <span style="font-weight:bold">~testuser</span>/abc
0202 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">^?</span>/DESTINATION
0203 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">^?</span><span style="color:#bf0303;text-decoration:underline">#</span>DESTINATION       <span style="color:#898887"># show error</span>
0204 
0205 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">></span> <span style="color:#0057ae">$abc</span><span style="color:#0057ae">[5]</span>
0206 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">></span><span style="color:#bf0303">"abc"</span>/defg<span style="color:#0057ae">$v</span>/xyz
0207 
0208 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">></span><span style="color:#bf0303;text-decoration:underline">&amp;</span>                   <span style="color:#898887"># show error</span>
0209 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">></span> <span style="color:#bf0303;text-decoration:underline">&amp;</span>1                 <span style="color:#898887"># show error</span>
0210 <span style="color:#644a9b">ls</span> abc<span style="color:#ca60ca">>&amp;25</span> xyz /tmp/xyz <span style="color:#0057ae">$abc</span>
0211 <span style="color:#644a9b">ls</span> /tmp/tst<span style="color:#ca60ca">>&amp;25</span><span style="color:#bf0303;text-decoration:underline">?</span>        <span style="color:#898887"># show error</span>
0212 <span style="color:#644a9b">ls</span> /tmp/tst<span style="color:#ca60ca">>&amp;25</span> <span style="font-weight:bold">?</span>       <span style="color:#898887"># ok</span>
0213 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">3>&amp;-</span> xyz
0214 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">1&lt;</span>DESTINATION
0215 <span style="color:#644a9b;font-weight:bold">echo</span> Hello <span style="color:#ca60ca">></span> all_output.txt <span style="color:#ca60ca">^&amp;1</span> xyz
0216 <span style="color:#644a9b">ls</span> <span style="color:#ca60ca">2>&amp;-</span><span style="font-weight:bold">;</span><span style="color:#644a9b;font-weight:bold">echo</span> end
0217 <span style="color:#644a9b">ls</span> xyz <span style="color:#ca60ca">2>|</span><span style="color:#644a9b">cat</span>
0218 
0219 <span style="color:#644a9b">ls</span><span style="color:#ca60ca">></span>x
0220 <span style="color:#644a9b">abs</span><span style="color:#ca60ca">></span>x
0221 <span style="color:#0095ff;font-weight:bold">/bin/</span><span style="color:#644a9b">ls</span><span style="color:#ca60ca">></span>x
0222 <span style="color:#0095ff;font-weight:bold">/bin/</span><span style="color:#644a9b">abs</span><span style="color:#ca60ca">></span>x
0223 
0224 <span style="color:#898887">### Quoting</span>
0225 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">'abcdefg'</span>
0226 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">'abc</span><span style="font-weight:bold">\'</span><span style="color:#bf0303">de</span><span style="font-weight:bold">\\</span><span style="color:#bf0303">fg'</span>
0227 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">'abc\defg'</span>
0228 
0229 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">"1</span><span style="font-weight:bold">\"</span><span style="color:#bf0303">23</span><span style="font-weight:bold">\$</span><span style="color:#bf0303">45</span><span style="font-weight:bold">\\</span><span style="color:#bf0303">6"</span>
0230 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">'1\"23\$45</span><span style="font-weight:bold">\\</span><span style="color:#bf0303">6'</span>
0231 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">'</span>
0232 <span style="color:#bf0303">hallo</span>
0233 <span style="color:#bf0303">'</span>
0234 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">"</span><span style="color:#0057ae">$i</span><span style="color:#bf0303">: '</span><span style="color:#0057ae">$$name</span><span style="color:#0057ae">[1][</span><span style="color:#0057ae">$i</span><span style="color:#0057ae">]</span><span style="color:#bf0303">'"</span>
0235 
0236 
0237 <span style="color:#898887">### Piping, Pipelines and background jobs</span>
0238 <span style="color:#644a9b">ls</span> -l /tmp/hello <span style="color:#ca60ca">1&lt;</span>DEST<span style="font-weight:bold">|</span> <span style="color:#644a9b">sort</span>
0239 <span style="color:#644a9b">comand_1</span><span style="font-weight:bold">;</span><span style="color:#644a9b">command_2</span>
0240 <span style="color:#644a9b">comand_1</span> <span style="font-weight:bold">;</span><span style="color:#644a9b">command_2</span>
0241 <span style="color:#644a9b">ls</span><span style="font-weight:bold">;</span><span style="color:#644a9b">ls</span>
0242 <span style="color:#644a9b">run_long_job</span> <span style="font-weight:bold">&amp;</span> <span style="color:#644a9b">ls</span>  <span style="color:#898887"># yes &amp; is a command sequencing operator like | and ;</span>
0243 <span style="color:#644a9b">cat</span> foo.txt <span style="font-weight:bold">|</span> <span style="color:#644a9b">head</span>
0244 <span style="color:#644a9b">make</span> fish <span style="color:#ca60ca">2>|</span> <span style="color:#644a9b">less</span> <span style="color:#898887">#show error</span>
0245 
0246 <span style="color:#898887">### Variable Expansion</span>
0247 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span>
0248 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[1..3]</span>
0249 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[-1..3 5 9..15]</span>
0250 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[</span><span style="color:#0057ae">$n</span><span style="color:#0057ae">[2]]</span>
0251 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test</span><span style="color:#0057ae">[1..</span><span style="color:#0057ae">$n</span><span style="color:#0057ae">]</span>
0252 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test</span><span style="color:#0057ae">[</span><span style="color:#0057ae">$n</span><span style="color:#0057ae">..1]</span>
0253 <span style="color:#644a9b;font-weight:bold">echo</span> The plural of <span style="color:#0057ae">$WORD</span> is <span style="color:#bf0303">"</span><span style="color:#0057ae">$WORD</span><span style="color:#bf0303">"</span>s
0254 <span style="color:#644a9b;font-weight:bold">echo</span> The plural of <span style="color:#0057ae">$WORD</span> is <span style="color:#3daee9">{</span><span style="color:#0057ae">$WORD</span><span style="color:#3daee9">}</span>s
0255 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$$foo</span><span style="color:#0057ae">[</span><span style="color:#0057ae">$i</span><span style="color:#0057ae">]</span>
0256 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test</span><span style="color:#0057ae">[</span><span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">count</span> <span style="color:#0057ae">$test</span><span style="color:#3daee9">)</span><span style="color:#0057ae">..1]</span>
0257 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test</span><span style="color:#0057ae">[1..</span><span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">count</span> <span style="color:#0057ae">$test</span><span style="color:#0057ae">[3]</span><span style="color:#3daee9">)</span><span style="color:#0057ae">]</span>
0258 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$$foo</span><span style="color:#0057ae">[1..-1][5]</span>
0259 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$$foo</span><span style="color:#0057ae">[1..-1]</span><span style="font-weight:bold">\</span>
0260 <span style="color:#0057ae">[5][2]</span><span style="font-weight:bold">\</span>
0261 <span style="color:#0057ae">[5]</span>
0262 
0263  <span style="color:#898887">#show error</span>
0264 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[</span><span style="color:#bf0303;text-decoration:underline">error</span>
0265 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[1..</span><span style="color:#bf0303;text-decoration:underline">error</span><span style="color:#0057ae">]</span>
0266 
0267 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[1 2 34</span> <span style="color:#0057ae">]</span>
0268 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[1.. 2]</span>
0269 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[1</span> <span style="color:#0057ae">..2]</span>
0270 
0271 <span style="color:#898887">### Brace Expansion</span>
0272 <span style="color:#644a9b;font-weight:bold">echo</span> input.<span style="color:#3daee9">{</span>c<span style="font-weight:bold">,</span>12h<span style="font-weight:bold">,</span>TXT<span style="color:#3daee9">}</span>
0273 <span style="color:#644a9b;font-weight:bold">echo</span> input.<span style="color:#3daee9">{</span>abc<span style="color:#0057ae">$test</span><span style="color:#0057ae">[</span><span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">count</span> <span style="color:#0057ae">$test</span><span style="color:#3daee9">)</span><span style="color:#0057ae">..1]</span><span style="font-weight:bold">,</span><span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$txt</span><span style="color:#3daee9">)}</span>
0274 <span style="color:#644a9b;font-weight:bold">echo</span> input.<span style="color:#3daee9">{</span>a<span style="color:#3daee9">{</span>b<span style="font-weight:bold">,</span>c<span style="color:#3daee9">}</span><span style="font-weight:bold">,</span>12h<span style="font-weight:bold">,</span>TXT<span style="color:#3daee9">}</span><span style="color:#bf0303;text-decoration:underline">}</span>  <span style="color:#898887"># show error</span>
0275 
0276 
0277 <span style="color:#898887">### Index range expansion</span>
0278 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$a</span><span style="color:#3daee9">)</span><span style="color:#0057ae">[2..5]</span>
0279 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$a</span><span style="color:#3daee9">)</span><span style="color:#0057ae">[2..5 1..3]</span>
0280 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$a</span><span style="color:#3daee9">)</span><span style="color:#0057ae">[-1..1]</span>
0281 
0282 <span style="color:#898887">### Process expansion</span>
0283 <span style="color:#644a9b;font-weight:bold">fg</span> <span style="color:#3daee9">%</span><span style="color:#ff5500">ema</span>               <span style="color:#898887"># ???</span>
0284 
0285 
0286 <span style="color:#898887">### Command substitution</span>
0287 <span style="color:#644a9b;font-weight:bold">echo</span> -n -s <span style="color:#bf0303">"</span><span style="color:#0057ae">$USER</span><span style="color:#bf0303">"</span> @ <span style="color:#bf0303">"</span><span style="color:#0057ae">$__fish_prompt_hostname</span><span style="color:#bf0303">"</span> <span style="color:#bf0303">' '</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">set_color</span> <span style="color:#0057ae">$color_cwd</span><span style="color:#3daee9">)</span> <span style="color:#3daee9">(</span><span style="color:#0095ff;font-weight:bold">/usr/bin/</span><span style="color:#644a9b">ls</span><span style="color:#3daee9">)</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">set_color</span> normal<span style="color:#3daee9">)</span> 
0288 
0289 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#898887">#hallo</span><span style="color:#3daee9">)</span>abc      <span style="color:#898887"># ok</span>
0290 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">ls</span> <span style="color:#898887">#hallo</span><span style="color:#3daee9">)</span>abc   <span style="color:#898887"># ok, die context-Tiefe ist anders</span>
0291 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">ls</span><span style="font-weight:bold">;</span><span style="color:#898887">#hallo</span><span style="color:#3daee9">)</span>abc   <span style="color:#898887">#     als hier.</span>
0292 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">ls#hallo</span><span style="color:#3daee9">)</span>abc    <span style="color:#898887"># ok: # may be inner part of function names!</span>
0293 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#0095ff;font-weight:bold">/usr/bin/</span><span style="color:#644a9b">ls</span><span style="color:#3daee9">)</span>
0294 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">ls</span> <span style="color:#ca60ca">>></span>mem/abc<span style="color:#3daee9">)</span>
0295 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test</span><span style="color:#0057ae">[2]</span><span style="color:#3daee9">)</span>
0296 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#0095ff;font-weight:bold">/usr</span><span style="color:#bf0303">"/bi"</span><span style="color:#0095ff;font-weight:bold">n/</span><span style="color:#644a9b">ls</span> /tmp<span style="color:#3daee9">)</span>
0297 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">seq</span> 10<span style="color:#3daee9">)</span><span style="color:#0057ae">[1]</span>[2]
0298 <span style="color:#898887">#               ~~~ not an index</span>
0299 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">seq</span> 10<span style="color:#3daee9">)</span><span style="font-weight:bold">\</span>
0300 <span style="color:#0057ae">[1]</span>[2]
0301 <span style="color:#898887">#  ~~~ not an index</span>
0302 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">seq</span> 10<span style="color:#3daee9">)</span><span style="font-weight:bold">\</span>
0303 <span style="color:#0057ae">[1]</span><span style="font-weight:bold">\</span>
0304 [2]
0305 <span style="color:#898887">#~~ not an index</span>
0306 
0307 <span style="color:#898887"># multline command substitution</span>
0308 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">x</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> dirlist<span style="font-weight:bold">;</span> <span style="color:#898887"># blabla</span>
0309        <span style="color:#644a9b">ls</span><span style="color:#3daee9">)</span>
0310 
0311 <span style="color:#898887">## same, but commented out:</span>
0312 
0313 <span style="color:#898887"># set x (echo dirlist; # blabla</span>
0314 <span style="color:#898887">#        ls)</span>
0315 
0316 <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">pi</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">math</span> <span style="color:#bf0303">"scale=10; 4*a(1)"</span><span style="color:#3daee9">)</span>
0317 
0318 <span style="color:#898887">### Continuation lines</span>
0319 <span style="color:#644a9b">ls</span> <span style="font-weight:bold">\</span>
0320   /usr/bin
0321 
0322 <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#bf0303">"STRING1"</span><span style="color:#ca60ca">=</span><span style="color:#bf0303">"STRING2"</span> <span style="color:#ca60ca">-a </span><span style="font-weight:bold">\</span>
0323      <span style="color:#bf0303">"STRING3"</span> <span style="color:#ca60ca">=</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">"STRING4"</span><span style="color:#3daee9">)</span>
0324 
0325 <span style="color:#644a9b;font-weight:bold">echo</span> input.<span style="color:#3daee9">{</span>abc<span style="font-weight:bold">\</span>
0326 <span style="font-weight:bold">,</span>12h<span style="font-weight:bold">,</span><span style="font-weight:bold">\</span>
0327 TXT<span style="color:#3daee9">}</span>
0328 
0329 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#3daee9">(</span><span style="font-weight:bold">\</span>
0330       <span style="color:#644a9b">ls</span><span style="color:#3daee9">)</span>
0331 
0332 <span style="color:#898887"># no line continuation within single quotes</span>
0333 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">'abcdefg\</span>
0334 <span style="color:#bf0303">       s$dfg sdf'</span>
0335 <span style="color:#898887"># but within double quotes</span>
0336 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">"123456</span><span style="font-weight:bold">\</span>
0337 <span style="color:#bf0303">      78910"</span>
0338 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$PATH</span><span style="color:#0057ae">[1..3</span><span style="font-weight:bold">\</span>
0339           <span style="color:#0057ae">]</span>
0340 <span style="color:#644a9b">ls</span> /usr<span style="font-weight:bold">\</span>
0341 local/bin
0342 <span style="color:#644a9b;font-weight:bold">echo</span> foo<span style="font-weight:bold">\ </span>bar
0343 <span style="color:#644a9b;font-weight:bold">echo</span> foo<span style="font-weight:bold">\</span>
0344 bar
0345 
0346 <span style="font-weight:bold">for</span> <span style="color:#0057ae">i</span> <span style="font-weight:bold">\</span>
0347     <span style="font-weight:bold">in</span> <span style="font-weight:bold">\</span>
0348     a b c
0349     <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$i</span>
0350 <span style="font-weight:bold">end</span>
0351 
0352 <span style="color:#898887"># Bug?</span>
0353 <span style="color:#898887"># Depending on weakDeliminators, either this works:</span>
0354 <span style="color:#644a9b">cat\ alog</span> -abc
0355 <span style="color:#898887"># or this:</span>
0356 <span style="color:#644a9b">builtin</span><span style="font-weight:bold">\</span>
0357  --names jobs
0358 <span style="color:#644a9b;font-weight:bold">builtin</span> <span style="font-weight:bold">\</span>
0359 --names <span style="color:#644a9b;font-weight:bold">jobs</span>
0360 
0361 <span style="color:#644a9b;font-weight:bold">command</span> <span style="font-weight:bold">\</span>
0362    <span style="color:#644a9b">ls</span>
0363 
0364 <span style="color:#644a9b;font-weight:bold">eval</span> <span style="font-weight:bold">\</span>
0365    <span style="color:#644a9b">ls</span> . /tmp
0366 <span style="color:#644a9b">eval</span><span style="font-weight:bold">\</span>
0367    ls .../tmp
0368 
0369 <span style="color:#644a9b;font-weight:bold">set</span> <span style="font-weight:bold">\</span>
0370   -e <span style="color:#0057ae">i</span><span style="color:#0057ae">[-1]</span>
0371 <span style="color:#644a9b;font-weight:bold">set</span> <span style="font-weight:bold">\</span>
0372    <span style="color:#0057ae">test1</span><span style="color:#0057ae">[-1..1]</span> <span style="font-weight:bold">\</span>
0373    <span style="color:#0057ae">$test</span><span style="font-weight:bold">;</span> <span style="font-weight:bold">\</span>
0374    <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$test1</span>
0375 
0376 <span style="color:#644a9b;font-weight:bold">read</span> <span style="font-weight:bold">\</span>
0377   -gi <span style="color:#0057ae">test</span>
0378 
0379 
0380 
0381 <span style="color:#898887"># see https://github.com/fish-shell/fish-shell/pull/1987</span>
0382 <span style="color:#644a9b;font-weight:bold">echo</span> before comment <span style="font-weight:bold">\</span>
0383   <span style="color:#898887"># comment</span>
0384   <span style="color:#898887"># comment2</span>
0385   after comment <span style="color:#898887"># just another argument</span>
0386 <span style="color:#644a9b;font-weight:bold">echo</span> before comment<span style="font-weight:bold">\</span>
0387   <span style="color:#898887"># comment        ^ no space</span>
0388   <span style="color:#898887"># comment2</span>
0389   <span style="color:#644a9b">after</span> comment <span style="color:#898887"># a command</span>
0390 <span style="color:#644a9b">from</span> root
0391 
0392 <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">"hello"</span> <span style="font-weight:bold">|</span> <span style="font-weight:bold">\</span>
0393 <span style="color:#898887">#remove 'l'</span>
0394 <span style="color:#898887">#and more</span>
0395 <span style="color:#644a9b">tr</span> -d <span style="color:#bf0303">'l'</span>
0396 
0397 <span style="color:#898887">### Trouble</span>
0398 <span style="color:#644a9b">make</span><span style="font-weight:bold">;</span> <span style="font-weight:bold">and</span> <span style="color:#644a9b">make</span> install<span style="font-weight:bold">;</span> <span style="font-weight:bold">or</span> <span style="color:#644a9b">make</span> clean              <span style="color:#898887"># ok</span>
0399 <span style="color:#644a9b;font-weight:bold">printf</span> <span style="color:#bf0303">'%s\t%s\n'</span> flounder fish                    <span style="color:#898887"># ok</span>
0400 <span style="color:#644a9b">diff</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">sort</span> a.txt <span style="font-weight:bold">|</span> <span style="color:#644a9b;font-weight:bold">psub</span><span style="color:#3daee9">)</span> <span style="color:#3daee9">(</span><span style="color:#644a9b">sort</span> b.txt <span style="font-weight:bold">|</span> <span style="color:#644a9b;font-weight:bold">psub</span><span style="color:#3daee9">)</span>
0401 <span style="color:#644a9b">source-highlight</span> -f esc <span style="color:#3daee9">(</span><span style="color:#644a9b">cpp</span> main.c <span style="font-weight:bold">|</span> <span style="color:#644a9b;font-weight:bold">psub</span> -s .c<span style="color:#3daee9">)</span>
0402 
0403 <span style="font-weight:bold">while</span> <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#ca60ca">-f </span>foo.txt  <span style="color:#898887"># comment</span>
0404   <span style="color:#644a9b;font-weight:bold">echo</span> hallo
0405 <span style="font-weight:bold">end</span>
0406 
0407 <span style="font-weight:bold">for</span> <span style="color:#0057ae">i</span> <span style="font-weight:bold">in</span> <span style="color:#3daee9">{</span>1<span style="font-weight:bold">,</span><span style="color:#3daee9">(</span><span style="color:#644a9b">ls</span><span style="color:#3daee9">)</span><span style="font-weight:bold">,</span>3<span style="color:#3daee9">}</span>    <span style="color:#898887"># comment</span>
0408   <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$i</span>
0409 <span style="font-weight:bold">end</span>
0410 
0411 <span style="color:#898887"># function</span>
0412 <span style="font-weight:bold">function</span> <span style="color:#644a9b">__hidden</span>      <span style="color:#898887"># comment</span>
0413   <span style="color:#644a9b;font-weight:bold">cd</span> /
0414 <span style="font-weight:bold">end</span>
0415 
0416 <span style="font-weight:bold">function</span> <span style="color:#644a9b">ll</span> <span style="font-weight:bold">\</span>
0417   -d <span style="color:#607880">"multiline</span>
0418 <span style="color:#607880">  description"</span>
0419     <span style="color:#644a9b">ls</span> -l <span style="color:#0057ae">$argv</span>
0420 <span style="font-weight:bold">end</span>
0421 
0422 <span style="font-weight:bold">function</span> <span style="color:#644a9b">ls</span> --description=<span style="color:#607880">"Description"</span> -a a b c <span style="color:#898887"># comment</span>
0423     <span style="color:#644a9b;font-weight:bold">command</span> <span style="color:#644a9b">ls</span> --color<span style="color:#ca60ca">=</span>auto <span style="color:#0057ae">$argv</span>
0424     <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#ca60ca">-f </span>foo.txt
0425         <span style="color:#644a9b;font-weight:bold">echo</span> foo.txt exists
0426     <span style="font-weight:bold">else</span> <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#ca60ca">-f </span>bar.txt          <span style="color:#898887"># comment</span>
0427         <span style="color:#644a9b;font-weight:bold">echo</span> bar.txt exists
0428     <span style="font-weight:bold">else</span>
0429         <span style="color:#644a9b;font-weight:bold">echo</span> foo.txt and bar.txt do not exist
0430     <span style="font-weight:bold">end</span>                              <span style="color:#898887"># comment</span>
0431 <span style="font-weight:bold">end</span>
0432 
0433 <span style="font-weight:bold">function</span> <span style="color:#644a9b">test</span><span style="font-weight:bold">;</span><span style="color:#644a9b;font-weight:bold">echo</span> hallo<span style="font-weight:bold">;</span><span style="font-weight:bold">end</span>         <span style="color:#898887"># comment</span>
0434 
0435 <span style="font-weight:bold">switch</span> <span style="color:#0057ae">$animal</span>   <span style="color:#898887"># comment</span>
0436     <span style="font-weight:bold">case</span> cat     <span style="color:#898887"># comment</span>
0437         <span style="color:#644a9b;font-weight:bold">echo</span> evil
0438     <span style="font-weight:bold">case</span> wolf <span style="font-weight:bold">\</span>
0439         dog
0440         <span style="color:#644a9b;font-weight:bold">echo</span> mammal
0441     <span style="font-weight:bold">case</span> <span style="color:#bf0303">'*'</span>
0442         <span style="color:#644a9b;font-weight:bold">echo</span> I have no idea what a <span style="color:#0057ae">$animal</span> is
0443 <span style="font-weight:bold">end</span>
0444 
0445 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#3daee9">(</span><span style="color:#644a9b;font-weight:bold">count</span> <span style="color:#0057ae">$argv</span><span style="color:#3daee9">)</span> <span style="color:#ca60ca">=</span> 1
0446   <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#0057ae">$argv</span>
0447 <span style="font-weight:bold">else</span>
0448   <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">"?"</span>
0449 <span style="font-weight:bold">end</span>
0450 
0451 <span style="font-weight:bold">if</span> <span style="font-weight:bold">not</span> <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#ca60ca">-f </span>spoon   <span style="color:#898887">#comment</span>
0452   <span style="color:#644a9b;font-weight:bold">echo</span> There is no spoon
0453 <span style="font-weight:bold">else</span>
0454   <span style="color:#644a9b;font-weight:bold">exit</span> 1
0455 <span style="font-weight:bold">end</span>
0456 
0457 <span style="font-weight:bold">for</span> <span style="color:#0057ae">file</span> <span style="font-weight:bold">in</span> <span style="color:#0057ae">$cfgfiles</span>
0458     <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">test</span> <span style="color:#ca60ca">-f </span><span style="color:#0057ae">$file</span>
0459         <span style="color:#644a9b;font-weight:bold">string</span> <span style="color:#644a9b;font-weight:bold">match</span> -r <span style="color:#bf0303">'\[Dialer'</span> <span style="color:#ca60ca">&lt;</span> <span style="color:#0057ae">$file</span> <span style="font-weight:bold">|</span> <span style="color:#644a9b;font-weight:bold">string</span> <span style="color:#644a9b;font-weight:bold">replace</span> -r <span style="color:#bf0303">'\[Dialer (.+)\]'</span> <span style="color:#bf0303">'$1'</span>
0460     <span style="font-weight:bold">end</span>
0461 <span style="font-weight:bold">end</span> <span style="font-weight:bold">|</span> <span style="color:#644a9b">sort</span> -u <span style="font-weight:bold">|</span> <span style="color:#644a9b;font-weight:bold">string</span> <span style="color:#644a9b;font-weight:bold">match</span> -v Defaults
0462 
0463 <span style="font-weight:bold">for</span> <span style="color:#0057ae">i</span> <span style="font-weight:bold">in</span> <span style="font-weight:bold">*</span>.c
0464     <span style="font-weight:bold">if</span> <span style="color:#644a9b">grep</span> smurf <span style="color:#0057ae">$i</span>     <span style="color:#898887"># comment</span>
0465         <span style="color:#644a9b;font-weight:bold">echo</span> Smurfs are present in <span style="color:#0057ae">$i</span>
0466         <span style="color:#644a9b;font-weight:bold">break</span>
0467     <span style="font-weight:bold">end</span>
0468 <span style="font-weight:bold">end</span>
0469 
0470 <span style="font-weight:bold">if</span> <span style="font-weight:bold">begin</span> <span style="color:#644a9b;font-weight:bold">contains</span> -- <span style="color:#0057ae">$argv</span> --force   <span style="color:#898887"># ohne ; nach begin: geht</span>
0471         <span style="font-weight:bold">or</span> <span style="font-weight:bold">not</span> <span style="color:#644a9b;font-weight:bold">status</span> --is-interactive and not status --is-login
0472     <span style="font-weight:bold">end</span>
0473     <span style="color:#644a9b;font-weight:bold">echo</span> <span style="color:#bf0303">""</span>
0474 <span style="font-weight:bold">end</span>
0475 
0476 <span style="font-weight:bold">begin</span>                    <span style="color:#898887"># comment</span>
0477   <span style="font-weight:bold">for</span> <span style="color:#0057ae">i</span> <span style="font-weight:bold">in</span> <span style="font-weight:bold">*</span>.tmp
0478       <span style="font-weight:bold">if</span> <span style="color:#644a9b">grep</span> smurf <span style="color:#0057ae">$i</span>
0479           <span style="color:#644a9b;font-weight:bold">continue</span>
0480       <span style="font-weight:bold">end</span>
0481       <span style="color:#644a9b">rm</span> <span style="color:#0057ae">$i</span>
0482   <span style="font-weight:bold">end</span>
0483 <span style="font-weight:bold">end</span>
0484 
0485 <span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold">[ </span><span style="color:#0057ae">$status</span><span style="color:#ca60ca"> -eq </span>1<span style="color:#644a9b;font-weight:bold"> ]</span>
0486     <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">sta</span> pass
0487 <span style="font-weight:bold">else</span>
0488     <span style="color:#644a9b;font-weight:bold">set</span> <span style="color:#0057ae">sta</span> fail
0489 <span style="font-weight:bold">end</span>
0490 
0491 <span style="color:#644a9b;font-weight:bold">exec</span> <span style="color:#bf0303">"</span><span style="color:#0057ae">$test</span><span style="color:#bf0303">"</span>
0492 
0493 
0494 <span style="color:#898887"># Process Expansion</span>
0495 <span style="color:#898887"># see fish issue 4230</span>
0496 <span style="color:#644a9b">kill</span> -STOP <span style="color:#3daee9">%</span><span style="color:#ff5500">self</span>
0497 
0498 <span style="color:#644a9b">endcmd</span> <span style="color:#898887"># is a command</span>
0499 
0500 <span style="font-weight:bold">for</span> <span style="color:#0057ae">inc</span> <span style="font-weight:bold">in</span> a <span style="color:#898887"># inc is a variable</span>
0501 <span style="font-weight:bold">end</span>
0502 
0503 <span style="font-weight:bold">switch</span> d<span style="font-weight:bold">;</span><span style="font-weight:bold">case</span> <span style="color:#bf0303">"*"</span> <span style="font-weight:bold">;</span> <span style="font-weight:bold">case</span> d<span style="font-weight:bold">;</span><span style="color:#644a9b;font-weight:bold">echo</span><span style="font-weight:bold">;</span> <span style="font-weight:bold">end</span>
0504 
0505 <span style="font-weight:bold">if</span> <span style="font-weight:bold">;</span> <span style="font-weight:bold">else</span> <span style="font-weight:bold">if</span> <span style="font-weight:bold">;</span> <span style="font-weight:bold">else</span> <span style="font-weight:bold">if</span> <span style="font-weight:bold">;</span> <span style="font-weight:bold">if</span> <span style="font-weight:bold">;</span> <span style="font-weight:bold">else</span> <span style="font-weight:bold">;</span> <span style="font-weight:bold">end</span><span style="font-weight:bold">;</span><span style="font-weight:bold">else</span> <span style="font-weight:bold">;</span> <span style="font-weight:bold">end</span>
0506 </pre></body></html>