159 lines
5.5 KiB
XML
159 lines
5.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<EdnLang version="0.1" lang="Python">
|
|
<ext>(py|PY)</ext>
|
|
<pass1><!-- multiline section & parse all file (now) and when modification retrive previous modification -->
|
|
<rule name="my comment multiline">
|
|
<color>comment</color>
|
|
<regex>
|
|
<start>"""</start>
|
|
<stop>"""</stop>
|
|
</regex>
|
|
</rule>
|
|
<rule name="my comment multiline">
|
|
<color>comment</color>
|
|
<regex>
|
|
<start>'''</start>
|
|
<stop>'''</stop>
|
|
</regex>
|
|
</rule>
|
|
<rule name="comment multiline Error">
|
|
<color>SYNTAX_ERROR</color>
|
|
<regex>
|
|
<start>("""|''')</start>
|
|
</regex>
|
|
</rule>
|
|
<rule name="main declaration of executable">
|
|
<color>DECLARE_EXECUTABLE</color>
|
|
<regex>#!.*$</regex>
|
|
</rule>
|
|
<rule name="my comment doxygen">
|
|
<color>commentDoxygen</color>
|
|
<regex>##.*$</regex>
|
|
<sub>doxyparse</sub>
|
|
</rule>
|
|
<rule name="my comment">
|
|
<color>comment</color>
|
|
<regex>#.*$</regex>
|
|
<sub>TODO</sub>
|
|
</rule>
|
|
<rule name="doubleQuteText">
|
|
<color>doubleQuoteText</color>
|
|
<regex>"(.|\\[\\"])*"</regex>
|
|
</rule>
|
|
<rule name="simpleQuteText">
|
|
<color>doubleQuoteText</color>
|
|
<regex>'((\\[\\'])|.)*'</regex>
|
|
</rule>
|
|
<rule name="internalParameter">
|
|
<color>normal</color>
|
|
<regex>self\.\w*\@</regex>
|
|
<sub>parameter_internal</sub>
|
|
</rule>
|
|
<rule name="Function name private">
|
|
<color>functionNamePrivate</color>
|
|
<regex>\@_(\w|_)+[ \t]*\(</regex>
|
|
<sub>checkCamelCaseError</sub>
|
|
</rule>
|
|
<rule name="Function name">
|
|
<color>functionName</color>
|
|
<regex>\@(\w|_)+[ \t]*\(</regex>
|
|
<sub>checkCamelCaseError</sub>
|
|
</rule>
|
|
<rule name="function input">
|
|
<color>inputFunction</color>
|
|
<regex>\@_(\w|_)+\@</regex>
|
|
<sub>checkCamelCaseError</sub>
|
|
</rule>
|
|
</pass1>
|
|
<pass2> <!-- Parse on display data ==> nor regenerate every display but every time modification apear -->
|
|
<rule name="my keyword">
|
|
<color>keyword</color>
|
|
<regex>\@if|else|elif|break|pass|continue|while|do|for|in|return\@</regex>
|
|
</rule>
|
|
<rule name="my function keyword">
|
|
<color>systemFunction</color>
|
|
<regex>\@print|len|range|del|__init__|self|os\.|sys\.|path\.\@</regex>
|
|
</rule>
|
|
<rule name="my type">
|
|
<color>type</color>
|
|
<regex>\@bool|BOOL|char|double|float\@</regex>
|
|
</rule>
|
|
<rule name="my storage keyword">
|
|
<color>storageKeyword</color>
|
|
<regex>\@def|class|import|from|as|try|except\@</regex>
|
|
</rule>
|
|
<rule name="numeric constant">
|
|
<color>number</color>
|
|
<regex>\@((0(x|X)[0-9a-fA-F]*)|(\d+\.?\d*|\.\d+)((e|E)(\+|\-)?\d+)?)(L|l|UL|ul|u|U|F|f)?\@</regex>
|
|
</rule>
|
|
<rule name="my boolean">
|
|
<color>boolean</color>
|
|
<regex>\@True|False\@</regex>
|
|
</rule>
|
|
<rule name="BIG LETTER">
|
|
<color>macro</color>
|
|
<regex>\@[A-Z_][A-Z_0-9]{3,500}\@</regex>
|
|
</rule>
|
|
<rule name="condition">
|
|
<color>boolean</color>
|
|
<regex>==|<=|>=|!=|<{1,2}|>{1,2}|&&|\{|\}</regex>
|
|
</rule>
|
|
<rule name="simpleQuteTextError">
|
|
<color>SYNTAX_ERROR</color>
|
|
<regex>'|"</regex>
|
|
</rule>
|
|
</pass2>
|
|
<pass name="doxyparse">
|
|
<rule name="knownkey">
|
|
<color>doxygen-key-known</color>
|
|
<regex>(\@|\\)[\t ]*(addindex|addtogroup|anchor|arg|attention|author|authors|a|brief|bug|b|callgraph|category|cite|class|code|cond|copybrief|copydetails|copydoc|copyright|date|def|defgroup|deprecated|details|diafile|dir|docbookonly|dontinclude|dot|dotfile|else|elseif|em|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endif|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|endverbatim|enduml|endxmlonly|enum|example|exception|extends|e|file|fn|headerfile|hidecallergraph|hidecallgraph|hideinitializer|htmlinclude|htmlonly|idlexcept|ifnot|if|image|implements|includelineno|include|ingroup|internal|invariant|interface|latexinclude|latexonly|line|link|license|li|mainpage|manonly|memberof|msc|mscfile|name|namespace|nosubgrouping|note|n|overload|package|page|paragraph|param|parblock|par|post|pre|private|privatesection|property|protected|protectedsection|protocol|public|publicsection|pure|p|refitem|ref|related|relates|relatedalso|relatesalso|remark|remarks|result|return|returns|retval|rtfonly|sa|secreflist|section|see|short|showinitializer|since|skip|skipline|snippet|startuml|struct|subpage|subsection|subsubsection|tableofcontents|test|throw|throws|todo|tparam|typedef|union|until|var|verbatim|verbinclude|version|vhdlflow|warning|weakgroup|xmlonly|xrefitem)</regex>
|
|
</rule>
|
|
<rule name="key">
|
|
<color>doxygen-key</color>
|
|
<regex>(\@|\\)[\t ]*\w+</regex>
|
|
</rule>
|
|
<rule name="in-out">
|
|
<color>doxygen-in-out</color>
|
|
<regex>\[(in|in,out|out)\]</regex>
|
|
</rule>
|
|
<rule name="function input">
|
|
<color>inputFunction</color>
|
|
<regex>\@_\w+\@</regex>
|
|
</rule>
|
|
</pass>
|
|
<pass name="TODO">
|
|
<rule name="function input">
|
|
<color>SYNTAX_ERROR</color>
|
|
<regex>TODO[ \t]*:.*</regex>
|
|
</rule>
|
|
</pass>
|
|
<pass name="parameter_internal">
|
|
<rule name="self">
|
|
<color>systemFunction</color>
|
|
<regex>self</regex>
|
|
</rule>
|
|
<rule name="function input">
|
|
<color>memberClassPrivate</color>
|
|
<regex>_[a-z0-9_]+</regex>
|
|
</rule>
|
|
<rule name="function input">
|
|
<color>memberClass</color>
|
|
<regex>[a-z0-9_]+</regex>
|
|
</rule>
|
|
<rule name="function input">
|
|
<color>SYNTAX_ERROR</color>
|
|
<regex>_\w+</regex>
|
|
</rule>
|
|
<rule name="function input">
|
|
<color>SYNTAX_ERROR</color>
|
|
<regex>\w+</regex>
|
|
</rule>
|
|
</pass>
|
|
<pass name="checkCamelCaseError">
|
|
<rule name="Function name ERROR (camel case ...)">
|
|
<color>SYNTAX_ERROR</color>
|
|
<regex>[A-Z]</regex>
|
|
</rule>
|
|
</pass>
|
|
</EdnLang>
|