[DEV] add typesript and update balise xml

This commit is contained in:
Edouard DUPIN 2018-03-31 00:12:09 +02:00
parent ff76c178d4
commit ee3c56e02f
3 changed files with 149 additions and 3 deletions

View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<EdnLang version="0.1" lang="TypeScript">
<ext>(ts)</ext>
<pass1><!-- multiline section & parse all file (now) and when modification retrive previous modification -->
<rule name="doxygen multiline">
<color>commentDoxygen</color>
<regex>
<start>/\*(\*|!)</start>
<stop>\*/</stop>
</regex>
<sub>doxyparse</sub>
</rule>
<rule name="comment multiline">
<color>comment</color>
<regex>
<start>/\*</start>
<stop>\*/</stop>
</regex>
<sub>TODO</sub>
</rule>
<rule name="comment multiline ERROR">
<color>SYNTAX_ERROR</color>
<regex>
<start>/\*</start>
</regex>
</rule>
<rule name="inline doxygen">
<color>commentDoxygen</color>
<regex>//!.*$</regex>
<sub>doxyparse</sub>
</rule>
<rule name="inline comment">
<color>comment</color>
<regex>//.*$</regex>
<sub>TODO</sub>
</rule>
<rule name="double quote text">
<color>doubleQuoteText</color>
<regex>&quot;(\\(n|t|v|b|r|f|a|\\|\?|&quot;|0|o[0-7]{2}|x[0-9a-fA-F]{2}|u[0-9]{4}|U[0-9]{8})|.)*&quot;</regex>
</rule>
<rule name="simple quote text">
<color>doubleQuoteText</color>
<regex>&apos;(\\(n|t|v|b|r|f|a|\\|\?|&apos;|0|o[0-7]{2}|x[0-9a-fA-F]{2}|u[0-9]{4}|U[0-9]{8})|.)*&apos;</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>\{|\}|\[|\]</regex>
</rule>
<rule name="separator">
<color>error</color>
<regex>:|,</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="my keyword">
<color>keyword</color>
<regex>\@let|function|typeof|alert|never|implements|as|export|import|from\@</regex>
</rule>
<rule name="etk type">
<color>type</color>
<regex>\@(Array|string|any|boolean|number|void)\@</regex>
</rule>
<rule name="my storage keyword">
<color>storageKeyword</color>
<regex>\@const|class|private|public|protected|undefined|null|enum|interface|class\@</regex>
</rule>
<rule name="json member">
<color>memberClass</color>
<regex>\@[a-zA-Z_0-9_\-]+:\@</regex>
</rule>
<rule name="json member2">
<color>memberClass</color>
<regex>\@this\.[a-zA-Z_0-9_\-]+\@</regex>
</rule>
<rule name="decorator">
<color>systemFunction</color>
<regex>\@@[a-zA-Z_0-9_\-]+\(?\)?\@</regex>
</rule>
<rule name="BIG LETTER">
<color>macro</color>
<regex>\@[A-Z_][A-Z_0-9]{3,500}\@</regex>
</rule>
<rule name="function input">
<color>inputFunction</color>
<regex>\@_\w+\@</regex>
</rule>
<rule name="Function name">
<color>functionName</color>
<regex>\@((\w|_)+[ \t]*\()</regex>
</rule>
<rule name="lambda">
<color>boolean</color>
<regex>=&gt;</regex>
</rule>
<rule name="condition">
<color>boolean</color>
<regex>===|==|&lt;==|&lt;=|&gt;==|&gt;=|!==|!=|&lt;{1,2}|&gt;{1,2}|&amp;&amp;|\{|\}</regex>
</rule>
<rule name="simple operator">
<color>preprocesseur</color>
<regex>=|\+|-|&amp;|\|</regex>
</rule>
<rule name="simpleQuteTextError">
<color>SYNTAX_ERROR</color>
<regex>&apos;|&quot;</regex>
</rule>
<rule name="my keyword deprecated">
<color>SYNTAX_ERROR</color>
<regex>\@var\@</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>
</EdnLang>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<EdnLang version="0.2" lang="XML">
<ext>(xml|XML|svg|SVG|html|HTML|htm|HTM|tpl|TPL|xhtml)</ext>
<ext>(xml|XML|svg|SVG|html|HTML|htm|HTM|tpl|TPL|xhtml|XHTML)</ext>
<pass1><!-- multiline section & parse all file (now) and when modification retrive previous modification -->
<rule name="Comment">
<color>comment</color>
@ -18,7 +18,7 @@
</rule>
<rule name="stop balise">
<color>functionName</color>
<regex>&lt;/[ \t]*\w+[ \t]*&gt;</regex>
<regex>&lt;/[ \t]*[a-zA-Z0-9\-_:\.]+[ \t]*&gt;</regex>
</rule>
<rule name="stop balise">
<color>SYNTAX_ERROR</color>
@ -53,7 +53,7 @@
</rule>
<rule name="open balise">
<color>functionName</color>
<regex>&lt;[ \t]*[0-9a-zA-Z_]+\@</regex>
<regex>&lt;[ \t]*[a-zA-Z0-9\-_:\.]+\@</regex>
</rule>
<rule name="close balise">
<color>functionName</color>

View File

@ -104,6 +104,7 @@ def configure(target, my_module):
my_module.copy_path('data/languages/python/*.xml','languages/python/')
my_module.copy_path('data/languages/zeus.idl/*.xml','languages/zeus.idl/')
my_module.copy_path('data/languages/perl/*.xml','languages/perl/')
my_module.copy_path('data/languages/TypeScript/*.xml','languages/TypeScript/')
my_module.copy_path('data/theme/colorWhite/*.json','theme/color/white/')
my_module.copy_path('data/theme/colorBlack/*.json','theme/color/black/')
my_module.copy_path('data/GUI-*.xml')