Skip to content

Instantly share code, notes, and snippets.

@sullust
Created September 5, 2012 19:22
Show Gist options
  • Save sullust/3642985 to your computer and use it in GitHub Desktop.
Save sullust/3642985 to your computer and use it in GitHub Desktop.
Coda syntax highlighting for bash
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE syntax SYSTEM "syntax.dtd">
<syntax>
<head>
<name>bash</name> <!-- The definitions title -->
<charsintokens><![CDATA[_0987654321abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@/.]]></charsintokens> <!-- Valid Characters for Variables -->
<!-- <charsdelimitingtokens></charsdelimitingtokens> -->
</head>
<states>
<default id="Base" color="#000" background-color="#fff" font-weight="normal" font-style="normal">
<keywords id="Keywords" color="#881350" useforautocomplete="yes" scope="language.function">
<string>else</string>
<string>for</string>
<string>function</string>
<string>in</string>
<string>select</string>
<string>until</string>
<string>while</string>
<string>if</string>
<string>fi</string>
<string>elif</string>
<string>then</string>
<string>set</string>
<string>do</string>
<string>done</string>
<string>let</string>
<string>case</string>
<string>esac</string>
</keywords>
<keywords id="Keywords for Variables" color="#881350" useforautocomplete="yes" scope="language.function">
<string>export</string>
<string>unset</string>
<string>declare</string>
<string>typeset</string>
<string>local</string>
</keywords>
<keywords id="Builtin functions" color="#408" useforautocomplete="yes" scope="language.function">
<string>source</string>
<string>alias</string>
<string>bg</string>
<string>bind</string>
<string>break</string>
<string>builtin</string>
<string>cd</string>
<string>command</string>
<string>compgen</string>
<string>complete</string>
<string>continue</string>
<string>dirs</string>
<string>disown</string>
<string>echo</string>
<string>enable</string>
<string>eval</string>
<string>exec</string>
<string>exit</string>
<string>fc</string>
<string>fg</string>
<string>getopts</string>
<string>hash</string>
<string>help</string>
<string>history</string>
<string>jobs</string>
<string>kill</string>
<string>logout</string>
<string>popd</string>
<string>printf</string>
<string>pushd</string>
<string>pwd</string>
<string>read</string>
<string>readonly</string>
<string>return</string>
<string>set</string>
<string>shift</string>
<string>shopt</string>
<string>suspend</string>
<string>test</string>
<string>times</string>
<string>trap</string>
<string>type</string>
<string>ulimit</string>
<string>umask</string>
<string>unalias</string>
<string>wait</string>
</keywords>
<keywords id="Unix commands" color="#808" useforautocomplete="yes" scope="keyword.control">
<string>arch</string>
<string>awk</string>
<string>bash</string>
<string>bunzip2</string>
<string>bzcat</string>
<string>bzcmp</string>
<string>bzdiff</string>
<string>bzegrep</string>
<string>bzfgrep</string>
<string>bzgrep</string>
<string>bzip2</string>
<string>bzip2recover</string>
<string>bzless</string>
<string>bzmore</string>
<string>cat</string>
<string>chattr</string>
<string>chgrp</string>
<string>chmod</string>
<string>chown</string>
<string>chvt</string>
<string>cp</string>
<string>date</string>
<string>dd</string>
<string>deallocvt</string>
<string>df</string>
<string>dir</string>
<string>dircolors</string>
<string>dmesg</string>
<string>dnsdomainname</string>
<string>domainname</string>
<string>du</string>
<string>dumpkeys</string>
<string>echo</string>
<string>ed</string>
<string>egrep</string>
<string>false</string>
<string>fgconsole</string>
<string>fgrep</string>
<string>fuser</string>
<string>gawk</string>
<string>getkeycodes</string>
<string>gocr</string>
<string>grep</string>
<string>groups</string>
<string>gunzip</string>
<string>gzexe</string>
<string>gzip</string>
<string>hostname</string>
<string>igawk</string>
<string>install</string>
<string>kbd_mode</string>
<string>kbdrate</string>
<string>killall</string>
<string>last</string>
<string>lastb</string>
<string>link</string>
<string>ln</string>
<string>loadkeys</string>
<string>loadunimap</string>
<string>login</string>
<string>ls</string>
<string>lsattr</string>
<string>lsmod</string>
<string>lsmod.old</string>
<string>mapscrn</string>
<string>mesg</string>
<string>mkdir</string>
<string>mkfifo</string>
<string>mknod</string>
<string>mktemp</string>
<string>more</string>
<string>mount</string>
<string>mv</string>
<string>nano</string>
<string>netstat</string>
<string>nisdomainname</string>
<string>openvt</string>
<string>pgawk</string>
<string>pidof</string>
<string>ping</string>
<string>ps</string>
<string>psfaddtable</string>
<string>psfgettable</string>
<string>psfstriptable</string>
<string>psfxtable</string>
<string>pstree</string>
<string>pwd</string>
<string>rbash</string>
<string>rc-status</string>
<string>readlink</string>
<string>resizecons</string>
<string>rm</string>
<string>rmdir</string>
<string>run-parts</string>
<string>sash</string>
<string>sed</string>
<string>setfont</string>
<string>setkeycodes</string>
<string>setleds</string>
<string>setmetamode</string>
<string>setserial</string>
<string>sh</string>
<string>showconsolefont</string>
<string>showkey</string>
<string>shred</string>
<string>sleep</string>
<string>ssed</string>
<string>stat</string>
<string>stty</string>
<string>su</string>
<string>sync</string>
<string>tar</string>
<string>tempfile</string>
<string>touch</string>
<string>true</string>
<string>umount</string>
<string>uname</string>
<string>unicode_start</string>
<string>unicode_stop</string>
<string>unlink</string>
<string>utmpdump</string>
<string>uuidgen</string>
<string>vdir</string>
<string>wall</string>
<string>wc</string>
<string>ypdomainname</string>
<string>zcat</string>
<string>zcmp</string>
<string>zdiff</string>
<string>zegrep</string>
<string>zfgrep</string>
<string>zforce</string>
<string>zgrep</string>
<string>zless</string>
<string>zmore</string>
<string>znew</string>
<string>zsh</string>
<string>aclocal</string>
<string>aconnect</string>
<string>aplay</string>
<string>apm</string>
<string>apmsleep</string>
<string>apropos</string>
<string>ar</string>
<string>arecord</string>
<string>as</string>
<string>as86</string>
<string>autoconf</string>
<string>autoheader</string>
<string>automake</string>
<string>awk</string>
<string>basename</string>
<string>bashbug</string>
<string>bc</string>
<string>bison</string>
<string>c++</string>
<string>cal</string>
<string>cat</string>
<string>cc</string>
<string>cdda2wav</string>
<string>cdparanoia</string>
<string>cdrdao</string>
<string>cd-read</string>
<string>cdrecord</string>
<string>chfn</string>
<string>chgrp</string>
<string>chmod</string>
<string>chown</string>
<string>chroot</string>
<string>chsh</string>
<string>clear</string>
<string>cmp</string>
<string>co</string>
<string>col</string>
<string>comm</string>
<string>cp</string>
<string>cpio</string>
<string>cpp</string>
<string>cut</string>
<string>dc</string>
<string>dd</string>
<string>df</string>
<string>diff</string>
<string>diff3</string>
<string>dir</string>
<string>dircolors</string>
<string>directomatic</string>
<string>dirname</string>
<string>du</string>
<string>env</string>
<string>expr</string>
<string>fbset</string>
<string>file</string>
<string>find</string>
<string>flex</string>
<string>flex++</string>
<string>fmt</string>
<string>free</string>
<string>ftp</string>
<string>funzip</string>
<string>fuser</string>
<string>g++</string>
<string>gawk</string>
<string>gc</string>
<string>gcc</string>
<string>gdb</string>
<string>getent</string>
<string>getopt</string>
<string>gettext</string>
<string>gettextize</string>
<string>gimp</string>
<string>gimp-remote</string>
<string>gimptool</string>
<string>gmake</string>
<string>gs</string>
<string>head</string>
<string>hexdump</string>
<string>id</string>
<string>install</string>
<string>join</string>
<string>kill</string>
<string>killall</string>
<string>ld</string>
<string>ld86</string>
<string>ldd</string>
<string>less</string>
<string>lex</string>
<string>ln</string>
<string>locate</string>
<string>lockfile</string>
<string>logname</string>
<string>lp</string>
<string>lpr</string>
<string>ls</string>
<string>lynx</string>
<string>m4</string>
<string>make</string>
<string>man</string>
<string>mkdir</string>
<string>mknod</string>
<string>msgfmt</string>
<string>mv</string>
<string>namei</string>
<string>nasm</string>
<string>nawk</string>
<string>nice</string>
<string>nl</string>
<string>nm</string>
<string>nm86</string>
<string>nmap</string>
<string>nohup</string>
<string>nop</string>
<string>od</string>
<string>passwd</string>
<string>patch</string>
<string>pcregrep</string>
<string>pcretest</string>
<string>perl</string>
<string>perror</string>
<string>pidof</string>
<string>pr</string>
<string>printf</string>
<string>procmail</string>
<string>prune</string>
<string>ps2ascii</string>
<string>ps2epsi</string>
<string>ps2frag</string>
<string>ps2pdf</string>
<string>ps2ps</string>
<string>psbook</string>
<string>psmerge</string>
<string>psnup</string>
<string>psresize</string>
<string>psselect</string>
<string>pstops</string>
<string>rcs</string>
<string>rev</string>
<string>rm</string>
<string>scp</string>
<string>sed</string>
<string>seq</string>
<string>setterm</string>
<string>shred</string>
<string>size</string>
<string>size86</string>
<string>skill</string>
<string>slogin</string>
<string>snice</string>
<string>sort</string>
<string>sox</string>
<string>split</string>
<string>ssh</string>
<string>ssh-add</string>
<string>ssh-agent</string>
<string>ssh-keygen</string>
<string>ssh-keyscan</string>
<string>stat</string>
<string>strings</string>
<string>strip</string>
<string>sudo</string>
<string>suidperl</string>
<string>sum</string>
<string>tac</string>
<string>tail</string>
<string>tee</string>
<string>test</string>
<string>tr</string>
<string>uniq</string>
<string>unlink</string>
<string>unzip</string>
<string>updatedb</string>
<string>updmap</string>
<string>uptime</string>
<string>users</string>
<string>vmstat</string>
<string>w</string>
<string>wc</string>
<string>wget</string>
<string>whatis</string>
<string>whereis</string>
<string>which</string>
<string>who</string>
<string>whoami</string>
<string>write</string>
<string>xargs</string>
<string>yacc</string>
<string>yes</string>
<string>zip</string>
<string>zsoelim</string>
</keywords>
<keywords id="Numbers" color="#00f" useforautocomplete="no"> <regex>(?&lt;=[^[A-Za-z0-9]]|^)((?:(?:[0-9]+.[0-9]*)|(?:.[0-9]+)([eE][+-]?[0-9]+)?[fFlL]?)|(?:(?:(?:[1-9][0-9]*)|0[0-7]*|(?:0[xX][0-9a-fA-F]))(?:(?:[uU][lL]?)|(?:[lL][uU]?))?))(?=[^[A-Za-z0-9]]|$)</regex>
</keywords>
<keywords id="FunctionRegex" color="#003369" useforautocomplete="no" scope="style.value.numeric">
<regex>([A-Za-z0-9_]+ *)(</regex>
</keywords>
<keywords id="Preprocessor" color="#683821" useforautocomplete="no" scope="markup.processing">
<regex>(^[ t]*#([^nr])*)</regex>
</keywords>
<keywords id="Variables" color="#C4620A" useforautocomplete="no" scope="language.variable">
<regex>($[#@A-Za-z0-9_]+)</regex>
<regex>(${[^}]*})</regex>
</keywords>
<state id="SingleComment" color="#236E25" type="comment" font-weight="normal" font-style="italic" scope="markup.comment">
<begin><regex>(?&lt;!$)#</regex></begin>
<end><regex>[nr]</regex></end>
<!-- <import mode="Base" state="EmailAndURLContainerState" keywords-only="yes"/>-->
</state>
<state id="String with double quotes" type="string" color="#760f15" scope="string">
<begin><string>((?&lt;!\)(\\)*)"</string></begin>
<end><regex>(((?&lt;!\)(\\)*)|^)"</regex></end>
<keywords id="Variables in double quoted Strings" color="#C4620A" useforautocomplete="no" scope="language.variable">
<regex>($[#@A-Za-z0-9_]+)</regex>
<regex>(${[^}]*})</regex>
</keywords>
</state>
<state id="String with single quotes" type="string" color="#760f15">
<begin><string>((?&lt;!\)(\\)*)'</string></begin>
<end><regex>'</regex></end>
<keywords id="Variables in single quoted Strings" color="#C4620A" useforautocomplete="no" scope="string">
<regex>($[#@A-Za-z0-9_]+)</regex>
<regex>(${[^}]*})</regex>
</keywords>
</state>
<state id="Backticks" color="#608" scope="meta.link">
<begin><string>(?&lt;!\)(\\)*`</string></begin>
<end><regex>(?&lt;!\)(\\)*`</regex></end>
</state>
<!-- <state id="do done Block" type="block" foldable="yes">
<begin><regex>(?&lt;![^;s])do(?!S)</regex></begin>
<end><regex>(?&lt;!S)done(?!S)</regex></end>
<import />
</state>
<state id="case esac Block" type="block" foldable="yes">
<begin><regex>(?&lt;![^;s])case(?!S)</regex></begin>
<end><regex>(?&lt;!S)esac(?!S)</regex></end>
<import />
</state>
<state id="if then fi Block" type="block" foldable="yes">
<begin><regex>(?&lt;![^;s])then(?!S)</regex></begin>
<end><regex>(?&lt;!S)fi(?!S)</regex></end>
<import />
</state>
<state id="Anti Bracket Block" foldable="no">
<begin><regex>${</regex></begin>
<end><regex>}</regex></end>
<import />
</state>
<state id="Bracket Block" type="block" foldable="yes">
<begin><regex>(?:(?&lt;=s)function[sw]+)?(?&lt;!\){</regex></begin>
<end><regex>(?&lt;!\)}</regex></end>
<import />
</state>-->
</default>
</states>
</syntax>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment