medit/moo/mooedit/language-specs/idl.lang

133 lines
4.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<language id="idl" _name="IDL" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-idl</property>
<property name="globs">*.idl</property>
<property name="line-comment-start">//</property>
</metadata>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="string" _name="String" map-to="def:string"/>
</styles>
<definitions>
<context id="block-comment" style-ref="comment">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>\/\/</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="sectional" style-ref="preprocessor">
<start>%\{</start>
<end>%\}</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="include-pragma" style-ref="preprocessor" end-at-line-end="true">
<start>^#[ \t]*(include|pragma)</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>attribute</keyword>
<keyword>case</keyword>
<keyword>const</keyword>
<keyword>context</keyword>
<keyword>custom</keyword>
<keyword>default</keyword>
<keyword>exception</keyword>
<keyword>enum</keyword>
<keyword>factory</keyword>
<keyword>FALSE</keyword>
<keyword>in</keyword>
<keyword>inout</keyword>
<keyword>interface</keyword>
<keyword>local</keyword>
<keyword>module</keyword>
<keyword>native</keyword>
<keyword>oneway</keyword>
<keyword>out</keyword>
<keyword>private</keyword>
<keyword>public</keyword>
<keyword>raises</keyword>
<keyword>readonly</keyword>
<keyword>struct</keyword>
<keyword>support</keyword>
<keyword>switch</keyword>
<keyword>TRUE</keyword>
<keyword>truncatable</keyword>
<keyword>typedef</keyword>
<keyword>union</keyword>
<keyword>valuetype</keyword>
</context>
<context id="types" style-ref="data-type">
<keyword>any</keyword>
<keyword>boolean</keyword>
<keyword>char</keyword>
<keyword>double</keyword>
<keyword>fixed</keyword>
<keyword>float</keyword>
<keyword>long</keyword>
<keyword>Object</keyword>
<keyword>octet</keyword>
<keyword>sequence</keyword>
<keyword>short</keyword>
<keyword>string</keyword>
<keyword>unsigned</keyword>
<keyword>ValueBase</keyword>
<keyword>void</keyword>
<keyword>wchar</keyword>
<keyword>wstring</keyword>
</context>
<context id="preprocessor-definitions" style-ref="preprocessor">
<prefix>^[ \t]*#[ \t]*</prefix>
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
</context>
<context id="idl">
<include>
<context ref="block-comment"/>
<context ref="line-comment"/>
<context ref="sectional"/>
<context ref="string"/>
<context ref="include-pragma"/>
<context ref="keywords"/>
<context ref="types"/>
<context ref="preprocessor-definitions"/>
</include>
</context>
</definitions>
</language>