Skip to content

Instantly share code, notes, and snippets.

@eddyb
Created September 23, 2012 09:32

Revisions

  1. eddyb revised this gist Sep 23, 2012. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion go.xml
    Original file line number Diff line number Diff line change
    @@ -145,6 +145,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
    <HlCStringChar attribute="String Char" context="#stay"/>
    <DetectChar attribute="String" context="#pop" char="`"/>
    </context>

    <context name="region_marker" attribute="Region Marker" lineEndContext="#pop" >
    <DetectIdentifier/>
    <DetectSpaces/>
    </context>
    </contexts>
    <itemDatas>
    <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
    @@ -170,4 +175,4 @@ with this program; if not, write to the Free Software Foundation, Inc.,
    </comments>
    <keywords casesensitive="1" additionalDeliminator="'&quot;" />
    </general>
    </language>
    </language>
  2. eddyb created this gist Sep 23, 2012.
    173 changes: 173 additions & 0 deletions go.xml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,173 @@
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE language SYSTEM "language.dtd">

    <!--
    This file is part of KDE's Kate project
    GO.XML supports syntax highlighting for the Go programming language
    under Kate. Go is a compiled, garbage-collected, concurrent programming
    language developed by Google Inc.
    Copyright (C) 2010, Miquel Sabaté <[email protected]>
    This program, including associated files, is free software. You may
    distribute it and/or modify it under the terms of the GNU General Public
    License as published by the Free Software Foundation; either Version 2 of
    the license, or (at your option) any later version.
    This program 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 General Public License
    for more details.
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    -->


    <language name="Go" version="1.01" kateversion="2.4" section="Sources" indenter="cstyle" extensions="*.go" author="Miquel Sabaté ([email protected])" license="GPL">
    <highlighting>
    <list name="keywords">
    <!-- Keywords have been taken from The Go Programming Language Specification -> Keywords section -->
    <item>break</item>
    <item>case</item>
    <item>chan</item>
    <item>const</item>
    <item>continue</item>
    <item>default</item>
    <item>defer</item>
    <item>else</item>
    <item>fallthrough</item>
    <item>for</item>
    <item>func</item>
    <item>go</item>
    <item>goto</item>
    <item>if</item>
    <item>import</item>
    <item>interface</item>
    <item>map</item>
    <item>package</item>
    <item>range</item>
    <item>return</item>
    <item>select</item>
    <item>struct</item>
    <item>switch</item>
    <item>type</item>
    <item>var</item>
    </list>
    <list name="types">
    <item>bool</item>
    <item>byte</item>
    <item>complex64</item>
    <item>complex128</item>
    <item>error</item>
    <item>float</item>
    <item>float32</item>
    <item>float64</item>
    <item>int</item>
    <item>int8</item>
    <item>int16</item>
    <item>int32</item>
    <item>int64</item>
    <item>rune</item>
    <item>string</item>
    <item>uint</item>
    <item>uint8</item>
    <item>uint16</item>
    <item>uint32</item>
    <item>uint64</item>
    </list>
    <list name="builtin">
    <item> append </item>
    <item> cap </item>
    <item> close </item>
    <item> complex </item>
    <item> copy </item>
    <item> imag </item>
    <item> len </item>
    <item> make </item>
    <item> new </item>
    <item> panic </item>
    <item> print </item>
    <item> println </item>
    <item> real </item>
    <item> recover </item>
    </list>
    <list name="predeclared">
    <item>false</item>
    <item>nil</item>
    <item>true</item>
    <item>iota</item>
    </list>
    <contexts>
    <context name="normal" attribute="Normal Text" lineEndContext="#stay">
    <StringDetect attribute="Region Marker" context="region_marker" String="//BEGIN" beginRegion="Region1" />
    <StringDetect attribute="Region Marker" context="region_marker" String="//END" endRegion="Region1" />
    <keyword attribute="Keyword" context="#stay" String="keywords" />
    <keyword attribute="Predeclared Identifier" context="#stay" String="predeclared" />
    <keyword attribute="Data Type" context="#stay" String="types" />
    <keyword attribute="Builtin Function" context="#stay" String="builtin" />
    <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
    <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
    <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/" />
    <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" />
    <HlCOct attribute="Octal" context="#stay"/>
    <HlCHex attribute="Hex" context="#stay"/>
    <HlCChar attribute="Char" context="#stay" />
    <DetectChar attribute="String" context="String" char="&quot;" />
    <DetectChar attribute="Multiline String" context="Multiline String" char="`"/>
    <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
    </context>

    <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
    <LineContinue attribute="Comment" context="#stay"/>
    <DetectSpaces />
    <IncludeRules context="##Alerts" />
    <DetectIdentifier />
    </context>

    <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
    <DetectSpaces />
    <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
    <IncludeRules context="##Alerts" />
    <DetectIdentifier />
    </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="String" lineEndContext="#stay" name="Multiline String">
    <LineContinue attribute="String" context="#stay"/>
    <HlCStringChar attribute="String Char" context="#stay"/>
    <DetectChar attribute="String" context="#pop" char="`"/>
    </context>
    </contexts>
    <itemDatas>
    <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
    <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
    <itemData name="Predeclared Identifier" defStyleNum="dsOthers" spellChecking="false" />
    <itemData name="Builtin Function" defStyleNum="dsFunction" spellChecking="false" />
    <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
    <itemData name="String Char" defStyleNum="dsChar" />
    <itemData name="String" defStyleNum="dsString" />
    <itemData name="Comment" defStyleNum="dsComment" />
    <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
    <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
    <itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
    <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
    <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
    <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" />
    </itemDatas>
    </highlighting>
    <general>
    <comments>
    <comment name="singleLine" start="//" />
    <comment name="multiLine" start="/*" end="*/" region="Comment"/>
    </comments>
    <keywords casesensitive="1" additionalDeliminator="'&quot;" />
    </general>
    </language>