vim: update syntax for strings
authorJean Privat <jean@pryen.org>
Mon, 10 Mar 2014 13:42:46 +0000 (09:42 -0400)
committerJean Privat <jean@pryen.org>
Mon, 10 Mar 2014 14:32:19 +0000 (10:32 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

misc/vim/syntax/nit.vim

index 288d64c..b73b4ea 100644 (file)
@@ -31,7 +31,10 @@ endif
 " Expression Substitution and Backslash Notation
 syn match NITExprSubstError "{\|}" contained
 syn match NITExprSubst "\\." contained
-syn match NITExprSubst "{[^}]*}" contained
+syn match NITExprSubst "{\([^}]\|\n\)*}" contained
+
+syn match NITExprSubstLong "\\." contained
+syn match NITExprSubstLong "{*\zs{{{\([^}]\|\n\)*}}}\ze}*" contained
 
 " Numbers and ASCII Codes
 syn match NITNumber "\<\(\d\+\.\d\+\|\d\+\)\>"
@@ -42,6 +45,7 @@ syn match NITAttribute                "\<_\h\w*"
 
 " Literal strings
 syn region NITString matchgroup=NITStringDelimit start="\"" end="\"" skip="\\\\\|\\\"" contains=NITExprSubst,NITExprSubstError
+syn region NITString matchgroup=NITStringDelimit start="\"\"\"" end="\"*\zs\"\"\"" skip="\\\\\|\\\"" contains=NITExprSubstLong
 syn region NITString matchgroup=NITStringDelimit start="'"  end="'"  skip="\\\\\|\\'"
 
 " Labels
@@ -111,6 +115,7 @@ hi def link NITKeyword                      Keyword
 hi def link NITString                  String
 hi def link NITStringDelimit           Delimiter
 hi def link NITExprSubst               Special
+hi def link NITExprSubstLong           Special
 hi def link NITExprSubstError          Error
 
 hi def link NITComment                 Comment