Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.fish.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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