summaryrefslogtreecommitdiffstats
path: root/syntax/swift.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/swift.vim')
-rw-r--r--syntax/swift.vim7
1 files changed, 4 insertions, 3 deletions
diff --git a/syntax/swift.vim b/syntax/swift.vim
index ef592ce4..92448877 100644
--- a/syntax/swift.vim
+++ b/syntax/swift.vim
@@ -54,10 +54,10 @@ delfunction s:CommentKeywordMatch
" Literals
" Strings
-syntax region swiftString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=swiftMultilineInterpolatedWrapper oneline
+syntax region swiftString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=swiftInterpolatedWrapper oneline
syntax region swiftMultilineString start=/"""/ end=/"""/ contains=swiftMultilineInterpolatedWrapper
-syntax region swiftMultilineInterpolatedWrapper start="\v\\\(\s*" end="\v\s*\)" contained containedin=swiftMultilineString contains=swiftInterpolatedString oneline
-syntax region swiftInterpolatedWrapper start="\v[^\\]\zs\\\(\s*" end="\v\s*\)" contained containedin=swiftString contains=swiftInterpolatedString,swiftString oneline
+syntax region swiftMultilineInterpolatedWrapper start='\v\zs\\\(\s*' end='\v\s*\)' contained containedin=swiftMultilineString contains=swiftInterpolatedString oneline
+syntax region swiftInterpolatedWrapper start='\v(^|[^\\])\zs\\\(\s*' end='\v\s*\)' contained containedin=swiftString contains=swiftInterpolatedString,swiftString oneline
syntax match swiftInterpolatedString "\v\w+(\(\))?" contained containedin=swiftInterpolatedWrapper,swiftMultilineInterpolatedWrapper oneline
" Numbers
@@ -140,6 +140,7 @@ syntax keyword swiftKeywords
\ mutating
\ nil
\ nonmutating
+ \ open
\ operator
\ optional
\ override