Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Original Author: Sébastien Lavoie <lavoiseb@iro.umontreal.ca>
- Modified By : Austin Byers
- Modified By : Enno Güttler
- This file should be copied to:
- ~/.local/share/gtksourceview-3.0/language-specs/lolcode.lang
- or
- /usr/share/gtksourceview-3.0/language-specs/lolcode.lang
- -->
- <language id="lolcode" _name="LolCode" version="2.0" _section="Scripts">
- <metadata>
- <property name="mimetypes">text/lolcode</property>
- <property name="globs">*.lol</property>
- <property name="line-comment-start">BTW</property>
- <property name="block-comment-start">OBTW</property>
- <property name="block-comment-end">TLDR</property>
- </metadata>
- <styles>
- <style id="comment" _name="Comment" map-to="def:comment"/>
- <style id="error" _name="Error" map-to="def:error"/>
- <style id="escape" _name="Escaped Character" map-to="def:special-char"/>
- <style id="string" _name="String" map-to="def:string"/>
- <style id="keyword" _name="Keyword" map-to="def:keyword"/>
- <style id="operator" _name="Operator" map-to="def:operator"/>
- <style id="type" _name="Data Type" map-to="def:type"/>
- <style id="null-value" _name="Null Value" map-to="def:special-constant"/>
- <style id="boolean" _name="Boolean value" map-to="def:boolean"/>
- <style id="floating-point" _name="Floating point number" map-to="def:floating-point"/>
- <style id="decimal" _name="Decimal number" map-to="def:decimal"/>
- </styles>
- <definitions>
- <context id="cpp-line-comment" style-ref="comment" end-at-line-end="true" extend-parent="false">
- <start>BTW</start>
- <include>
- <context ref="def:in-line-comment"/>
- </include>
- </context>
- <context id="c-block-comment" style-ref="comment">
- <start>OBTW</start>
- <end>TLDR</end>
- <include>
- <context ref="def:in-line-comment"/>
- </include>
- </context>
- <context id="close-comment-outside-comment" style-ref="error">
- <match>TLDR(?!TLDR)</match>
- </context>
- <context id="escape" style-ref="escape">
- <match extended="true">
- :( # leading backslash
- [::"o>)] | # single escaped char
- )
- <!-- currently missing:
- :( <hex> )
- :{ <var> }
- :[ <char name> ] -->
- </match>
- </context>
- <context id="double-quoted-string" style-ref="string" end-at-line-end="true">
- <start>"</start>
- <end>"</end>
- <include>
- <context ref="escape"/>
- </include>
- </context>
- <context id="null_value" style-ref="null-value">
- <keyword>NOOB</keyword>
- </context>
- <context id="keywords" style-ref="keyword">
- <!-- unsorted -->
- <keyword>I HAS A</keyword>
- <keyword>ITZ</keyword>
- <keyword>HOW IZ I</keyword>
- <keyword>IF U SAY SO</keyword>
- <keyword>FOUND YR</keyword>
- <keyword>LIEK</keyword>
- <keyword>KTHX</keyword>
- <keyword>IS NOW A</keyword>
- <keyword>AN</keyword>
- <keyword>MKAY</keyword>
- <keyword>BOTH SAEM</keyword>
- <keyword>DIFFRINT</keyword>
- <keyword>SMOOSH</keyword>
- <keyword>R</keyword>
- <keyword>A</keyword>
- <keyword>IT</keyword>
- <keyword>MAEK</keyword>
- <keyword>,</keyword>
- <keyword>VISIBLE</keyword>
- <keyword>GIMMEH</keyword>
- <keyword>I IZ</keyword>
- <keyword>CAN HAS</keyword>
- <keyword>'Z</keyword>
- <keyword>…</keyword>
- <keyword>SRS</keyword>
- <keyword>ME</keyword>
- <keyword>O HAI IM</keyword>
- <keyword>IM LIEK</keyword>
- <keyword>ITZ LIEK</keyword>
- <keyword>KTHX</keyword>
- <!--<keyword>?</keyword> doesn't work - it's used in CAN HAS STDIO?
- <keyword>?</keyword>-->
- <!--<keyword>...</keyword> doesn't work and breaks other-->
- <!-- If -->
- <keyword>O RLY?</keyword>
- <keyword>YA RLY</keyword>
- <keyword>NO WAI</keyword>
- <keyword>OIC</keyword>
- <keyword>MEBBE</keyword>
- <!-- Switch -->
- <keyword>WTF?</keyword>
- <keyword>OMG</keyword>
- <keyword>OMGWTF</keyword>
- <keyword>GTFO</keyword>
- <!-- Loop -->
- <keyword>IM IN YR</keyword>
- <keyword>IM OUTTA YR</keyword>
- <keyword>YR</keyword>
- <keyword>TIL</keyword>
- <keyword>WILE</keyword>
- <keyword>UPPIN</keyword>
- <keyword>NERFIN</keyword>
- <!-- SOCKETS -->
- <keyword>BIND</keyword>
- <keyword>LISTN</keyword>
- <keyword>GET</keyword>
- <keyword>PUT</keyword>
- <!-- FILEIO -->
- <keyword>OPEN</keyword>
- <keyword>DIAF</keyword>
- <keyword>LUK</keyword>
- <keyword>LEN</keyword>
- <keyword>CLOSE</keyword>
- </context>
- <context id="operators" style-ref="operator" extend-parent="false">
- <keyword>SUM OF</keyword>
- <keyword>PRODUKT OF</keyword>
- <keyword>DIFF OF</keyword>
- <keyword>QUOSHUNT OF</keyword>
- <keyword>BIGGR OF</keyword>
- <keyword>SMALLR OF</keyword>
- <keyword>MOD OF</keyword>
- <keyword>BOTH OF</keyword>
- <keyword>EITHER OF</keyword>
- <keyword>WON OF</keyword>
- <keyword>ALL OF</keyword>
- <keyword>ANY OF</keyword>
- <keyword>NOT</keyword>
- </context>
- <context id="type" style-ref="type">
- <keyword>BUKKIT</keyword>
- <keyword>TROOF</keyword>
- <keyword>NUMBR</keyword>
- <keyword>NUMBAR</keyword>
- <keyword>YARN</keyword>
- </context>
- <context id="boolean" style-ref="boolean">
- <keyword>FAIL</keyword>
- <keyword>WIN</keyword>
- </context>
- <context id="float" style-ref="floating-point">
- <match extended="true">
- (?<![\w\.])
- [+-]?([0-9]+[Ee][+-]?[0-9]+ |
- ([0-9]*\.[0-9]+ | [0-9]+\.[0-9]*)([Ee][+-]?[0-9]+)?)
- (?![\w\.])
- </match>
- </context>
- <context id="decimal-number" style-ref="decimal">
- <match extended="true">
- (?<![\w\.])
- [+-]?([1-9][0-9]*|0)
- (?![\w\.])
- </match>
- </context>
- <context id="lol-block">
- <start>HAI</start>
- <end>KTHXBYE</end>
- <include>
- <context sub-pattern="0" where="start" style-ref="keyword"/>
- <context sub-pattern="0" where="end" style-ref="keyword"/>
- <context ref="cpp-line-comment"/>
- <context ref="c-block-comment"/>
- <context ref="double-quoted-string"/>
- <context ref="keywords"/>
- <context ref="operators"/>
- <context ref="type"/>
- <context ref="boolean"/>
- <context ref="float"/>
- <context ref="decimal-number"/>
- <context ref="null_value"/>
- </include>
- </context>
- <replace id="html:embedded-lang-hook" ref="lol-block"/>
- <context id="lolcode">
- <include>
- <context ref="lol-block"/>
- <context ref="html:html"/>
- </include>
- </context>
- </definitions>
- </language>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement