<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="QMake" section="Other" extensions="*.pro;*.pri;*.prf;" mimetype="" version="1.2" kateversion="2.0" author="Milian Wolff (mail@milianw.de)" license="LGPL">

<highlighting>
  <list name="variables">
    <item>CONFIG</item>
    <item>DEFINES</item>
    <item>DESTDIR</item>
    <item>DLLDESTDIR</item>
    <item>FORMS</item>
    <item>HEADERS</item>
    <item>INCLUDEPATH</item>
    <item>INSTALLS</item>
    <item>LIBS</item>
    <item>OBJECTIVE_SOURCES</item>
    <item>OTHER_FILES</item>
    <item>OUT_PWD</item>
    <item>QMAKE_CXXFLAGS</item>
    <item>QMAKE_EXTRA_COMPILERS</item>
    <item>QMAKE_FILE_IN</item>
    <item>QMAKE_FILE_OUT</item>
    <item>QMAKE_LFLAGS</item>
    <item>QMAKE_LFLAGS_SONAME</item>
    <item>QMAKE_RPATHDIR</item>
    <item>QMAKE_SUBSTITUTES</item>
    <item>QT</item>
    <item>QT_CONFIG</item>
    <item>QT_MAJOR_VERSION</item>
    <item>QT_MINOR_VERSION</item>
    <item>QT_PATCH_VERSION</item>
    <item>RCC_DIR</item>
    <item>RESOURCES</item>
    <item>SOURCES</item>
    <item>SUBDIRS</item>
    <item>TARGET</item>
    <item>TEMPLATE</item>
    <item>UI_DIR</item>
    <item>MOC_DIR</item>
    <item>OBJECTS_DIR</item>
    <item>VPATH</item>
    <!--TODO: add all items from the right panel on
              http://doc.qt.nokia.com/stable/qmake-variable-reference.html
    -->
  </list>
  <list name="functions">
    <item>contains</item>
    <item>defineReplace</item>
    <item>defineTest</item>
    <item>equals</item>
    <item>error</item>
    <item>eval</item>
    <item>greaterThan</item>
    <item>include</item>
    <item>isEmpty</item>
    <item>isEqual</item>
    <item>message</item>
    <item>return</item>
    <item>unset</item>
  </list>
  <list name="systems">
    <item>build_pass</item>
    <item>debug</item>
    <item>debug_and_release</item>
    <item>linux</item>
    <item>macx</item>
    <item>msvc</item>
    <item>release</item>
    <item>unix</item>
    <item>win32</item>
  </list>
  <list name="keywords">
    <item>else</item>
    <item>for</item>
    <item>if</item>
  </list>

  <contexts>
    <context name="normal" attribute="Normal Text" lineEndContext="#stay">
      <keyword attribute="Predefined Variable" String="variables" />
      <keyword attribute="Function" String="functions" />
      <keyword attribute="System" String="systems" />
      <keyword attribute="Keyword" String="keywords" />
      <DetectChar char="#" attribute="Comment" context="Comment" />
      <RegExpr attribute="Variable" context="#stay" String="\$\$?[a-zA-Z0-9_]+" />
      <RegExpr attribute="Variable" context="#stay" String="\$\$\{[^\}]*\}" />
      <RegExpr attribute="Variable" context="#stay" String="\$\$\[[^\]]*\]" />
      <RegExpr attribute="Variable" context="#stay" String="\$\$\([^\)]*\)" />
      <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\" />
      <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="&quot;" />
      <DetectChar char="&quot;" attribute="String" context="String" />
    </context>

    <context name="String" attribute="String" lineEndContext="#stay">
      <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\" />
      <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="&quot;" />
      <DetectChar attribute="String" context="#pop" char="&quot;" />
    </context>
    <context name="Comment" attribute="Comment" lineEndContext="#pop">
      <DetectSpaces />
      <IncludeRules context="##Alerts" />
      <DetectIdentifier />
    </context>
  </contexts>

  <itemDatas>
    <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
    <itemData name="Predefined Variable" defStyleNum="dsDataType" bold="1" spellChecking="false" />
    <itemData name="Variable" defStyleNum="dsDataType" spellChecking="false" />
    <itemData name="Function" defStyleNum="dsFunction" spellChecking="false" />
    <itemData name="System" defStyleNum="dsOthers" spellChecking="false" />
    <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
    <itemData name="String" defStyleNum="dsString" spellChecking="false" />
    <itemData name="Backslash Code" defStyleNum="dsKeyword" bold="1" spellChecking="false" />
    <itemData name="Comment" defStyleNum="dsComment" />
  </itemDatas>
</highlighting>

<general>
  <comments>
      <comment name="singleLine" start="#" />
  </comments>
  <keywords casesensitive="1" />
</general>

</language>
