<?xml version="1.0" encoding="UTF-8"?>
<EdnLang version="0.1" lang="cmake">
	<ext>CMakeLists.txt</ext>
	<ext>CMakeCache.txt</ext>
	<pass1>
		<rule name="my comment doxygen">
			<color>commentDoxygen</color>
			<regex>##.*</regex>
		</rule>
		<rule name="my todo comment">
			<color>SYNTAX_ERROR</color>
			<regex>#[ \t]TODO[ \t]*:(.|\\[\\\n])*</regex>
		</rule>
		<rule name="my comment">
			<color>comment</color>
			<regex>#(.|\\[\\\n])*</regex>
		</rule>
		<rule name="doubleQuteText">
			<color>doubleQuoteText</color>
			<regex>&quot;(.|\\[\\&quot;])*?&quot;</regex>
		</rule>
	</pass1>
	<pass2> <!-- Parse on display data ==> nor regenerate every display but every time modification apear -->
		<rule name="my keyword">
			<color>keyword</color>
			<regex>\b(foreach|message|endforeach|if|else|endif|list|file|string)\b</regex>
		</rule>
		<rule name="my function keyword">
			<color>systemFunction</color>
			<regex>\b(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|find_package|pkg_check_modules|set_target_properties|source_group)\b</regex>
		</rule>
		<rule name="Variable">
			<color>inputFunction</color>
			<regex>\$\{.*\}</regex>
		</rule>
		<rule name="numeric constant">
			<color>number</color>
			<regex>\b(((0(x|X)[0-9a-fA-F]*)|(\d+\.?\d*|\.\d+)((e|E)(\+|\-)?\d+)?)(L|l|UL|ul|u|U|F|f)?)\b</regex>
		</rule>
		<rule name="BIG LETTER">
			<color>macro</color>
			<regex>\b([A-Z_][A-Z_0-9]{3,500})\b</regex>
		</rule>
		<rule name="Function name">
			<color>functionName</color>
			<regex>\b(\w|_)+[ \t]*\(</regex>
		</rule>
		<rule name="files path">
			<color>memberClass</color>
			<regex>[\w-]*(\.|/)\w*</regex>
		</rule>
	</pass2>
</EdnLang>
