File indexing completed on 2024-05-19 15:23:13

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.awk</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (AWK) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d;">#!/usr</span>
0008 <span style="color:#7a7c7d;"># AWK hl test</span>
0009 
0010 <span style="color:#7a7c7d;"># </span><span style="color:#2980b9;background-color:#153042;">BEGIN</span><span style="color:#7a7c7d;"> and </span><span style="color:#2980b9;background-color:#153042;">END</span><span style="color:#7a7c7d;"> are also matched as patterns</span>
0011 <span style="color:#fdbc4b;">BEGIN</span> <span style="color:#3f8058;">{</span>
0012     p <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span><span style="color:#3f8058;">;</span>
0013 <span style="color:#3f8058;">}</span>
0014 
0015 <span style="color:#27ae60;">/</span><span style="color:#da4453;">some pattern</span><span style="color:#27ae60;">/</span> <span style="color:#3f8058;">{</span>
0016     p<span style="color:#3f8058;">++</span><span style="color:#3f8058;">;</span>
0017 <span style="color:#3f8058;">}</span>
0018 
0019 <span style="color:#7a7c7d;"># / inside brackets is not considered end of expression</span>
0020 <span style="color:#7a7c7d;"># a loose division operator (/) is not mismatched as a pattern.</span>
0021 <span style="color:#2980b9;">$1</span> <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[^</span><span style="color:#da4453;">abc/</span><span style="color:#27ae60;">]</span><span style="color:#da4453;">def</span><span style="color:#27ae60;">/</span> <span style="color:#3f8058;">||</span> b <span style="color:#3f8058;">==</span> <span style="color:#f67400;">3</span> <span style="color:#3f8058;">/</span> <span style="color:#f67400;">5</span> <span style="color:#3f8058;">{</span>
0022 
0023     <span style="color:#8e44ad;">gsub</span> <span style="color:#3f8058;">(</span> <span style="color:#7f8c8d;">FILENAME</span> <span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0024 
0025 <span style="color:#3f8058;">}</span>
0026 
0027 <span style="color:#7a7c7d;"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span><span style="color:#7a7c7d;"> and </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">FIXME</span><span style="color:#7a7c7d;"> also work in comments in Awk.</span>
0028 
0029 <span style="color:#7a7c7d;"># Also backslash in patterns works.</span>
0030 <span style="color:#27ae60;">/\</span><span style="color:#3daee9;">/</span><span style="color:#da4453;">usr</span><span style="color:#27ae60;">\</span><span style="color:#3daee9;">/</span><span style="color:#da4453;">bin</span><span style="color:#27ae60;">\</span><span style="color:#3daee9;">/</span><span style="color:#da4453;">awk</span><span style="color:#27ae60;">/</span> <span style="color:#3f8058;">{</span> <span style="font-weight:bold;">print</span> <span style="color:#f44f4f;">&quot;This is me&quot;</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">}</span>
0031 
0032 <span style="color:#fdbc4b;">END</span> <span style="color:#3f8058;">{</span>
0033     <span style="font-weight:bold;">print</span> p<span style="color:#3f8058;">;</span>
0034 <span style="color:#3f8058;">}</span>
0035 
0036 <span style="font-weight:bold;">function</span> myfunc<span style="color:#3f8058;">()</span>
0037 <span style="color:#3f8058;">{</span>
0038     <span style="font-weight:bold;">print</span> <span style="color:#f67400;">42</span>
0039 <span style="color:#3f8058;">}</span>
0040 
0041 <span style="color:#27ae60;">/</span><span style="color:#da4453;">abc</span><span style="color:#27ae60;">/</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;">/</span><span style="color:#da4453;">a</span><span style="color:#27ae60;">[</span><span style="color:#da4453;">b</span><span style="color:#27ae60;">]</span><span style="color:#da4453;">c</span><span style="color:#27ae60;">/</span><span style="color:#3f8058;">{</span>
0042     <span style="color:#7a7c7d;"># parameter with a regex</span>
0043     <span style="color:#fdbc4b;font-weight:bold;">if</span> <span style="color:#3f8058;">(</span><span style="color:#8e44ad;">match</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">$0</span><span style="color:#3f8058;">,</span> <span style="color:#27ae60;">/</span><span style="color:#da4453;">a</span><span style="color:#27ae60;">/</span><span style="color:#3f8058;">))</span> <span style="color:#3f8058;">{}</span>
0044 
0045     <span style="color:#f44f4f;">&quot;x</span><span style="color:#3daee9;">\a</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\n</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\</span><span style="color:#da4453;text-decoration:underline;">e</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\</span><span style="color:#da4453;text-decoration:underline;">z</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\023</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\2</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\xff</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\xFf\xa</span><span style="color:#f44f4f;">x</span><span style="color:#3daee9;">\12</span><span style="color:#f44f4f;">x&quot;</span>
0046 
0047     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[</span><span style="color:#0099ff;font-weight:bold;">[:alpha:]</span><span style="color:#27ae60;">]/</span>
0048     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[</span><span style="color:#da4453;">xx</span><span style="color:#0099ff;font-weight:bold;">[:alpha:]</span><span style="color:#da4453;">xx</span><span style="color:#27ae60;">]/</span>
0049     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[</span><span style="color:#da4453;">a</span><span style="color:#27ae60;">-</span><span style="color:#da4453;">z</span><span style="color:#0099ff;font-weight:bold;">[:alpha:]</span><span style="color:#da4453;">xx-</span><span style="color:#27ae60;">]/</span>
0050     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[</span><span style="color:#da4453;">]a</span><span style="color:#27ae60;">]/</span>
0051     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[</span><span style="color:#da4453;">-a</span><span style="color:#27ae60;">]/</span>
0052     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[^</span><span style="color:#da4453;">]a</span><span style="color:#27ae60;">]/</span>
0053     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[^</span><span style="color:#da4453;">-a</span><span style="color:#27ae60;">]/</span>
0054     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[</span><span style="color:#da4453;">a</span><span style="color:#27ae60;">]</span><span style="color:#da4453;">a</span><span style="color:#27ae60;">\</span><span style="color:#3daee9;">/</span><span style="color:#27ae60;">\</span><span style="color:#3daee9;">n</span><span style="color:#27ae60;">/</span>
0055     <span style="color:#7a7c7d;"># incomplete regex</span>
0056     a <span style="color:#3f8058;">=~</span> <span style="color:#27ae60;">/[</span><span style="color:#da4453;">xx</span><span style="color:#0099ff;font-weight:bold;">[:</span><span style="color:#27ae60;">alph</span>
0057     a <span style="color:#3f8058;">=</span> <span style="color:#f67400;">23.2</span>
0058 <span style="color:#3f8058;">}</span>
0059 </pre></body></html>