Commit f6cc172d authored by Leandro Melo's avatar Leandro Melo
Browse files

Initial code for the generic highlighter.

parent 65124a6b
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/css">
<sub-class-of type="text/plain"/>
<comment>CSS file</comment>
<glob pattern="*.css"/>
</mime-type>
<mime-type type="text/x-fortran">
<sub-class-of type="text/plain"/>
<comment>Fortran file</comment>
<glob pattern="*.f90"/>
</mime-type>
<mime-type type="text/html">
<sub-class-of type="text/plain"/>
<comment>HTML file</comment>
<glob pattern="*.htm"/>
<glob pattern="*.html"/>
<glob pattern="*.shtml"/>
</mime-type>
<mime-type type="text/x-java">
<sub-class-of type="text/plain"/>
<comment>Java file</comment>
<glob pattern="*.java"/>
</mime-type>
<mime-type type="application/x-javascript">
<sub-class-of type="text/plain"/>
<comment>Javascript file</comment>
<glob pattern="*.js"/>
</mime-type>
<mime-type type="application/x-perl">
<sub-class-of type="text/plain"/>
<comment>Perl file</comment>
<glob pattern="*.pl"/>
<glob pattern="*.pm"/>
</mime-type>
<mime-type type="application/x-php">
<sub-class-of type="text/plain"/>
<comment>PHP file</comment>
<glob pattern="*.php"/>
</mime-type>
<mime-type type="text/x-python">
<sub-class-of type="text/plain"/>
<comment>Python file</comment>
<glob pattern="*.py"/>
</mime-type>
<mime-type type="text/x-ruby">
<sub-class-of type="text/plain"/>
<comment>Ruby file</comment>
<glob pattern="*.rb"/>
</mime-type>
<mime-type type="text/x-sql">
<sub-class-of type="text/plain"/>
<comment>SQL file</comment>
<glob pattern="*.sql"/>
</mime-type>
<mime-type type="application/x-tcl">
<sub-class-of type="text/plain"/>
<comment>TCL file</comment>
<glob pattern="*.tcl"/>
</mime-type>
<mime-type type="text/x-csrc">
<sub-class-of type="text/plain"/>
<comment>C Source file</comment>
<glob pattern="*.c"/>
<!-- NVIDIA CUDA files are like C -->
<glob pattern="*.cu"/>
</mime-type>
<!-- A C Header file is virtually undistinguishable from the C++ header -->
<mime-type type="text/x-chdr">
<sub-class-of type="text/x-csrc"/>
<comment>C Header file</comment>
<glob pattern="*.h"/>
</mime-type>
<!-- Those are used to find matching headers by the CppTools plugin,
so, they should match -->
<mime-type type="text/x-c++hdr">
<sub-class-of type="text/x-chdr"/>
<comment>C++ Header file</comment>
<comment>C++ header</comment>
<glob pattern="*.h"/>
<glob pattern="*.hh"/>
<glob pattern="*.hxx"/>
<glob pattern="*.h++"/>
<glob pattern="*.H"/>
<glob pattern="*.hpp"/>
<glob pattern="*.hp"/>
<!-- Find include guards of header files without extension, for
example, STL ones like <string> -->
<magic priority="50">
<match value="#ifndef" type="string" offset="0:1000"/>
</magic>
</mime-type>
<mime-type type="text/x-c++src">
<comment>C++ Source file</comment>
<sub-class-of type="text/x-csrc"/>
<comment>C++ source code</comment>
<glob pattern="*.cpp"/>
<glob pattern="*.cp"/>
<glob pattern="*.cc"/>
<glob pattern="*.cxx"/>
<glob pattern="*.c++"/>
<glob pattern="*.C"/>
<glob pattern="*.inl"/>
<glob pattern="*.moc"/>
<glob pattern="*.qdoc"/>
</mime-type>
<mime-type type="text/x-objcsrc">
<comment>Objective-C source code</comment>
<sub-class-of type="text/x-csrc"/>
<magic priority="30">
<match value="#import" type="string" offset="0"/>
</magic>
<glob pattern="*.m"/>
<glob pattern="*.mm"/>
</mime-type>
</mime-info>
<plugin name="GenericEditor" version="1.3.84" compatVersion="1.3.84">
<vendor>Nokia Corporation</vendor>
<copyright>(C) 2010 Nokia Corporation</copyright>
<license>
Commercial Usage
Licensees holding valid Qt Commercial licenses may use this plugin in accordance with the Qt Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Nokia.
GNU Lesser General Public License Usage
Alternatively, this plugin may be used under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation. Please review the following information to ensure the GNU Lesser General Public License version 2.1 requirements will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
</license>
<category>Qt Creator</category>
<description>Generic editor with highlighting for a variety of languages.</description>
<url>http://qt.nokia.com</url>
<dependencyList>
<dependency name="Core" version="1.3.84"/>
<dependency name="TextEditor" version="1.3.84"/>
</dependencyList>
</plugin>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
This file is part of KDE's kate project.
copyright : (C) 2004 by Dominik Haumann
email : dhdev at gmx dot de
**********************************************************************
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; if not, write to the *
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
**********************************************************************
This file is included in every file that highlights the "alerts" keywords.
That's why extensions and mimetype are empty.
-->
<language version="1.08" kateversion="2.3" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
<highlighting>
<list name="alerts">
<item> ### </item>
<item> ALERT </item>
<item> BUG </item>
<item> DANGER </item>
<item> DEPRECATED </item>
<item> FIXME </item>
<item> HACK </item>
<item> NOTE </item>
<item> NOTICE </item>
<item> SECURITY </item>
<item> TASK </item>
<item> TEST </item>
<item> TESTING </item>
<item> TODO </item>
<item> WARNING </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
<keyword attribute="Alert" context="#stay" String="alerts" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Alert" defStyleNum="dsAlert"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1"/>
</general>
</language>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="C" section="Sources"
version="1.42" kateversion="2.4"
indenter="cstyle"
extensions="*.c;*.C;*.h"
mimetype="text/x-csrc;text/x-c++src;text/x-chdr"
priority="5">
<!--
##########################################################################
## Fixes by Sebastian Pipping (webmaster@hartwork.org)
##
## NOTE: Keep in sync with C++ highlighter! (cpp.xml)
##########################################################################
-->
<highlighting>
<list name="keywords">
<item> break </item>
<item> case </item>
<item> continue </item>
<item> default </item>
<item> do </item>
<item> else </item>
<item> enum </item>
<item> extern </item>
<item> for </item>
<item> goto </item>
<item> if </item>
<item> inline </item>
<item> return </item>
<item> sizeof </item>
<item> struct </item>
<item> switch </item>
<item> typedef </item>
<item> union </item>
<item> while </item>
</list>
<list name="types">
<item> auto </item>
<item> char </item>
<item> const </item>
<item> double </item>
<item> float </item>
<item> int </item>
<item> long </item>
<item> register </item>
<item> restrict </item>
<item> short </item>
<item> signed </item>
<item> static </item>
<item> unsigned </item>
<item> void </item>
<item> volatile </item>
<item> int8_t </item>
<item> int16_t </item>
<item> int32_t </item>
<item> int64_t </item>
<item> uint8_t </item>
<item> uint16_t </item>
<item> uint32_t </item>
<item> uint64_t </item>
<item> wchar_t </item>
<item> _Imaginary </item>
<item> _Complex </item>
<item> _Bool </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
<DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Data Type" context="#stay" String="types"/>
<DetectIdentifier />
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
<Float attribute="Float" context="#stay">
<AnyChar String="fF" attribute="Float" context="#stay"/>
</Float>
<HlCOct attribute="Octal" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<Int attribute="Decimal" context="#stay" >
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
</Int>
<HlCChar attribute="Char" context="#stay"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
<LineContinue attribute="Comment" context="#stay"/>
<IncludeRules context="##Alerts" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
<IncludeRules context="##Alerts" />
</context>
<context attribute="Error" lineEndContext="#pop" name="AfterHash">
<!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
<LineContinue attribute="Preprocessor" context="#stay"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Define">
<LineContinue attribute="Preprocessor" context="#stay"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="Prep. Lib" defStyleNum="dsOthers"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
<itemData name="Alert" defStyleNum="dsAlert" />
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
<itemData name="Error" defStyleNum="dsError" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" />
</comments>
<keywords casesensitive="1" additionalDeliminator="'&quot;" />
</general>
</language>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="C++" section="Sources"
version="1.44" kateversion="2.4"
indenter="cstyle"
mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"
extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc"
priority="9">
<!--
##########################################################################
## Fixes by Sebastian Pipping (webmaster@hartwork.org)
##
## NOTE: Keep in sync with C highlighter! (c.xml)
##########################################################################
-->
<highlighting>
<list name="keywords">
<item> asm </item>
<item> break </item>
<item> case </item>
<item> catch </item>
<item> class </item>
<item> const_cast </item>
<item> continue </item>
<item> default </item>
<item> delete </item>
<item> do </item>
<item> dynamic_cast</item>
<item> else </item>
<item> enum </item>
<item> explicit </item>
<item> export </item>
<item> extern </item>
<item> false </item>
<item> friend </item>
<item> for </item>
<item> goto </item>
<item> if </item>
<item> inline </item>
<item> namespace </item>
<item> new </item>
<item> operator </item>
<item> private </item>
<item> protected </item>
<item> public </item>
<item> qobject_cast </item>
<item> reinterpret_cast </item>
<item> return </item>
<item> sizeof </item>
<item> static_cast </item>
<item> struct </item>
<item> switch </item>
<item> template </item>
<item> this </item>
<item> throw </item>
<item> true </item>
<item> try </item>
<item> typedef </item>
<item> typeid </item>
<item> type_info </item>
<item> typename </item>
<item> union </item>
<item> using </item>
<item> virtual </item>
<item> while </item>
<item> and </item>
<item> and_eq </item>
<item> bad_cast </item>
<item> bad_typeid </item>
<item> bitand </item>
<item> bitor </item>
<item> compl </item>
<item> not </item>
<item> not_eq </item>
<item> or </item>
<item> or_eq </item>
<item> xor </item>
<item> xor_eq </item>
<item> except </item>
<item> finally </item>
<item> xalloc </item>
</list>
<list name="extensions">
<item> K_DCOP </item>
<item> Q_ARG </item>
<item> Q_ASSERT </item>
<item> Q_ASSERT_X </item>
<item> Q_CHECK_PTR </item>
<item> Q_CLASSINFO </item>
<item> Q_CLEANUP_RESOURCE </item>
<item> Q_D </item>
<item> Q_DECLARE_FLAGS </item>
<item> Q_DECLARE_FLAGS </item>
<item> Q_DECLARE_INTERFACE </item>
<item> Q_DECLARE_METATYPE </item>
<item> Q_DECLARE_OPERATORS_FOR_FLAGS </item>
<item> Q_DECLARE_PRIVATE </item>
<item> Q_DECLARE_PUBLIC </item>
<item> Q_DECLARE_SHARED </item>
<item> Q_DECLARE_TYPEINFO </item>
<item> Q_DISABLE_COPY </item>
<item> Q_ENUMS </item>
<item> Q_EXPORT </item>
<item> Q_FLAGS </item>
<item> Q_FOREACH </item>
<item> Q_FOREVER </item>
<item> Q_GADGET </item>
<item> Q_GLOBAL_STATIC </item>
<item> Q_GLOBAL_STATIC_WITH_ARGS </item>
<item> Q_INIT_RESOURCE </item>
<item> Q_INTERFACES </item>
<item> Q_INVOKABLE </item>
<item> Q_NOREPLY </item>
<item> Q_OBJECT </item>
<item> Q_OVERRIDE </item>
<item> Q_PRIVATE_SLOT </item>
<item> Q_PROPERTY </item>
<item> Q_Q </item>
<item> Q_RETURN_ARG </item>
<item> Q_SCRIPTABLE </item>
<item> Q_SETS </item>
<item> Q_SIGNALS </item>
<item> Q_SLOTS </item>
<item> Q_UNUSED </item>
<item> SIGNAL </item>
<item> SLOT </item>
<item> TRUE </item>
<item> FALSE </item>
<item> connect </item>
<item> disconnect </item>
<item> emit </item>
<item> signals </item>
<item> slots </item>
<item> foreach </item>
<item> forever </item>
<item> qint8 </item>
<item> qint16 </item>
<item> qint32 </item>
<item> qint64 </item>
<item> qlonglong </item>
<item> qptrdiff </item>
<item> qreal </item>
<item> quint8 </item>
<item> quint16 </item>
<item> quint32 </item>
<item> quint64 </item>
<item> quintptr </item>
<item> qulonglong </item>
</list>
<list name="types">
<item> auto </item>
<item> bool </item>
<item> char </item>
<item> const </item>
<item> double </item>
<item> float </item>
<item> int </item>
<item> long </item>
<item> mutable </item>
<item> register </item>
<item> short </item>
<item> signed </item>
<item> static </item>
<item> unsigned </item>
<item> void </item>
<item> volatile </item>
<item> uchar </item>
<item> uint </item>
<item> int8_t </item>
<item> int16_t </item>
<item> int32_t </item>
<item> int64_t </item>
<item> uint8_t </item>
<item> uint16_t </item>
<item> uint32_t </item>
<item> uint64_t </item>
<item> wchar_t </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
<DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Extensions" context="#stay" String="extensions" />
<keyword attribute="Data Type" context="#stay" String="types" />
<HlCChar attribute="Char" context="#stay"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<DetectIdentifier />
<Float attribute="Float" context="#stay">
<AnyChar String="fF" attribute="Float" context="#stay"/>