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

                </list>
                <list name = "commands">
                        <item> cp </item>
                        <item> date </item>
                        <item> echo </item>
                        <item> eval </item>
			<item> dcop </item>
			<item> dcopstart </item>
			<item> dcopfind </item>
                </list>
                <contexts>
                        <context name = "Base" attribute = "Normal Text" lineEndContext = "#stay">
                                <DetectChar attribute="Comment" context="Commentar" char="#" />
                                
                                <RegExpr attribute="Keyword" context="#stay" String="\bdone\b" insensitive="TRUE" endRegion="dodone1"/>
                                <RegExpr attribute="Keyword" context="#stay" String="\bdo\b" insensitive="TRUE" beginRegion="dodone1"/>
                                
                                <RegExpr attribute="Keyword" context="#stay" String="\belif\b" insensitive="TRUE" beginRegion="iffi1" endRegion="iffi1"/>
                                <RegExpr attribute="Keyword" context="#stay" String="\bif\b" insensitive="TRUE" beginRegion="iffi1"/>
                                <RegExpr attribute="Keyword" context="#stay" String="\bfi\b" insensitive="TRUE" endRegion="iffi1"/>
                                
                                <RegExpr attribute="Keyword" context="#stay" String="\bcase\b" insensitive="TRUE" beginRegion="case1"/>
                                <RegExpr attribute="Keyword" context="#stay" String="\besac\b" insensitive="TRUE" endRegion="case1"/>
                                
                                <RegExpr attribute="Keyword" context="#stay" String="^[^()]+\)" insensitive="TRUE" beginRegion="subcase1"/>
                                <StringDetect attribute="Keyword" context="#stay" String=";;" insensitive="TRUE" endRegion="subcase1"/>
                                
                                <DetectChar attribute="Keyword" context="#stay" char="{" beginRegion="func1"/>
                                <DetectChar attribute="Keyword" context="#stay" char="}" endRegion="func1"/>

                                <keyword String = "keywords" attribute = "Keyword" context = "#stay"/>
                                <keyword String = "commands" attribute = "Command" context = "#stay"/>
                                <Int attribute = "Decimal" context = "#stay"/>
                                <RegExpr String = "\$[A-Za-z0-9_?{}!]+" attribute = "Parameter" context = "#stay"/>
                                <RangeDetect char = "&quot;" char1 = "&quot;" attribute = "String" context = "#stay"/>
                                <AnyChar String = "|&lt;&gt;=;" attribute = "Operator" context = "#stay"/>
                                <DetectChar char="'" attribute = "String" context = "Single Quote"/>
                                <DetectChar char="`" attribute = "Substitution" context = "Substitution"/>
                                <Detect2Chars attribute = "Normal Text" context = "#stay" char = "\" char1 = "#"/>
                        </context>
                        <context name = "String" attribute = "String" lineEndContext="#stay">
				<StringDetect String = "\\" attribute = "String" context = "#stay"/>
				<StringDetect String = "\&quot;" attribute = "String" context = "#stay"/>
                                <DetectChar char = "&quot;" attribute = "String" context = "#pop"/>
                        </context>
			<context name = "Single Quote" attribute = "String" lineEndContext="#stay">
				<StringDetect String = "\\" attribute = "String" context = "#stay"/>
				<StringDetect String = "\'" attribute = "String" context = "#stay"/>
				<DetectChar char = "'" attribute = "String" context = "#pop"/>
                        </context>
                        <context name = "Substitution" attribute = "Substitution" lineEndContext="#stay">
				<StringDetect String = "\\" attribute = "String" context = "#stay"/>
				<StringDetect String = "\`" attribute = "String" context = "#stay"/>
                                <DetectChar char = "`" attribute = "Substitution" context = "#pop"/>
                        </context>
                        <context name = "Parameter" attribute = "Parameter" lineEndContext="#stay">
                                <RegExpr String = "\$[A-Za-z0-9_?]+" attribute = "Parameter" context="#pop"/>
                        </context>
                        <context attribute="Comment" lineEndContext="#pop" name="Commentar">
                        </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>

