diff options
Diffstat (limited to 'kate/data/tcl.xml')
-rw-r--r-- | kate/data/tcl.xml | 62 |
1 files changed, 54 insertions, 8 deletions
diff --git a/kate/data/tcl.xml b/kate/data/tcl.xml index 18a270822..cb74c1f52 100644 --- a/kate/data/tcl.xml +++ b/kate/data/tcl.xml @@ -4,8 +4,29 @@ <!-- Authors: Alexander Dederer & JM. Philippe --> <!-- Copyright: BSD copyright & Irsid - Arcelor Innovation R&D --> <!-- Ported to Kate 2.0/ KWrite 4.0 by Joseph Wenninger (Updated by Simon Robins)--> +<!-- + Updated by Pawel Salawa (boogie at scripts dot one dot pl) -<language name="Tcl/Tk" version="1.08" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl"> + Revision history: + 1.10: + - Fixed problem with single ':' character after variable name (it's no longer variable, + because only double-colon is namespace delimiter and can be part of variable name). + - Fixed problem with matching quote character next to regular character, for example: + puts {"string"} + In that case left bracked was marked as string, but it's no longer like that. + - Fixed problem with variable names like: ${text\}test} + It whole is valid variable name, because of escape character. + - Fixed problem with marking ';' character as a comment when '#' character was after the ';'. + - Fixed problem with marking options. '-' character after word-delimiter character caused + marking that word-delimiter character as option too, even it wasn't white-space. + - Few other minor optimalizations. + 1.09: + - Added fast comments support (Ctrl+d or whatever your shortcut is) + - Fixed single-character variables detection + - Fixed detection of varaibles with names containing serval namespace delimiters (::) +--> + +<language name="Tcl/Tk" version="1.10" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl"> <highlighting> <list name="keywords"> <item> after </item> @@ -441,24 +462,39 @@ <contexts> <context name = "Base" attribute = "Normal Text" lineEndContext="#stay"> + + <!-- Virtual blocks --> <RegExpr attribute="Region Marker" context="#stay" String="#\s*BEGIN.*$" beginRegion="region" firstNonSpace="true"/> <RegExpr attribute="Region Marker" context="#stay" String="#\s*END.*$" endRegion="region" firstNonSpace="true"/> + + <!-- Standard --> <keyword String = "keywords" attribute = "Keyword" context="#stay"/> <keyword String = "keywords-opt" attribute = "Parameter" context="#stay"/> <Float attribute = "Float" context="#stay"/> <Int attribute ="Decimal" context="#stay"/> <RegExpr String="\\." attribute = "Char" context = "#stay"/> - <RegExpr String = "\W-\w+" attribute = "Parameter" context="#stay"/> - <RegExpr String = "\$\{[^\}]+\}" attribute = "Variable" context="#stay"/> - <RegExpr String = "\$(::)?[\S\D]\w+" attribute = "Variable" context="#stay"/> - <RegExpr String = "[^\\]""" attribute = "String" context="#stay"/> - <RegExpr String = "[^\\]"" attribute = "String" context="String"/> - <RegExpr String= "#.*$" attribute = "Comment" context="#stay" firstNonSpace="true"/> - <RegExpr String= ";\s*#.*$" attribute = "Comment" context="#stay"/> + + <!-- Options --> + <RegExpr String = "\s-\w+" attribute = "Parameter" context="#stay"/> + + <!-- Variables --> + <RegExpr String = "\$\{([^\}]|\\\})+\}" attribute = "Variable" context="#stay"/> + <RegExpr String = "\$(::|\w)+" attribute = "Variable" context="#stay"/> + + <!-- Strings --> + <RegExpr String = ""{2}" attribute = "String" context="#stay"/> + <RegExpr String = """ attribute = "String" context="String"/> + + <!-- Comments --> + <DetectChar char = ";" attribute = "Normal Text" context="New command line" /> + <DetectChar char = "#" attribute = "Comment" context="Comment" firstNonSpace="true"/> + + <!-- Braces, brackets, etc --> <DetectChar char = "{" attribute = "Keyword" context="#stay" beginRegion="block"/> <DetectChar char = "}" attribute = "Keyword" context="#stay" endRegion="block"/> <DetectChar char = "[" attribute = "Keyword" context="#stay"/> <DetectChar char = "]" attribute = "Keyword" context="#stay"/> + </context> <context name = "String" attribute = "String" lineEndContext="#stay"> @@ -466,6 +502,13 @@ <DetectChar char=""" attribute = "String" context = "#pop"/> <DetectChar char = "$" attribute = "Variable" context="#stay"/> </context> + + <context name = "Comment" attribute = "Comment" lineEndContext="#pop"/> + + <context name = "New command line" attribute = "Normal Text" lineEndContext="#stay"> + <RegExpr String = "\s*#" attribute="Comment" context="Comment" /> + <RegExpr String = "." attribute="Normal Text" context="#pop" lookAhead="true" /> + </context> </contexts> <itemDatas> @@ -484,6 +527,9 @@ </highlighting> <general> + <comments> + <comment name="singleLine" start="#" /> + </comments> <keywords casesensitive="1"/> </general> |