<?xml version="1.0" encoding="UTF-8"?> <!-- This file is part of GtkSourceView Author: Silian Della Ragione <silian87@gechi.it> Copyright (C) 2005 Silian Della Ragione <silian87@gechi.it> Copyright (C) 2008 Steve Frécinaux <code@istique.net> GtkSourceView is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. GtkSourceView is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see <http://www.gnu.org/licenses/>. --> <language id="sh" name="sh" version="2.0" _section="Script"> <metadata> <property name="mimetypes">text/x-shellscript;application/x-shellscript;text/x-sh</property> <property name="globs">*.sh;*bashrc;.profile;.bash_profile</property> <property name="line-comment-start">#</property> </metadata> <styles> <style id="comment" name="Comment" map-to="def:comment"/> <style id="function" name="Function" map-to="def:function"/> <style id="string" name="String" map-to="def:string"/> <style id="keyword" name="Keyword" map-to="def:keyword"/> <style id="variable" name="Variable" map-to="def:type"/> <!-- FIXME: need to sort out proper styles for variables --> <style id="variable-definition" name="Variable Definition" map-to="sh:variable"/> <style id="others" name="Others" map-to="def:keyword"/> <style id="common-command" name="Common Commands" map-to="def:keyword"/> <style id="here-doc-bound" name="Heredoc Bound" map-to="def:keyword"/> <style id="subshell" name="Subshell" map-to="def:preprocessor"/> </styles> <definitions> <!-- we cannot use def:shell-like-comment, because m4.lang needs to replace this context --> <context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check"> <start>(?<!\S)#</start> <include> <context ref="def:in-comment"/> </include> </context> <context id="double-quoted-string" style-ref="string" class="string" class-disabled="no-spell-check"> <start>"</start> <end>"</end> <include> <!-- highlight escaped chars --> <context style-ref="def:special-char"> <match>\\[$`"\\]</match> </context> <!-- skip backslash where it's not an escaping char --> <context> <match>\\</match> </context> <context ref="def:line-continue"/> <context ref="variable"/> <context ref="backtick-subshell"/> </include> </context> <context id="single-quoted-string" style-ref="string" class="string" class-disabled="no-spell-check"> <start>'</start> <end>'</end> </context> <context id="subshell"> <start>\(</start> <end>\)</end> <include> <context sub-pattern="0" where="start" style-ref="keyword"/> <context sub-pattern="0" where="end" style-ref="keyword"/> <context ref="sh"/> </include> </context> <context id="backtick-subshell" style-ref="subshell"> <start>`</start> <end>`</end> <include> <context ref="def:escape"/> <context ref="def:line-continue"/> <context ref="variable"/> <context ref="built-in-command"/> <context ref="common-command"/> <context ref="single-quoted-string"/> <context ref="double-quoted-string"/> </include> </context> <context id="punctuator" style-ref="others"> <match>[;\|&/]</match> </context> <context id="function" style-ref="function"> <match>\b[a-zA-Z_][a-zA-Z0-9_]+[ \t]*\(\)</match> </context> <context id="redirection" style-ref="others"> <keyword>>&+[0-9]</keyword> <keyword>\b[0-9]+>&</keyword> <keyword>\b[0-9]+>&+[0-9]</keyword> <keyword>\b[0-9]+></keyword> <keyword>>></keyword> <keyword>\b[0-9]+>></keyword> <keyword><&[0-9]</keyword> <keyword>\b[0-9]+<&</keyword> <keyword>\b[0-9]+<&[0-9]</keyword> <keyword>\b[0-9]+<</keyword> <keyword><<+[0-9]</keyword> <keyword>\b[0-9]+<<</keyword> </context> <context id="here-doc"> <start extended="true" dupnames="true"> # (?<!<) and [^\s<] are for not matching # here-word (<<<) (?<!<) <<-?\s*\\?( \"(?P<HDB>[^\s<]+)\" | # "EOF" \'(?P<HDB>[^\s<]+)\' | # 'EOF' (?P<HDB>[^\s<]+) # EOF )$ </start> <end>^\t*\%{HDB@start}$</end> <include> <context sub-pattern="0" where="start" style-ref="here-doc-bound"/> <context sub-pattern="0" where="end" style-ref="here-doc-bound"/> </include> </context> <context id="operator" style-ref="function"> <keyword>\-a\b</keyword> <keyword>\-b\b</keyword> <keyword>\-c\b</keyword> <keyword>\-d\b</keyword> <keyword>\-e\b</keyword> <keyword>\-f\b</keyword> <keyword>\-g\b</keyword> <keyword>\-h\b</keyword> <keyword>\-k\b</keyword> <keyword>\-p\b</keyword> <keyword>\-r\b</keyword> <keyword>\-s\b</keyword> <keyword>\-t\b</keyword> <keyword>\-u\b</keyword> <keyword>\-w\b</keyword> <keyword>\-x\b</keyword> <keyword>\-O\b</keyword> <keyword>\-G\b</keyword> <keyword>\-L\b</keyword> <keyword>\-S\b</keyword> <keyword>\-N\b</keyword> <keyword>\-nt\b</keyword> <keyword>\-ot\b</keyword> <keyword>\-ef\b</keyword> <keyword>\-o\b</keyword> <keyword>\-z\b</keyword> <keyword>\-n\b</keyword> <keyword><</keyword> <keyword>></keyword> <keyword>\!=</keyword> <keyword>\-eq\b</keyword> <keyword>\-ne\b</keyword> <keyword>\-lt\b</keyword> <keyword>\-le\b</keyword> <keyword>\-gt\b</keyword> <keyword>\-ge\b</keyword> </context> <context id="short-parameter-expansion" style-ref="variable"> <match>\$([!@?*#\$0-9]|[a-zA-Z0-9_]+)</match> </context> <context id="parameter-expansion" style-ref="variable"> <start>\$\{</start> <end>\}</end> <include> <context ref="single-quoted-string"/> <context ref="double-quoted-string"/> <context ref="variable"/> <context ref="backtick-subshell"/> </include> </context> <context id="variable"> <include> <context ref="short-parameter-expansion"/> <context ref="parameter-expansion"/> </include> </context> <context id="variable-definition"> <match>(^\s*|(?<=then|else|do|export)\s+)([a-zA-Z_][a-zA-Z0-9_]*)\=</match> <include> <context sub-pattern="2" style-ref="variable-definition"/> </include> </context> <context id="built-in-command-1" style-ref="keyword"> <prefix></prefix> <suffix></suffix> <keyword>\!</keyword> <keyword>\{</keyword> <keyword>\}</keyword> <keyword>\:</keyword> <keyword>(?<=\s)\.(?=\s)</keyword> </context> <context id="for-command"> <start>\bfor\b</start> <end>\b(in|do)\b</end> <include> <context sub-pattern="0" where="start" style-ref="keyword"/> <context sub-pattern="0" where="end" style-ref="keyword"/> <context style-ref="variable-definition" once-only="true"> <match>\w+</match> </context> </include> </context> <context id="built-in-command-2" style-ref="keyword"> <prefix>(?<![^\s;\(\)\`])</prefix> <suffix>(?![^\s;\(\)\`])</suffix> <keyword>do</keyword> <keyword>done</keyword> <keyword>elif</keyword> <keyword>else</keyword> <keyword>fi</keyword> <keyword>for</keyword> <keyword>function</keyword> <keyword>if</keyword> <keyword>in</keyword> <keyword>select</keyword> <keyword>then</keyword> <keyword>until</keyword> <keyword>while</keyword> <keyword>alias</keyword> <keyword>bg</keyword> <keyword>bind</keyword> <keyword>break</keyword> <keyword>builtin</keyword> <keyword>cd</keyword> <keyword>command</keyword> <keyword>compgen</keyword> <keyword>complete</keyword> <keyword>continue</keyword> <keyword>declare</keyword> <keyword>dirs</keyword> <keyword>disown</keyword> <keyword>echo</keyword> <keyword>enable</keyword> <keyword>eval</keyword> <keyword>exec</keyword> <keyword>exit</keyword> <keyword>export</keyword> <keyword>fc</keyword> <keyword>fg</keyword> <keyword>getopts</keyword> <keyword>hash</keyword> <keyword>help</keyword> <keyword>history</keyword> <keyword>jobs</keyword> <keyword>let</keyword> <keyword>local</keyword> <keyword>logout</keyword> <keyword>popd</keyword> <keyword>printf</keyword> <keyword>pushd</keyword> <keyword>read</keyword> <keyword>readonly</keyword> <keyword>return</keyword> <keyword>set</keyword> <keyword>shift</keyword> <keyword>shopt</keyword> <keyword>source</keyword> <keyword>suspend</keyword> <keyword>test</keyword> <keyword>times</keyword> <keyword>trap</keyword> <keyword>type</keyword> <keyword>typeset</keyword> <keyword>ulimit</keyword> <keyword>umask</keyword> <keyword>unalias</keyword> <keyword>unset</keyword> <keyword>wait</keyword> </context> <context id="built-in-command"> <include> <context ref="built-in-command-1"/> <context ref="for-command"/> <context ref="built-in-command-2"/> </include> </context> <context id="common-command" style-ref="common-command"> <prefix>(?<![\w\-\.])</prefix> <suffix>(?![\w\-\.])</suffix> <keyword>ar</keyword> <keyword>awk</keyword> <keyword>basename</keyword> <keyword>bash</keyword> <keyword>beep</keyword> <keyword>bunzip2</keyword> <keyword>bzcat</keyword> <keyword>bzcmp</keyword> <keyword>bzdiff</keyword> <keyword>bzegrep</keyword> <keyword>bzfgrep</keyword> <keyword>bzgrep</keyword> <keyword>bzip2recover</keyword> <keyword>bzip2</keyword> <keyword>bzless</keyword> <keyword>bzmore</keyword> <keyword>cc</keyword> <keyword>cat</keyword> <keyword>chattr</keyword> <keyword>chgrp</keyword> <keyword>chmod</keyword> <keyword>chown</keyword> <keyword>chroot</keyword> <keyword>clear</keyword> <keyword>cmp</keyword> <keyword>cpp</keyword> <keyword>cp</keyword> <keyword>cut</keyword> <keyword>date</keyword> <keyword>dd</keyword> <keyword>df</keyword> <keyword>dialog</keyword> <keyword>diff3</keyword> <keyword>diff</keyword> <keyword>dirname</keyword> <keyword>dir</keyword> <keyword>du</keyword> <keyword>egrep</keyword> <keyword>eject</keyword> <keyword>env</keyword> <keyword>expr</keyword> <keyword>false</keyword> <keyword>fgrep</keyword> <keyword>file</keyword> <keyword>find</keyword> <keyword>fmt</keyword> <keyword>free</keyword> <keyword>ftp</keyword> <keyword>funzip</keyword> <keyword>fuser</keyword> <keyword>gawk</keyword> <keyword>gcc</keyword> <keyword>getent</keyword> <keyword>getopt</keyword> <keyword>grep</keyword> <keyword>groups</keyword> <keyword>gunzip</keyword> <keyword>gzip</keyword> <keyword>head</keyword> <keyword>hostname</keyword> <keyword>id</keyword> <keyword>ifconfig</keyword> <keyword>info</keyword> <keyword>insmod</keyword> <keyword>install</keyword> <keyword>join</keyword> <keyword>killall</keyword> <keyword>kill</keyword> <keyword>lastb</keyword> <keyword>last</keyword> <keyword>ld</keyword> <keyword>less</keyword> <keyword>ln</keyword> <keyword>locate</keyword> <keyword>lockfile</keyword> <keyword>login</keyword> <keyword>logname</keyword> <keyword>lp</keyword> <keyword>lpr</keyword> <keyword>lsattr</keyword> <keyword>ls</keyword> <keyword>lsmod</keyword> <keyword>make</keyword> <keyword>man</keyword> <keyword>mkdir</keyword> <keyword>mkfifo</keyword> <keyword>mknod</keyword> <keyword>mktemp</keyword> <keyword>modprobe</keyword> <keyword>more</keyword> <keyword>mount</keyword> <keyword>mv</keyword> <keyword>namei</keyword> <keyword>nawk</keyword> <keyword>nice</keyword> <keyword>nl</keyword> <keyword>passwd</keyword> <keyword>patch</keyword> <keyword>perl</keyword> <keyword>pgawk</keyword> <keyword>pidof</keyword> <keyword>ping</keyword> <keyword>pkg-config</keyword> <keyword>pr</keyword> <keyword>ps</keyword> <keyword>pwd</keyword> <keyword>readlink</keyword> <keyword>renice</keyword> <keyword>rmdir</keyword> <keyword>rm</keyword> <keyword>scp</keyword> <keyword>sed</keyword> <keyword>seq</keyword> <keyword>sh</keyword> <keyword>sleep</keyword> <keyword>sort</keyword> <keyword>split</keyword> <keyword>ssh-add</keyword> <keyword>ssh-agent</keyword> <keyword>ssh-keygen</keyword> <keyword>ssh-keyscan</keyword> <keyword>ssh</keyword> <keyword>stat</keyword> <keyword>sudo</keyword> <keyword>sum</keyword> <keyword>su</keyword> <keyword>sync</keyword> <keyword>tac</keyword> <keyword>tail</keyword> <keyword>tar</keyword> <keyword>tee</keyword> <keyword>tempfile</keyword> <keyword>touch</keyword> <keyword>true</keyword> <keyword>tr</keyword> <keyword>umount</keyword> <keyword>uname</keyword> <keyword>uniq</keyword> <keyword>unlink</keyword> <keyword>unzip</keyword> <keyword>uptime</keyword> <keyword>wall</keyword> <keyword>wc</keyword> <keyword>wget</keyword> <keyword>whereis</keyword> <keyword>which</keyword> <keyword>whoami</keyword> <keyword>who</keyword> <keyword>write</keyword> <keyword>w</keyword> <keyword>xargs</keyword> <keyword>xdialog</keyword> <keyword>zcat</keyword> <keyword>zcmp</keyword> <keyword>zdiff</keyword> <keyword>zegrep</keyword> <keyword>zenity</keyword> <keyword>zfgrep</keyword> <keyword>zforce</keyword> <keyword>zgrep</keyword> <keyword>zip</keyword> <keyword>zless</keyword> <keyword>zmore</keyword> <keyword>znew</keyword> </context> <context id="case"> <start>\bcase\b</start> <end>\besac\b</end> <include> <context sub-pattern="0" where="start" style-ref="keyword"/> <context sub-pattern="0" where="end" style-ref="keyword"/> <context ref="double-quoted-string"/> <context ref="single-quoted-string"/> <context style-ref="others"> <match>[^\)\s]+\s*\)|;;</match> </context> <context ref="sh"/> </include> </context> <context id="sh" class="no-spell-check"> <include> <context ref="def:shebang"/> <context ref="line-comment"/> <context ref="def:escape"/> <context ref="single-quoted-string"/> <context ref="double-quoted-string"/> <context ref="subshell"/> <context ref="backtick-subshell"/> <context ref="case"/> <context ref="punctuator"/> <context ref="function"/> <context ref="here-doc"/> <context ref="redirection"/> <context ref="operator"/> <context ref="variable"/> <context ref="variable-definition"/> <context ref="built-in-command"/> <context ref="common-command"/> </include> </context> </definitions> </language>
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
R.lang | File | 77.54 KB | 0644 |
|
abnf.lang | File | 3.54 KB | 0644 |
|
actionscript.lang | File | 8.64 KB | 0644 |
|
ada.lang | File | 7.05 KB | 0644 |
|
ansforth94.lang | File | 22.6 KB | 0644 |
|
asp.lang | File | 40.88 KB | 0644 |
|
automake.lang | File | 11.15 KB | 0644 |
|
awk.lang | File | 4.15 KB | 0644 |
|
bennugd.lang | File | 8.81 KB | 0644 |
|
bibtex.lang | File | 3.75 KB | 0644 |
|
bluespec.lang | File | 5.79 KB | 0644 |
|
boo.lang | File | 8.42 KB | 0644 |
|
c.lang | File | 11.71 KB | 0644 |
|
cg.lang | File | 10.05 KB | 0644 |
|
changelog.lang | File | 3.41 KB | 0644 |
|
chdr.lang | File | 1.77 KB | 0644 |
|
cmake.lang | File | 35.44 KB | 0644 |
|
cobol.lang | File | 20.8 KB | 0644 |
|
cpp.lang | File | 4.78 KB | 0644 |
|
cpphdr.lang | File | 1.41 KB | 0644 |
|
csharp.lang | File | 9.34 KB | 0644 |
|
css.lang | File | 36.36 KB | 0644 |
|
csv.lang | File | 2.36 KB | 0644 |
|
cuda.lang | File | 10.25 KB | 0644 |
|
d.lang | File | 9.83 KB | 0644 |
|
def.lang | File | 10.67 KB | 0644 |
|
desktop.lang | File | 10.7 KB | 0644 |
|
diff.lang | File | 2.99 KB | 0644 |
|
docbook.lang | File | 15.98 KB | 0644 |
|
dosbatch.lang | File | 5.08 KB | 0644 |
|
dot.lang | File | 4.42 KB | 0644 |
|
dpatch.lang | File | 1.49 KB | 0644 |
|
dtd.lang | File | 4.52 KB | 0644 |
|
dtl.lang | File | 9.9 KB | 0644 |
|
eiffel.lang | File | 7.11 KB | 0644 |
|
erlang.lang | File | 8.26 KB | 0644 |
|
fcl.lang | File | 3.75 KB | 0644 |
|
forth.lang | File | 9.34 KB | 0644 |
|
fortran.lang | File | 22.95 KB | 0644 |
|
fsharp.lang | File | 10.79 KB | 0644 |
|
gap.lang | File | 2.73 KB | 0644 |
|
gdb-log.lang | File | 6.81 KB | 0644 |
|
genie.lang | File | 7.62 KB | 0644 |
|
glsl.lang | File | 17.25 KB | 0644 |
|
go.lang | File | 8.94 KB | 0644 |
|
groovy.lang | File | 11.49 KB | 0644 |
|
gtk-doc.lang | File | 3.66 KB | 0644 |
|
gtkrc.lang | File | 4.12 KB | 0644 |
|
haddock.lang | File | 5.91 KB | 0644 |
|
haskell-literate.lang | File | 1.73 KB | 0644 |
|
haskell.lang | File | 7.7 KB | 0644 |
|
haxe.lang | File | 7.71 KB | 0644 |
|
html.lang | File | 11.12 KB | 0644 |
|
idl-exelis.lang | File | 20.62 KB | 0644 |
|
idl.lang | File | 5.06 KB | 0644 |
|
imagej.lang | File | 29.42 KB | 0644 |
|
ini.lang | File | 3.5 KB | 0644 |
|
j.lang | File | 7.45 KB | 0644 |
|
jade.lang | File | 6.55 KB | 0644 |
|
java.lang | File | 6.57 KB | 0644 |
|
javascript.lang | File | 12.03 KB | 0644 |
|
json.lang | File | 4.19 KB | 0644 |
|
julia.lang | File | 13.46 KB | 0644 |
|
kotlin.lang | File | 13.18 KB | 0644 |
|
language.dtd | File | 2.35 KB | 0644 |
|
language.rng | File | 10.84 KB | 0644 |
|
language2.rng | File | 13 KB | 0644 |
|
latex.lang | File | 24.08 KB | 0644 |
|
lex.lang | File | 6.14 KB | 0644 |
|
libtool.lang | File | 1.83 KB | 0644 |
|
llvm.lang | File | 10.05 KB | 0644 |
|
logcat.lang | File | 3.35 KB | 0644 |
|
lua.lang | File | 10.2 KB | 0644 |
|
m4.lang | File | 45.03 KB | 0644 |
|
makefile.lang | File | 6.03 KB | 0644 |
|
mallard.lang | File | 3.69 KB | 0644 |
|
markdown.lang | File | 14.79 KB | 0644 |
|
matlab.lang | File | 4.87 KB | 0644 |
|
maxima.lang | File | 65.65 KB | 0644 |
|
mediawiki.lang | File | 10.64 KB | 0644 |
|
meson.lang | File | 4.4 KB | 0644 |
|
modelica.lang | File | 9.26 KB | 0644 |
|
mxml.lang | File | 2.16 KB | 0644 |
|
nemerle.lang | File | 8.21 KB | 0644 |
|
netrexx.lang | File | 10.36 KB | 0644 |
|
nsis.lang | File | 2.65 KB | 0644 |
|
objc.lang | File | 4 KB | 0644 |
|
objj.lang | File | 4.25 KB | 0644 |
|
ocaml.lang | File | 9.72 KB | 0644 |
|
ocl.lang | File | 5.24 KB | 0644 |
|
octave.lang | File | 59.04 KB | 0644 |
|
ooc.lang | File | 8.51 KB | 0644 |
|
opal.lang | File | 10.98 KB | 0644 |
|
opencl.lang | File | 20.36 KB | 0644 |
|
pascal.lang | File | 8.28 KB | 0644 |
|
perl.lang | File | 36.08 KB | 0644 |
|
php.lang | File | 12.04 KB | 0644 |
|
pig.lang | File | 9.35 KB | 0644 |
|
pkgconfig.lang | File | 1.93 KB | 0644 |
|
po.lang | File | 3.33 KB | 0644 |
|
prolog.lang | File | 8.2 KB | 0644 |
|
protobuf.lang | File | 4.4 KB | 0644 |
|
puppet.lang | File | 23.67 KB | 0644 |
|
python.lang | File | 16.99 KB | 0644 |
|
python3.lang | File | 7.67 KB | 0644 |
|
rpmspec.lang | File | 7.5 KB | 0644 |
|
rst.lang | File | 4.46 KB | 0644 |
|
ruby.lang | File | 25.7 KB | 0644 |
|
rust.lang | File | 10.07 KB | 0644 |
|
scala.lang | File | 12.63 KB | 0644 |
|
scheme.lang | File | 10.17 KB | 0644 |
|
scilab.lang | File | 6.87 KB | 0644 |
|
sh.lang | File | 16.49 KB | 0644 |
|
sml.lang | File | 6.43 KB | 0644 |
|
sparql.lang | File | 16.34 KB | 0644 |
|
sql.lang | File | 22.79 KB | 0644 |
|
sweave.lang | File | 2.18 KB | 0644 |
|
swift.lang | File | 16.21 KB | 0644 |
|
systemverilog.lang | File | 8.6 KB | 0644 |
|
t2t.lang | File | 5.05 KB | 0644 |
|
tcl.lang | File | 4.46 KB | 0644 |
|
tera.lang | File | 5.12 KB | 0644 |
|
texinfo.lang | File | 15.23 KB | 0644 |
|
thrift.lang | File | 8.45 KB | 0644 |
|
toml.lang | File | 8.46 KB | 0644 |
|
vala.lang | File | 12.83 KB | 0644 |
|
vbnet.lang | File | 7.78 KB | 0644 |
|
verilog.lang | File | 15.54 KB | 0644 |
|
vhdl.lang | File | 7.68 KB | 0644 |
|
xml.lang | File | 9.17 KB | 0644 |
|
xslt.lang | File | 3.83 KB | 0644 |
|
yacc.lang | File | 5.65 KB | 0644 |
|
yaml.lang | File | 7.02 KB | 0644 |
|