about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Paseltiner <apaseltiner@gmail.com>2013-03-03 09:08:28 -0500
committerAndrew Paseltiner <apaseltiner@gmail.com>2013-03-03 09:08:28 -0500
commitc43512be2ece14ad661a464b5252db8a2a25b31a (patch)
tree17ed97ca7fdd59450020aaeaf744e4ff8b4aad92
parent6002d10ce3384e56973abc354979052aadcfcda7 (diff)
downloadrust-c43512be2ece14ad661a464b5252db8a2a25b31a.tar.gz
rust-c43512be2ece14ad661a464b5252db8a2a25b31a.zip
kate: restrict char escapes to ones accepted by Rust and highlight hex escapes
-rw-r--r--src/etc/kate/rust.xml14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/etc/kate/rust.xml b/src/etc/kate/rust.xml
index 97b7f66c54b..0da787a3f56 100644
--- a/src/etc/kate/rust.xml
+++ b/src/etc/kate/rust.xml
@@ -229,13 +229,20 @@
 		</context>
 		<context attribute="String" lineEndContext="#stay" name="String">
 			<LineContinue attribute="String" context="#stay"/>
-			<HlCStringChar attribute="String Char" context="#stay"/>
+			<DetectChar char="\" attribute="CharEscape" context="CharEscape"/>
 			<DetectChar attribute="String" context="#pop" char="&quot;"/>
 		</context>
 		<context attribute="Character" lineEndContext="#pop" name="Character">
-			<HlCStringChar attribute="Character" context="#stay"/>
+			<DetectChar char="\" attribute="CharEscape" context="CharEscape"/>
 			<DetectChar attribute="Character" context="#pop" char="&apos;"/>
 		</context>
+		<context attribute="CharEscape" lineEndContext="#pop" name="CharEscape">
+			<AnyChar String="nrt\&apos;&quot;" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="x[0-9a-fA-F]{2}" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="u[0-9a-fA-F]{4}" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="U[0-9a-fA-F]{8}" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="." attribute="Error" context="#pop"/>
+		</context>
 		<context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
 		<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
 			<DetectSpaces/>
@@ -256,11 +263,12 @@
 		<itemData name="Scope"        defStyleNum="dsNormal" color="#0055AA"/>
 		<itemData name="Number"       defStyleNum="dsDecVal" color="#116644"/>
 		<itemData name="String"       defStyleNum="dsString" color="#FF0000"/>
-		<itemData name="String Char"  defStyleNum="dsChar" color="#FF0000"/>
+		<itemData name="CharEscape"   defStyleNum="dsChar" color="#FF0000" bold="1"/>
 		<itemData name="Character"    defStyleNum="dsChar" color="#FF0000"/>
 		<itemData name="Macro"        defStyleNum="dsOthers"/>
 		<itemData name="Attribute"    defStyleNum="dsOthers"/>
 		<itemData name="Lifetime"     defStyleNum="dsOthers" bold="1"/>
+		<itemData name="Error"        defStyleNum="dsError"/>
 	</itemDatas>
 </highlighting>
 <general>