<?xml version="1.0" encoding="UTF-8"?>
<Scheme>
	<keyword-classes>
		<keyword-class name="cpp">
			asm auto bool break case catch char class const const_cast continue
			default delete do double dynamic_cast else enum explicit export extern false float for
			friend goto if inline int long mutable namespace new operator private protected public
			register reinterpret_cast return short signed sizeof static static_cast struct switch
			template this throw true try typedef typeid typename union unsigned using
			virtual void volatile wchar_t while and and_eq bitand bitor compl not not_eq or
			or_eq xor xor_eq
		</keyword-class>
		<keyword-class name="doxygen">
			a addindex addtogroup anchor arg attention
			author b brief bug c class code date def defgroup deprecated dontinclude
			e em endcode endhtmlonly endif endlatexonly endlink endverbatim enum example exception
			f$ f[ f] file fn hideinitializer htmlinclude htmlonly
			if image include ingroup internal invariant interface latexonly li line link
			mainpage name namespace nosubgrouping note overload
			p page par param post pre ref relates remarks return retval
			sa section see showinitializer since skip skipline struct subsection
			test throw todo typedef union until
			var verbatim verbinclude version warning weakgroup $ @ \ &amp; &lt; &gt; # { }
		</keyword-class>
		<keyword-class name="csharp">
			abstract as base bool break byte case catch char checked class
			const continue decimal default delegate do double else enum
			event explicit extern false finally fixed float for foreach get goto if
			implicit in int interface internal is lock long namespace new null
			object operator out override params partial private protected public
			readonly ref return sbyte sealed set short sizeof stackalloc static
			string struct switch this throw true try typeof uint ulong
			unchecked unsafe ushort using virtual void while
		</keyword-class>
		<keyword-class name="java">
			abstract assert boolean break byte case catch char class const
			continue default do double else extends final finally float for future
			generic goto if implements import inner instanceof int interface long
			native new null operator outer package private protected public rest
			return short static super switch synchronized this throw throws
			transient try var void volatile while
		</keyword-class>
		<keyword-class name="idl">
			aggregatable allocate appobject arrays async async_uuid
			auto_handle
			bindable boolean broadcast byte byte_count
			call_as callback char coclass code comm_status
			const context_handle context_handle_noserialize
			context_handle_serialize control cpp_quote custom
			decode default defaultbind defaultcollelem
			defaultvalue defaultvtable dispinterface displaybind dllname
			double dual
			enable_allocate encode endpoint entry enum error_status_t
			explicit_handle
			fault_status first_is float
			handle_t heap helpcontext helpfile helpstring
			helpstringcontext helpstringdll hidden hyper
			id idempotent ignore iid_as iid_is immediatebind implicit_handle
			import importlib in include in_line int __int64 __int3264 interface
			last_is lcid length_is library licensed local long
			max_is maybe message methods midl_pragma
			midl_user_allocate midl_user_free min_is module ms_union
			ncacn_at_dsp ncacn_dnet_nsp ncacn_http ncacn_ip_tcp
			ncacn_nb_ipx ncacn_nb_nb ncacn_nb_tcp ncacn_np
			ncacn_spx ncacn_vns_spp ncadg_ip_udp ncadg_ipx ncadg_mq
			ncalrpc nocode nonbrowsable noncreatable nonextensible notify
			object odl oleautomation optimize optional out out_of_line
			pipe pointer_default pragma properties propget propput propputref
			ptr public
			range readonly ref represent_as requestedit restricted retval
			shape short signed size_is small source strict_context_handle
			string struct switch switch_is switch_type
			transmit_as typedef
			uidefault union unique unsigned user_marshal usesgetlasterror uuid
			v1_enum vararg version void wchar_t wire_marshal
		</keyword-class>
		<keyword-class name="jsunsure">
			undefined
		</keyword-class>
	</keyword-classes>
	
	<!-- base scheme for C++ style languages -->
	<base-language name="cppbase">
		<lexer name="cpp" />
		<property name="lexer.cpp.track.preprocessor" value="0" />
		<use-styles>
			<style name="Default" key="32" />
			<style name="Whitespace" key="0" class="whitespace" />
			<style name="Comment" key="1" class="commentbox"/>
			<style name="Comment Line" key="2" class="commentline"/>
			
			<style name="Number" key="4" class="number"/>
			<style name="Keyword" key="5" class="keyword"/>
			<style name="String" key="6" class="string"/>
			<style name="Character" key="7" class="string"/>
			
			<style name="Operator" key="10" bold="true"/>
			<style name="Identifier" key="11" />
			<style name="End of line string" key="12" fore="000000" back="e0c0e0" eolfilled="true"/>
		</use-styles>
	</base-language>
	
	<language base="cppbase" name="cpp" title="C / C++" folding="true" foldcomments="true" foldelse="true" foldcompact="true" foldpreproc="true">
		<lexer name="cpp" />
		<property name="lexer.cpp.track.preprocessor" value="0" />
		<comments line="//" streamStart="/*" streamEnd="*/" blockStart="/**" blockLine=" *" blockEnd=" */" />
		<use-keywords>
			<keyword key="0" name="Keywords" class="cpp"/>
			<keyword key="2" name="Doxygen Keywords" class="doxygen"/>
		</use-keywords>
		<use-styles>
			<style name="Doc Comments" key="3" class="commentdoc"/>
			<style name="UUID" key="8" fore="804080"/>
			<style name="Preprocessor" key="9" class="preprocessor"/>
			<style name="Verbatim" key="13" fore="007f00" back="e0ffe0" eolfilled="true"/>
			<style name="RegEx" key="14" fore="3f7f3f" back="e0f0ff" eolfilled="true"/>
			<style name="Comment Line Doc" key="15" class="commentdoc"/>
			<style name="Keywords 2" key="16" fore="b00040"/>
			<style name="Comment Doc Keyword" key="17" class="commentdoc" fore="3060a0"/>
			<style name="Unknown Comment Doc Keyword" key="18" class="commentdoc" fore="804020"/>
		</use-styles>
	</language>
	
	<language base="cppbase" name="idl" title="IDL" folding="true">
	    <property name="lexer.cpp.track.preprocessor" value="0" />
		<use-keywords>
			<keyword key="0" name="Keywords" class="idl" />
		</use-keywords>
	</language>

	<language base="cppbase" name="javascript" title="JavaScript" folding="true" foldcomments="true" foldelse="true" foldcompact="true">
		<comments line="//" streamStart="/*" streamEnd="*/" blockStart="/**" blockLine=" *" blockEnd=" */" />
		<property name="lexer.cpp.track.preprocessor" value="0" />
		<use-keywords>
			<keyword key="0" name="Keywords" class="javascript"/>
			<keyword key="1" name="Keywords 2" class="jsunsure"/>
		</use-keywords>
		<use-styles>
			<style name="Doc Comments" key="3" class="commentdoc"/>
			<style name="RegEx" key="14" fore="3f7f3f" back="e0f0ff" eolfilled="true"/>
			<style name="Comment Line Doc" key="15" class="commentdoc"/>
			<style name="Keywords 2" key="16" fore="b00040"/>
		</use-styles>
	</language>

	<language base="cppbase" name="csharp" title="C#" folding="true" foldcomments="true" foldelse="true" foldcompact="true" foldpreproc="true">
		<comments line="//" streamStart="/*" streamEnd="*/" blockStart="/**" blockLine=" *" blockEnd=" */" />
		<property name="lexer.cpp.track.preprocessor" value="0" />
		<use-keywords>
			<keyword key="0" name="Keywords" class="csharp"/>
		</use-keywords>
		<use-styles>
			<style name="Doc Comments" key="3" class="commentdoc"/>
			<style name="UUID" key="8" fore="804080"/>
			<style name="Preprocessor" key="9" class="preprocessor"/>
			<style name="Verbatim" key="13" fore="007f00" back="e0ffe0" eolfilled="true"/>
			<style name="RegEx" key="14" fore="3f7f3f" back="e0f0ff" eolfilled="true"/>
			<style name="Comment Line Doc" key="15" class="commentdoc"/>
			<style name="Keywords 2" key="16" fore="b00040"/>
			
			<!--<style name="Comment Doc Keyword" key="17" class="commentdoc" fore="3060a0"/>
			<style name="Unknown Comment Doc Keyword" key="18" class="commentdoc" fore="804020"/>-->
		</use-styles>
	</language>
	
	<language base="cppbase" name="java" title="Java" folding="true" foldcomments="true" foldelse="true" foldcompact="true">
		<comments line="//" streamStart="/*" streamEnd="*/" blockStart="/**" blockLine=" *" blockEnd=" */" />
		<property name="lexer.cpp.track.preprocessor" value="0" />
		<use-keywords>
			<keyword key="0" name="Keywords" class="java"/>
		</use-keywords>
		<use-styles>
			<style name="Doc Comments" key="3" class="commentdoc"/>
			<style name="UUID" key="8" fore="804080"/>
			<style name="Comment Line Doc" key="15" class="commentdoc"/>
			<style name="Keywords 2" key="16" fore="b00040"/>
			<style name="Comment Doc Keyword" key="17" class="commentdoc" fore="3060a0"/>
			<style name="Unknown Comment Doc Keyword" key="18" class="commentdoc" fore="804020"/>
			
			<!--<style name="Preprocessor" key="9" class="preprocessor"/>
			<style name="Verbatim" key="13" fore="007f00" back="e0ffe0" eolfilled="true"/>
			<style name="RegEx" key="14" fore="3f7f3f" back="e0f0ff" eolfilled="true"/>-->
		</use-styles>
	</language>
</Scheme>