<document pattern="^.*\.(cpp|c|h|hh|cxx|hpp|cc|m|mm)$">

<item name="options" casecare="1"></item>

<item name="keywords" type="keywords" color="keywords" fontstyle="bold">\b(asm|asm|auto|break|case|catch|catch|class|const|const_cast|const_cast|continue|default|delete|do|dynamic_cast|dynamic_cast|else|enum|explicit|export|extern|false|for|foreach|friend|goto|if|inline|mutable|namespace|namespace|new|noexcept|operator|private|protected|public|register|reinterpret_cast|reinterpret_cast|return|signals|sizeof|slots|static|static_cast|static_cast|struct|switch|template|this|throw|throw|true|try|typedef|typeid|typename|union|using|virtual|volatile|while)\b</item>

<item name="types" type="keywords" color="type">\b(bool|char|double|float|int|long|short|signed|size_t|unsigned|uint|void|wchar_t)\b</item>

<item name="class" type="item" color="class">\bQ[A-Za-z0-9_]+\b</item>

<item name="class" type="item" color="class">\bC[A-Za-z0-9_]+\b</item>

<item name="operator" type="item" color="operator">[-=\+\*\/\|]</item>

<item name="bracket" type="item" color="brackets">[\(\)\[\]]</item>

<item name="include" type="item" color="include" fontstyle="italic">^#include</item>

<item name="label" type="item" color="label" fontstyle="bold">^[a-zA-Z_][a-zA-Z0-9_]*\:$</item>

<item name="preproc" type="item" color="preproc" fontstyle="italic">^#.*</item>

<item name="quotes" type="item" color="quotes">("[^\"]*")</item>

<item name="char" type="item" color="quotes">('[^']*')</item>

<item name="single comment" type="item" color="single comment" fontstyle="italic">//[^\n]*</item>

<item name="mcomment-start" type="mcomment-start" color="mcomment-start" fontstyle="italic">/\*</item>

<item name="mcomment-end" type="mcomment-end">\*/</item>

<item name="cm_mult" type="comment">/*%s*/</item>

<item name="cm_single" type="comment">//%s</item>

</document>
