<?xml version="1.0" encoding="UTF-8"?>
<EdnLang version="0.1" lang="C/C++">
	<ext>CMakeLists.txt</ext>
	<ext>CMakeCache.txt</ext>
	<pass1>
		<rule name="my comment doxygen">
			<color>commentDoxygen</color>
			<start>##</start>
			<end>\n</end>
		</rule>
		<rule name="my todo comment">
			<color>SYNTAX_ERROR</color>
			<start>#[ \t]TODO[ \t]*:</start>
			<end>\n</end>
			<EscapeChar>\</EscapeChar>
		</rule>
		<rule name="my comment">
			<color>comment</color>
			<start>#</start>
			<end>\n</end>
			<EscapeChar>\</EscapeChar>
		</rule>
		<rule name="doubleQuteText">
			<color>doubleQuoteText</color>
			<start>"</start>
			<end>"</end>
			<EscapeChar>\</EscapeChar>
		</rule>
	</pass1>
	<pass2> <!-- Parse on display data ==> nor regenerate every display but every time modification apear -->
		<rule name="my keyword">
			<color>keyword</color>
			<start>\@foreach|message|endforeach|if|else|endif|list|file|string\@</start>
		</rule>
		<rule name="my function keyword">
			<color>systemFunction</color>
			<start>\@set|include_directories|add_definitions|add_library|include_directories|target_link_libraries|project|include|check_include_file|enable_testing|option|cmake_minimum_required|add_definitions|check_include_file|configure_file|include_directories|add_custom_command|add_executable|add_test\@</start>
		</rule>
		<rule name="Variable">
			<color>inputFunction</color>
			<start>${</start>
			<end>}</end>
		</rule>
		<rule name="numeric constant">
			<color>number</color>
			<start>\@((0(x|X)[0-9a-fA-F]*)|(\d+\.?\d*|\.\d+)((e|E)(\+|\-)?\d+)?)(L|l|UL|ul|u|U|F|f)?\@</start>
		</rule>
		<rule name="BIG LETTER">
			<color>macro</color>
			<start>\@[A-Z_][A-Z_0-9]{3,500}\@</start>
		</rule>
		<rule name="Function name">
			<color>functionName</color>
			<start>\@(\w|_)+[ \t]*\(</start>
		</rule>
		
	</pass2>
</EdnLang>
