File indexing completed on 2025-02-02 03:54:44
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">"echo </span><span style="color:#27aeae">$t8</span><span style="color:#f44f4f">"</span> 0035 <span style="color:#0099ff;font-weight:bold">test/root/bin/</span><span style="color:#8e44ad">fish</span> -c <span style="color:#f44f4f">"echo </span><span style="color:#27aeae">$t8</span><span style="color:#f44f4f">"</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">"ls"</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">"r/bin"</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"><</span>other abc <span style="color:#7a7c7d"># show error</span> 0044 <span style="color:#8e44ad">other</span><span style="color:#3f8058">></span> abc <span style="color:#7a7c7d"># ok</span> 0045 <span style="color:#8e44ad">oth</span><span style="color:#3f8058">></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">-cmd</span> 0049 <span style="color:#8e44ad">déjà-vu</span> 0050 0051 <span style="color:#8e44ad">ls</span> /ho<span style="color:#f44f4f">"me/te"</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 0052 <span style="color:#8e44ad">cat\ alog</span> -abc 0053 <span style="color:#8e44ad">ls</span> path_not_detected 0054 <span style="color:#8e44ad">ls</span> <span style="font-weight:bold">*</span> no_path 0055 <span style="color:#8e44ad">ls</span> <span style="font-weight:bold">*</span>path_detected 0056 <span style="color:#0099ff;font-weight:bold">ls/</span> 0057 <span style="color:#8e44ad">ls</span><span style="font-weight:bold">;</span><span style="color:#7f8c8d">echo</span> xy 0058 <span style="color:#8e44ad">flex++</span> 0059 <span style="color:#7f8c8d">echo</span> [abc] abc 0060 0061 <span style="color:#7a7c7d">#specials</span> 0062 <span style="color:#7f8c8d">command</span> -s <span style="color:#8e44ad">ls</span> 0063 <span style="color:#7f8c8d">builtin</span> --names <span style="color:#7f8c8d">jobs</span> 0064 <span style="color:#7f8c8d">exec</span> <span style="color:#8e44ad">bash</span> 0065 <span style="color:#7f8c8d">exec</span> <span style="color:#27aeae">$test</span> 0066 <span style="color:#7f8c8d">set</span> -e <span style="color:#27aeae">i</span><span style="color:#2980b9">[-1]</span> 0067 <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> 0068 <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> 0069 <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> 0070 <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> 0071 <span style="color:#7f8c8d">set</span> <span style="color:#27aeae">test1</span><span style="color:#2980b9">[2..4 -2..-4]</span>[1] <span style="color:#27aeae">$test1</span><span style="color:#2980b9">[4..2 -4..-2][1]</span> 0072 <span style="color:#7a7c7d"># ~~~ invalid</span> 0073 <span style="color:#7f8c8d">set</span> <span style="color:#27aeae">test1</span><span style="font-weight:bold">\</span> 0074 <span style="color:#2980b9">[2..4 -2..-4]</span><span style="font-weight:bold">\</span> 0075 [1] a 0076 <span style="color:#7a7c7d">#~~ invalid</span> 0077 <span style="color:#7f8c8d">set</span> <span style="color:#27aeae">test1</span> <span style="font-weight:bold">\</span> 0078 <span style="color:#7a7c7d">#bla bla</span> 0079 a b c 0080 <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> 0081 <span style="color:#7f8c8d">string</span> <span style="color:#7f8c8d">split</span> . example.com 0082 <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> 0083 0084 <span style="color:#7f8c8d">read</span> -gi <span style="color:#27aeae">test</span> <span style="color:#7a7c7d"># ok</span> 0085 <span style="color:#7f8c8d">read</span> -gi <span style="color:#27aeae">$test</span> 0086 <span style="color:#7f8c8d">read</span> -gi <span style="color:#f44f4f">"test"</span> 0087 <span style="color:#7f8c8d">read</span> -gi <span style="color:#3daee9">(</span><span style="color:#7f8c8d">echo</span> test<span style="color:#3daee9">)</span> 0088 0089 <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> 0090 <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> 0091 0092 <span style="color:#7a7c7d"># direct path</span> 0093 <span style="color:#7f8c8d">test</span> <span style="color:#3f8058">-d </span><span style="color:#27aeae">$tmpldir</span>/resources 0094 0095 <span style="color:#7a7c7d">### Options</span> 0096 <span style="color:#8e44ad">cat</span> -l /usr/local/test<span style="color:#3f8058">></span>logfile 0097 <span style="color:#8e44ad">ls</span> --longopt<span style="color:#3f8058">=</span>/test 0098 <span style="color:#8e44ad">ls</span> -l<span style="color:#f44f4f">"kasdflakjs"</span> -r/usr/test -x../test/../bla -z<span style="font-weight:bold">~xyz</span>/hello 0099 0100 <span style="color:#7a7c7d">### Arguments</span> 0101 <span style="color:#7f8c8d">echo</span> abc<span style="color:#f44f4f">"def"</span>ghi 0102 <span style="color:#7f8c8d">echo</span> abc/def 0103 <span style="color:#7f8c8d">echo</span> abc[de] 0104 <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 0105 <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 0106 0107 <span style="color:#7a7c7d"># Path Detection</span> 0108 <span style="color:#7f8c8d">cd</span> abc<span style="font-weight:bold">*</span>efghi <span style="color:#7a7c7d"># fish assumes * is glob -> path</span> 0109 <span style="color:#7f8c8d">cd</span> abc<span style="font-weight:bold">?</span>efghi 0110 <span style="color:#7f8c8d">cd</span> .. 0111 <span style="color:#7f8c8d">cd</span> .. <span style="color:#7a7c7d">#</span> 0112 <span style="color:#7f8c8d">cd</span> . 0113 <span style="color:#7f8c8d">cd</span> . <span style="color:#7a7c7d">#</span> 0114 <span style="color:#7f8c8d">cd</span> <span style="font-weight:bold">~</span> 0115 <span style="color:#7f8c8d">cd</span> <span style="font-weight:bold">~abc</span>/abc/<span style="font-weight:bold">*</span>.txt 0116 <span style="color:#7f8c8d">cd</span> ./abc 0117 <span style="color:#7f8c8d">cd</span> ../abc 0118 <span style="color:#7f8c8d">cd</span> <span style="font-weight:bold">\ </span>abc/tmp<span style="font-weight:bold">\ </span>.txt 0119 0120 <span style="color:#7f8c8d">test</span> .. abc 0121 0122 <span style="color:#7a7c7d">### Escapes</span> 0123 <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">\></span>hj<span style="font-weight:bold">\<</span>hou<span style="font-weight:bold">\&</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:#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 0125 0126 <span style="color:#8e44ad">touch</span> <span style="color:#f44f4f">"a\?bc\[\]a"</span> <span style="color:#7a7c7d"># no escaping in Quotes</span> 0127 <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> 0128 0129 <span style="color:#7a7c7d">### Builtins</span> 0130 <span style="color:#7f8c8d">. </span>hallo 0131 <span style="color:#7f8c8d">source</span> hallo 0132 <span style="color:#7f8c8d">eval</span> <span style="color:#8e44ad">ls</span> . /tmp 0133 <span style="color:#7f8c8d">eval</span> <span style="color:#8e44ad">ls</span> .../tmp 0134 <span style="color:#7f8c8d">eval</span> <span style="color:#27aeae">$var</span> 0135 <span style="color:#7f8c8d">eval</span> <span style="color:#8e44ad">abc</span> 0136 <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> 0137 <span style="color:#7f8c8d">eval</span> <span style="color:#f44f4f">"echo bla"</span> 0138 0139 <span style="color:#7f8c8d">history</span> merge 0140 0141 <span style="color:#7f8c8d">true</span> <span style="font-weight:bold">;</span><span style="color:#8e44ad">ls</span> 0142 <span style="color:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="color:#7f8c8d">true</span><span style="color:#3daee9">)</span> 0143 <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> 0144 <span style="color:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="color:#7f8c8d">true</span><span style="color:#3f8058">>></span>xyz/abc<span style="color:#3daee9">)</span> 0145 <span style="color:#7f8c8d">true</span> <span style="color:#da4453;text-decoration:underline">-error </span><span style="color:#7a7c7d"># show error</span> 0146 <span style="color:#7f8c8d">pwd</span> <span style="color:#3f8058">></span> abc 0147 0148 <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 0149 <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> 0150 0151 <span style="color:#7f8c8d">complete</span> -c myprog -s o -l output -a <span style="color:#f44f4f">"yes no"</span> 0152 <span style="color:#7f8c8d">builtin</span> <span style="color:#7f8c8d">jobs</span> 0153 0154 <span style="color:#7f8c8d">math</span> -s0 10.0 / 6.0 0155 0156 <span style="color:#7a7c7d">#special keywords as directory names:</span> 0157 <span style="color:#0099ff;font-weight:bold">/usr/function/</span><span style="color:#8e44ad">testtest</span> /usr/function/testtest 0158 <span style="color:#0099ff;font-weight:bold">/usr/for/</span><span style="color:#8e44ad">testtest</span> /usr/for/testtest 0159 <span style="color:#0099ff;font-weight:bold">/usr/begin/</span><span style="color:#8e44ad">testtest</span> /usr/begin/testtest 0160 <span style="color:#0099ff;font-weight:bold">/usr/switch/</span><span style="color:#8e44ad">testtest</span> /usr/switch/testtest 0161 <span style="color:#0099ff;font-weight:bold">/usr/if/</span><span style="color:#8e44ad">testtest</span> /usr/if/testtest 0162 <span style="color:#0099ff;font-weight:bold">/usr/while/</span><span style="color:#8e44ad">testtest</span> /usr/while/testtest 0163 <span style="color:#0099ff;font-weight:bold">/usr/command/</span><span style="color:#8e44ad">testtest</span> /usr/command/testtest 0164 <span style="color:#0099ff;font-weight:bold">/usr/builtin/</span><span style="color:#8e44ad">testtest</span> /usr/builtin/testtest 0165 <span style="color:#0099ff;font-weight:bold">/usr/eval/</span><span style="color:#8e44ad">testtest</span> /usr/eval/testtest 0166 <span style="color:#0099ff;font-weight:bold">/usr/exec/</span><span style="color:#8e44ad">testtest</span> /usr/exec/testtest 0167 <span style="color:#0099ff;font-weight:bold">/usr/set/</span><span style="color:#8e44ad">testtest</span> /usr/set/testtest 0168 <span style="color:#0099ff;font-weight:bold">/usr/test/</span><span style="color:#8e44ad">testtest</span> /usr/test/testtest 0169 0170 <span style="color:#7a7c7d">### test</span> 0171 <span style="color:#7f8c8d">test</span> NUM1<span style="color:#3f8058"> -eq </span>NUM2 0172 <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> 0173 0174 <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> 0175 <span style="color:#7f8c8d">echo</span> Success. 0176 <span style="color:#fdbc4b;font-weight:bold">end</span> 0177 0178 <span style="color:#7f8c8d">[ </span>25<span style="color:#3f8058"> -eq </span><span style="color:#27aeae">$NUM2</span><span style="color:#7f8c8d"> ]</span> 0179 <span style="color:#7f8c8d">[ </span><span style="color:#f44f4f">"abc"</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"</span><span style="color:#27aeae">$STRING2</span><span style="color:#f44f4f">"</span><span style="color:#7f8c8d"> ]</span> 0180 0181 <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> 0182 <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> 0183 <span style="color:#fdbc4b;font-weight:bold">end</span> 0184 <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> 0185 <span style="color:#fdbc4b;font-weight:bold">end</span> 0186 0187 <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> 0188 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#7f8c8d">[ </span><span style="color:#f44f4f">"abc"</span> <span style="color:#3f8058">!=</span> <span style="color:#f44f4f">"def"</span><span style="color:#7f8c8d"> ]</span> <span style="color:#7a7c7d"># hallo</span> 0189 <span style="color:#7f8c8d">echo</span> x<span style="font-weight:bold">;</span><span style="color:#fdbc4b;font-weight:bold">end</span> 0190 0191 <span style="color:#7a7c7d">### Redirections</span> 0192 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058"><</span> SOURCE_FILE <span style="color:#7a7c7d"># stdin</span> 0193 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">></span> DESTINATION <span style="color:#7a7c7d"># stdout</span> 0194 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">^</span> DESTINATION <span style="color:#7a7c7d"># stderr</span> 0195 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">>></span> DESTINATION_FILE <span style="color:#7a7c7d"># append</span> 0196 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">^^</span> DESTINATION_FILE <span style="color:#7a7c7d"># append</span> 0197 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">>?</span> DESTINATION <span style="color:#7a7c7d"># noclobber</span> 0198 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">^?</span> DESTINATION 0199 0200 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">^?</span> <span style="font-weight:bold">~</span> 0201 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">^?</span> <span style="font-weight:bold">~testuser</span>/abc 0202 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">^?</span>/DESTINATION 0203 <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> 0204 0205 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">></span> <span style="color:#27aeae">$abc</span><span style="color:#2980b9">[5]</span> 0206 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">></span><span style="color:#f44f4f">"abc"</span>/defg<span style="color:#27aeae">$v</span>/xyz 0207 0208 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">></span><span style="color:#da4453;text-decoration:underline">&</span> <span style="color:#7a7c7d"># show error</span> 0209 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">></span> <span style="color:#da4453;text-decoration:underline">&</span>1 <span style="color:#7a7c7d"># show error</span> 0210 <span style="color:#8e44ad">ls</span> abc<span style="color:#3f8058">>&25</span> xyz /tmp/xyz <span style="color:#27aeae">$abc</span> 0211 <span style="color:#8e44ad">ls</span> /tmp/tst<span style="color:#3f8058">>&25</span><span style="color:#da4453;text-decoration:underline">?</span> <span style="color:#7a7c7d"># show error</span> 0212 <span style="color:#8e44ad">ls</span> /tmp/tst<span style="color:#3f8058">>&25</span> <span style="font-weight:bold">?</span> <span style="color:#7a7c7d"># ok</span> 0213 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">3>&-</span> xyz 0214 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">1<</span>DESTINATION 0215 <span style="color:#7f8c8d">echo</span> Hello <span style="color:#3f8058">></span> all_output.txt <span style="color:#3f8058">^&1</span> xyz 0216 <span style="color:#8e44ad">ls</span> <span style="color:#3f8058">2>&-</span><span style="font-weight:bold">;</span><span style="color:#7f8c8d">echo</span> end 0217 <span style="color:#8e44ad">ls</span> xyz <span style="color:#3f8058">2>|</span><span style="color:#8e44ad">cat</span> 0218 0219 <span style="color:#8e44ad">ls</span><span style="color:#3f8058">></span>x 0220 <span style="color:#8e44ad">abs</span><span style="color:#3f8058">></span>x 0221 <span style="color:#0099ff;font-weight:bold">/bin/</span><span style="color:#8e44ad">ls</span><span style="color:#3f8058">></span>x 0222 <span style="color:#0099ff;font-weight:bold">/bin/</span><span style="color:#8e44ad">abs</span><span style="color:#3f8058">></span>x 0223 0224 <span style="color:#7a7c7d">### Quoting</span> 0225 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">'abcdefg'</span> 0226 <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> 0227 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">'abc\defg'</span> 0228 0229 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">"1</span><span style="font-weight:bold">\"</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"</span> 0230 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">'1\"23\$45</span><span style="font-weight:bold">\\</span><span style="color:#f44f4f">6'</span> 0231 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">'</span> 0232 <span style="color:#f44f4f">hallo</span> 0233 <span style="color:#f44f4f">'</span> 0234 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">"</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">'"</span> 0235 0236 0237 <span style="color:#7a7c7d">### Piping, Pipelines and background jobs</span> 0238 <span style="color:#8e44ad">ls</span> -l /tmp/hello <span style="color:#3f8058">1<</span>DEST<span style="font-weight:bold">|</span> <span style="color:#8e44ad">sort</span> 0239 <span style="color:#8e44ad">comand_1</span><span style="font-weight:bold">;</span><span style="color:#8e44ad">command_2</span> 0240 <span style="color:#8e44ad">comand_1</span> <span style="font-weight:bold">;</span><span style="color:#8e44ad">command_2</span> 0241 <span style="color:#8e44ad">ls</span><span style="font-weight:bold">;</span><span style="color:#8e44ad">ls</span> 0242 <span style="color:#8e44ad">run_long_job</span> <span style="font-weight:bold">&</span> <span style="color:#8e44ad">ls</span> <span style="color:#7a7c7d"># yes & is a command sequencing operator like | and ;</span> 0243 <span style="color:#8e44ad">cat</span> foo.txt <span style="font-weight:bold">|</span> <span style="color:#8e44ad">head</span> 0244 <span style="color:#8e44ad">make</span> fish <span style="color:#3f8058">2>|</span> <span style="color:#8e44ad">less</span> <span style="color:#7a7c7d">#show error</span> 0245 0246 <span style="color:#7a7c7d">### Variable Expansion</span> 0247 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$PATH</span> 0248 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$PATH</span><span style="color:#2980b9">[1..3]</span> 0249 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$PATH</span><span style="color:#2980b9">[-1..3 5 9..15]</span> 0250 <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> 0251 <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> 0252 <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> 0253 <span style="color:#7f8c8d">echo</span> The plural of <span style="color:#27aeae">$WORD</span> is <span style="color:#f44f4f">"</span><span style="color:#27aeae">$WORD</span><span style="color:#f44f4f">"</span>s 0254 <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 0255 <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> 0256 <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> 0257 <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> 0258 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$$foo</span><span style="color:#2980b9">[1..-1][5]</span> 0259 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$$foo</span><span style="color:#2980b9">[1..-1]</span><span style="font-weight:bold">\</span> 0260 <span style="color:#2980b9">[5][2]</span><span style="font-weight:bold">\</span> 0261 <span style="color:#2980b9">[5]</span> 0262 0263 <span style="color:#7a7c7d">#show error</span> 0264 <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> 0265 <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> 0266 0267 <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> 0268 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$PATH</span><span style="color:#2980b9">[1.. 2]</span> 0269 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$PATH</span><span style="color:#2980b9">[1</span> <span style="color:#2980b9">..2]</span> 0270 0271 <span style="color:#7a7c7d">### Brace Expansion</span> 0272 <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> 0273 <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> 0274 <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> 0275 0276 0277 <span style="color:#7a7c7d">### Index range expansion</span> 0278 <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> 0279 <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> 0280 <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> 0281 0282 <span style="color:#7a7c7d">### Process expansion</span> 0283 <span style="color:#7f8c8d">fg</span> <span style="color:#3daee9">%</span><span style="color:#27ae60">ema</span> <span style="color:#7a7c7d"># ???</span> 0284 0285 0286 <span style="color:#7a7c7d">### Command substitution</span> 0287 <span style="color:#7f8c8d">echo</span> -n -s <span style="color:#f44f4f">"</span><span style="color:#27aeae">$USER</span><span style="color:#f44f4f">"</span> @ <span style="color:#f44f4f">"</span><span style="color:#27aeae">$__fish_prompt_hostname</span><span style="color:#f44f4f">"</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> 0288 0289 <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> 0290 <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> 0291 <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> 0292 <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> 0293 <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> 0294 <span style="color:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="color:#8e44ad">ls</span> <span style="color:#3f8058">>></span>mem/abc<span style="color:#3daee9">)</span> 0295 <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> 0296 <span style="color:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="color:#0099ff;font-weight:bold">/usr</span><span style="color:#f44f4f">"/bi"</span><span style="color:#0099ff;font-weight:bold">n/</span><span style="color:#8e44ad">ls</span> /tmp<span style="color:#3daee9">)</span> 0297 <span style="color:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="color:#8e44ad">seq</span> 10<span style="color:#3daee9">)</span><span style="color:#2980b9">[1]</span>[2] 0298 <span style="color:#7a7c7d"># ~~~ not an index</span> 0299 <span style="color:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="color:#8e44ad">seq</span> 10<span style="color:#3daee9">)</span><span style="font-weight:bold">\</span> 0300 <span style="color:#2980b9">[1]</span>[2] 0301 <span style="color:#7a7c7d"># ~~~ not an index</span> 0302 <span style="color:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="color:#8e44ad">seq</span> 10<span style="color:#3daee9">)</span><span style="font-weight:bold">\</span> 0303 <span style="color:#2980b9">[1]</span><span style="font-weight:bold">\</span> 0304 [2] 0305 <span style="color:#7a7c7d">#~~ not an index</span> 0306 0307 <span style="color:#7a7c7d"># multline command substitution</span> 0308 <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> 0309 <span style="color:#8e44ad">ls</span><span style="color:#3daee9">)</span> 0310 0311 <span style="color:#7a7c7d">## same, but commented out:</span> 0312 0313 <span style="color:#7a7c7d"># set x (echo dirlist; # blabla</span> 0314 <span style="color:#7a7c7d"># ls)</span> 0315 0316 <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">"scale=10; 4*a(1)"</span><span style="color:#3daee9">)</span> 0317 0318 <span style="color:#7a7c7d">### Continuation lines</span> 0319 <span style="color:#8e44ad">ls</span> <span style="font-weight:bold">\</span> 0320 /usr/bin 0321 0322 <span style="color:#7f8c8d">test</span> <span style="color:#f44f4f">"STRING1"</span><span style="color:#3f8058">=</span><span style="color:#f44f4f">"STRING2"</span> <span style="color:#3f8058">-a </span><span style="font-weight:bold">\</span> 0323 <span style="color:#f44f4f">"STRING3"</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">(</span><span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">"STRING4"</span><span style="color:#3daee9">)</span> 0324 0325 <span style="color:#7f8c8d">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:#7f8c8d">echo</span> <span style="color:#3daee9">(</span><span style="font-weight:bold">\</span> 0330 <span style="color:#8e44ad">ls</span><span style="color:#3daee9">)</span> 0331 0332 <span style="color:#7a7c7d"># no line continuation within single quotes</span> 0333 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">'abcdefg\</span> 0334 <span style="color:#f44f4f"> s$dfg sdf'</span> 0335 <span style="color:#7a7c7d"># but within double quotes</span> 0336 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">"123456</span><span style="font-weight:bold">\</span> 0337 <span style="color:#f44f4f"> 78910"</span> 0338 <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> 0339 <span style="color:#2980b9">]</span> 0340 <span style="color:#8e44ad">ls</span> /usr<span style="font-weight:bold">\</span> 0341 local/bin 0342 <span style="color:#7f8c8d">echo</span> foo<span style="font-weight:bold">\ </span>bar 0343 <span style="color:#7f8c8d">echo</span> foo<span style="font-weight:bold">\</span> 0344 bar 0345 0346 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">i</span> <span style="font-weight:bold">\</span> 0347 <span style="color:#fdbc4b;font-weight:bold">in</span> <span style="font-weight:bold">\</span> 0348 a b c 0349 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$i</span> 0350 <span style="color:#fdbc4b;font-weight:bold">end</span> 0351 0352 <span style="color:#7a7c7d"># Bug?</span> 0353 <span style="color:#7a7c7d"># Depending on weakDeliminators, either this works:</span> 0354 <span style="color:#8e44ad">cat\ alog</span> -abc 0355 <span style="color:#7a7c7d"># or this:</span> 0356 <span style="color:#8e44ad">builtin</span><span style="font-weight:bold">\</span> 0357 --names jobs 0358 <span style="color:#7f8c8d">builtin</span> <span style="font-weight:bold">\</span> 0359 --names <span style="color:#7f8c8d">jobs</span> 0360 0361 <span style="color:#7f8c8d">command</span> <span style="font-weight:bold">\</span> 0362 <span style="color:#8e44ad">ls</span> 0363 0364 <span style="color:#7f8c8d">eval</span> <span style="font-weight:bold">\</span> 0365 <span style="color:#8e44ad">ls</span> . /tmp 0366 <span style="color:#8e44ad">eval</span><span style="font-weight:bold">\</span> 0367 ls .../tmp 0368 0369 <span style="color:#7f8c8d">set</span> <span style="font-weight:bold">\</span> 0370 -e <span style="color:#27aeae">i</span><span style="color:#2980b9">[-1]</span> 0371 <span style="color:#7f8c8d">set</span> <span style="font-weight:bold">\</span> 0372 <span style="color:#27aeae">test1</span><span style="color:#2980b9">[-1..1]</span> <span style="font-weight:bold">\</span> 0373 <span style="color:#27aeae">$test</span><span style="font-weight:bold">;</span> <span style="font-weight:bold">\</span> 0374 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$test1</span> 0375 0376 <span style="color:#7f8c8d">read</span> <span style="font-weight:bold">\</span> 0377 -gi <span style="color:#27aeae">test</span> 0378 0379 0380 0381 <span style="color:#7a7c7d"># see https://github.com/fish-shell/fish-shell/pull/1987</span> 0382 <span style="color:#7f8c8d">echo</span> before comment <span style="font-weight:bold">\</span> 0383 <span style="color:#7a7c7d"># comment</span> 0384 <span style="color:#7a7c7d"># comment2</span> 0385 after comment <span style="color:#7a7c7d"># just another argument</span> 0386 <span style="color:#7f8c8d">echo</span> before comment<span style="font-weight:bold">\</span> 0387 <span style="color:#7a7c7d"># comment ^ no space</span> 0388 <span style="color:#7a7c7d"># comment2</span> 0389 <span style="color:#8e44ad">after</span> comment <span style="color:#7a7c7d"># a command</span> 0390 <span style="color:#8e44ad">from</span> root 0391 0392 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">"hello"</span> <span style="font-weight:bold">|</span> <span style="font-weight:bold">\</span> 0393 <span style="color:#7a7c7d">#remove 'l'</span> 0394 <span style="color:#7a7c7d">#and more</span> 0395 <span style="color:#8e44ad">tr</span> -d <span style="color:#f44f4f">'l'</span> 0396 0397 <span style="color:#7a7c7d">### Trouble</span> 0398 <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> 0399 <span style="color:#7f8c8d">printf</span> <span style="color:#f44f4f">'%s\t%s\n'</span> flounder fish <span style="color:#7a7c7d"># ok</span> 0400 <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> 0401 <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> 0402 0403 <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> 0404 <span style="color:#7f8c8d">echo</span> hallo 0405 <span style="color:#fdbc4b;font-weight:bold">end</span> 0406 0407 <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> 0408 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$i</span> 0409 <span style="color:#fdbc4b;font-weight:bold">end</span> 0410 0411 <span style="color:#7a7c7d"># function</span> 0412 <span style="color:#fdbc4b;font-weight:bold">function</span> <span style="color:#8e44ad">__hidden</span> <span style="color:#7a7c7d"># comment</span> 0413 <span style="color:#7f8c8d">cd</span> / 0414 <span style="color:#fdbc4b;font-weight:bold">end</span> 0415 0416 <span style="color:#fdbc4b;font-weight:bold">function</span> <span style="color:#8e44ad">ll</span> <span style="font-weight:bold">\</span> 0417 -d <span style="color:#a43340">"multiline</span> 0418 <span style="color:#a43340"> description"</span> 0419 <span style="color:#8e44ad">ls</span> -l <span style="color:#27aeae">$argv</span> 0420 <span style="color:#fdbc4b;font-weight:bold">end</span> 0421 0422 <span style="color:#fdbc4b;font-weight:bold">function</span> <span style="color:#8e44ad">ls</span> --description=<span style="color:#a43340">"Description"</span> -a a b c <span style="color:#7a7c7d"># comment</span> 0423 <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> 0424 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#7f8c8d">test</span> <span style="color:#3f8058">-f </span>foo.txt 0425 <span style="color:#7f8c8d">echo</span> foo.txt exists 0426 <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> 0427 <span style="color:#7f8c8d">echo</span> bar.txt exists 0428 <span style="color:#fdbc4b;font-weight:bold">else</span> 0429 <span style="color:#7f8c8d">echo</span> foo.txt and bar.txt do not exist 0430 <span style="color:#fdbc4b;font-weight:bold">end</span> <span style="color:#7a7c7d"># comment</span> 0431 <span style="color:#fdbc4b;font-weight:bold">end</span> 0432 0433 <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> 0434 0435 <span style="color:#fdbc4b;font-weight:bold">switch</span> <span style="color:#27aeae">$animal</span> <span style="color:#7a7c7d"># comment</span> 0436 <span style="color:#fdbc4b;font-weight:bold">case</span> cat <span style="color:#7a7c7d"># comment</span> 0437 <span style="color:#7f8c8d">echo</span> evil 0438 <span style="color:#fdbc4b;font-weight:bold">case</span> wolf <span style="font-weight:bold">\</span> 0439 dog 0440 <span style="color:#7f8c8d">echo</span> mammal 0441 <span style="color:#fdbc4b;font-weight:bold">case</span> <span style="color:#f44f4f">'*'</span> 0442 <span style="color:#7f8c8d">echo</span> I have no idea what a <span style="color:#27aeae">$animal</span> is 0443 <span style="color:#fdbc4b;font-weight:bold">end</span> 0444 0445 <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 0446 <span style="color:#7f8c8d">echo</span> <span style="color:#27aeae">$argv</span> 0447 <span style="color:#fdbc4b;font-weight:bold">else</span> 0448 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">"?"</span> 0449 <span style="color:#fdbc4b;font-weight:bold">end</span> 0450 0451 <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> 0452 <span style="color:#7f8c8d">echo</span> There is no spoon 0453 <span style="color:#fdbc4b;font-weight:bold">else</span> 0454 <span style="color:#7f8c8d">exit</span> 1 0455 <span style="color:#fdbc4b;font-weight:bold">end</span> 0456 0457 <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> 0458 <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> 0459 <span style="color:#7f8c8d">string</span> <span style="color:#7f8c8d">match</span> -r <span style="color:#f44f4f">'\[Dialer'</span> <span style="color:#3f8058"><</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> 0460 <span style="color:#fdbc4b;font-weight:bold">end</span> 0461 <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 0462 0463 <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 0464 <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> 0465 <span style="color:#7f8c8d">echo</span> Smurfs are present in <span style="color:#27aeae">$i</span> 0466 <span style="color:#7f8c8d">break</span> 0467 <span style="color:#fdbc4b;font-weight:bold">end</span> 0468 <span style="color:#fdbc4b;font-weight:bold">end</span> 0469 0470 <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> 0471 <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 0472 <span style="color:#fdbc4b;font-weight:bold">end</span> 0473 <span style="color:#7f8c8d">echo</span> <span style="color:#f44f4f">""</span> 0474 <span style="color:#fdbc4b;font-weight:bold">end</span> 0475 0476 <span style="color:#fdbc4b;font-weight:bold">begin</span> <span style="color:#7a7c7d"># comment</span> 0477 <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 0478 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#8e44ad">grep</span> smurf <span style="color:#27aeae">$i</span> 0479 <span style="color:#7f8c8d">continue</span> 0480 <span style="color:#fdbc4b;font-weight:bold">end</span> 0481 <span style="color:#8e44ad">rm</span> <span style="color:#27aeae">$i</span> 0482 <span style="color:#fdbc4b;font-weight:bold">end</span> 0483 <span style="color:#fdbc4b;font-weight:bold">end</span> 0484 0485 <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> 0486 <span style="color:#7f8c8d">set</span> <span style="color:#27aeae">sta</span> pass 0487 <span style="color:#fdbc4b;font-weight:bold">else</span> 0488 <span style="color:#7f8c8d">set</span> <span style="color:#27aeae">sta</span> fail 0489 <span style="color:#fdbc4b;font-weight:bold">end</span> 0490 0491 <span style="color:#7f8c8d">exec</span> <span style="color:#f44f4f">"</span><span style="color:#27aeae">$test</span><span style="color:#f44f4f">"</span> 0492 0493 0494 <span style="color:#7a7c7d"># Process Expansion</span> 0495 <span style="color:#7a7c7d"># see fish issue 4230</span> 0496 <span style="color:#8e44ad">kill</span> -STOP <span style="color:#3daee9">%</span><span style="color:#27ae60">self</span> 0497 0498 <span style="color:#8e44ad">endcmd</span> <span style="color:#7a7c7d"># is a command</span> 0499 0500 <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> 0501 <span style="color:#fdbc4b;font-weight:bold">end</span> 0502 0503 <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">"*"</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> 0504 0505 <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> 0506 </pre></body></html>