<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Bash" section="Scripts" extensions="" mimetype="text/x-shellscript">
        <highlighting>
                 <list name = "keywords">
                        <item> break </item>
                        <item> case </item>
                        <item> done </item>
                        <item> do </item>
                        <item> elif </item>
                        <item> else </item>
                        <item> esac </item>
                        <item> exit </item>
                        <item> export </item>
                        <item> fi </item>
                        <item> for </item>
                        <item> function </item>
                        <item> if </item>
                        <item> in </item>
                        <item> return </item>
                        <item> select </item>
                        <item> then </item>
                        <item> until </item>
                        <item> while </item>
                        <item> . </item>
                </list>
		<list name = "commands">
			<item> cp </item>
			<item> date </item>
			<item> echo </item>
			<item> eval </item>
		</list>

	<contexts>
                <context name = "Base" attribute = "Normal Text" lineEndContext="0">
                        <keyword String = "keywords" attribute = "Keyword" context="0"/>
			<keyword String = "commands" attribute = "Command" context="0"/>
                        <Int attribute = "Decimal" context="0"/>
			<RegExpr String = "\$[A-Za-z0-9_?{!]+" attribute = "Parameter" context="0"/>                        
			<RangeDetect char = "&quot;" char1 = "&quot;" attribute = "String" context="0"/>
                        <AnyChar String = "|&lt;&gt;=;" attribute = "Operator" context="0"/>
                        <DetectChar char="`" attribute = "Substitution" context = "2"/>
			<Detect2Chars attribute="0" context="Normal Text" char="\" char1="#"/>
                        <RegExpr String= "#.*$" attribute = "Comment" context="0"/>
                </context>

                <context name = "String" attribute = "String" lineEndContext="1">
                        <DetectChar char = "&quot;" attribute = "String" context = "0"/>
                </context>

                <context name = "Substitution" attribute = "Substitution" lineEndContext="2">
                        <DetectChar char = "`" attribute = "Substitution" context = "0"/>
                </context>

                <context name = "Parameter" attribute = "Parameter" lineEndContext="3">
			<RegExpr String = "\$[A-Za-z0-9_?]+" attribute = "Parameter" context="0"/>
                </context>

        </contexts>

        <itemDatas>
                <itemData name = "Normal Text" defStyleNum = "dsNormal"/>
                <itemData name = "Keyword" defStyleNum = "dsKeyword"/>
                <itemData name = "Decimal" defStyleNum = "dsDecVal"/>
                <itemData name = "Float" defStyleNum = "dsFloat"/>
                <itemData name = "Char" defStyleNum = "dsChar"/>
                <itemData name = "String" defStyleNum = "dsString"/>
                <itemData name = "Comment" defStyleNum = "dsComment"/>
                <itemData name = "Substitution" defStyleNum = "dsOthers"/>
                <itemData name = "Parameter" defStyleNum = "dsOthers"/>
                <itemData name = "Operator" defStyleNum = "dsOthers"/>
		<itemData name = "Command" defStyleNum = "dsNormal"/>
	</itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="singleLine" start="#" />
    </comments>
    <keywords casesensitive="1" />
  </general>
</language>