<?xml version="1.0"?>
<!--
		Bluefish HTML Editor
		d.bflang2 $Revision: 8821 $

		P15 Olivier Sessink

	    This program is free software: you can redistribute it and/or modify
		it under the terms of the GNU General Public License as published by
		the Free Software Foundation, either version 3 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, see <http://www.gnu.org/licenses/>.
-->

<bflang name="D" version="2.0" matches="113" contexts="5">
<header>
	<mime type="text/x-dsrc" />
	<option name="show_in_menu" default="1"/>
	<option name="Parentheses block_foldable" default="0" description="Allow folding of the Parentheses block" />
	<highlight name="keyword" style="keyword" />
	<highlight name="brackets" style="brackets" />
	<highlight name="type" style="type" />
	<highlight name="comment" style="comment" />
	<highlight name="string" style="string" />
	<highlight name="value" style="value" />
	<highlight name="preprocessor" style="preprocessor" />
</header>

<properties>
	<smartindent characters="{" />
	<smartoutdent characters="}" />
	<smartselection characters="_" />
</properties>
<definition>
<context symbols=" ;(){}[]:\&#34;\\',&gt;&lt;*&amp;^%!+=-|/?#&#9;&#10;&#13;">

<group highlight="keyword" >
	<autocomplete enable="1" />
	<element pattern="abstract"/>
	<element pattern="alias"/>
	<element pattern="align"/>
	<element pattern="asm"/>
	<element pattern="assert"/>
	<element pattern="auto"/>
	<element pattern="body"/>
	<element pattern="break"/>
	<element pattern="case"/>
	<element pattern="cast"/>
	<element pattern="catch"/>
	<element pattern="class"/>
	<element pattern="const"/>
	<element pattern="debug"/>
	<element pattern="default"/>
	<element pattern="delete"/>
	<element pattern="deprecated"/>
	<element pattern="do"/>
	<element pattern="else"/>
	<element pattern="enum"/>
	<element pattern="export"/>
	<element pattern="extern"/>
	<element pattern="final"/>
	<element pattern="finally"/>
	<element pattern="for"/>
	<element pattern="foreach"/>
	<element pattern="foreach_reverse"/>
	<element pattern="function"/>
	<element pattern="goto"/>
	<element pattern="if"/>
	<element pattern="import"/>
	<element pattern="in"/>
	<element pattern="inout"/>
	<element pattern="interface"/>
	<element pattern="invariant"/>
	<element pattern="is"/>
	<element pattern="lazy"/>
	<element pattern="mixin"/>
	<element pattern="module"/>
	<element pattern="new"/>
	<element pattern="out"/>
	<element pattern="override"/>
	<element pattern="package"/>
	<element pattern="pragma"/>
	<element pattern="private"/>
	<element pattern="protected"/>
	<element pattern="public"/>
	<element pattern="return"/>
	<element pattern="scope"/>
	<element pattern="sizeof"/>
	<element pattern="static"/>
	<element pattern="struct"/>
	<element pattern="switch"/>
	<element pattern="synchronized"/>
	<element pattern="template"/>
	<element pattern="throw"/>
	<element pattern="try"/>
	<element pattern="typedef"/>
	<element pattern="typeid"/>
	<element pattern="union"/>
	<element pattern="unittest"/>
	<element pattern="version"/>
	<element pattern="void"/>
	<element pattern="volatile"/>
	<element pattern="while"/>
	<element pattern="with"/>
</group>

<group highlight="type" >
	<autocomplete enable="1" />
	<element pattern="bit"/>
	<element pattern="bool"/>
	<element pattern="byte"/>
	<element pattern="cdouble"/>
	<element pattern="cent"/>
	<element pattern="cfloat"/>
	<element pattern="char"/>
	<element pattern="creal"/>
	<element pattern="delegate"/>
	<element pattern="dchar"/>
	<element pattern="double"/>
	<element pattern="float"/>
	<element pattern="idouble"/>
	<element pattern="ifloat"/>
	<element pattern="int"/>
	<element pattern="ireal"/>
	<element pattern="long"/>
	<element pattern="real"/>
	<element pattern="short"/>
	<element pattern="ubyte"/>
	<element pattern="uint"/>
	<element pattern="ulong"/>
	<element pattern="ushort"/>
	<element pattern="wchar"/>
</group>

<group highlight="preprocessor" >
	<autocomplete enable="1" />
	<element pattern="true" />
	<element pattern="false" />
	<element pattern="null" />
	<element pattern="super" />
	<element pattern="this" />
</group>

<element pattern="&#34;" highlight="string">
	<context symbols="\&#34;nrt" highlight="string">
		<element pattern="\\." is_regex="1" highlight="string" />
		<element pattern="&#34;" highlight="string" ends_context="1" />
	</context>
</element>

<element pattern="'" highlight="string">
	<context symbols="\'" highlight="string">
		<element pattern="\\." is_regex="1" highlight="string" />
		<element pattern="'" highlight="string" ends_context="1" />
	</context>
</element>

<element id="e.lbrace" pattern="{" starts_block="1" highlight="brackets" block_name="Curly brackets block"/>
<element pattern="}" ends_block="1" blockstartelement="e.lbrace" highlight="brackets" />

<element id="e.lbracket" pattern="[" starts_block="1" highlight="brackets" />
<element pattern="]" ends_block="1" blockstartelement="e.lbracket" highlight="brackets" />

<element id="e.lparen" pattern="(" starts_block="1" highlight="brackets" block_name="Parentheses block" />
<element pattern=")" ends_block="1" blockstartelement="e.lparen" highlight="brackets" />

<element id="e.lcomment" pattern="/*" starts_block="1" highlight="comment" block_name="C style comment">
	<context symbols="*/&#9;&#10;&#13;" highlight="comment">
		<element pattern="*/" ends_block="1" blockstartelement="e.lcomment" highlight="comment" ends_context="1" />
	</context>
</element>

<element pattern="//[^&#10;&#13;]*" is_regex="1" highlight="comment"/>

<group highlight="value">
	<element pattern="[0-9]+\.[0-9]+" is_regex="1" highlight="value" />
	<element pattern="[0-9]+" is_regex="1" highlight="value" />
	<element pattern="0x[0-9a-fA-F]+" is_regex="1"/>
</group>

</context>
</definition>
</bflang>
