diff --git a/utils/vim/syntax/swift.vim b/utils/vim/syntax/swift.vim index 2928550b4adb8..b3db3dc949e2d 100644 --- a/utils/vim/syntax/swift.vim +++ b/utils/vim/syntax/swift.vim @@ -16,10 +16,11 @@ if exists("b:current_syntax") endif syn keyword swiftKeyword - \ associatedtype \ break + \ case \ catch \ continue + \ default \ defer \ do \ else @@ -38,6 +39,10 @@ syn keyword swiftKeyword syn match swiftMultiwordKeyword \ "indirect case" +syn keyword swiftCoreTypes + \ Any + \ AnyObject + syn keyword swiftImport skipwhite skipempty nextgroup=swiftImportModule \ import @@ -88,10 +93,13 @@ syn keyword swiftTypeDefinition skipwhite skipempty nextgroup=swiftTypeName \ class \ enum \ extension + \ operator + \ precedencegroup \ protocol \ struct syn keyword swiftTypeAliasDefinition skipwhite skipempty nextgroup=swiftTypeAliasName + \ associatedtype \ typealias syn match swiftMultiwordTypeDefinition skipwhite skipempty nextgroup=swiftTypeName @@ -197,7 +205,7 @@ syn match swiftDecimal contained \ /[0-9]\+/ syn match swiftPreproc - \ /#\(\\|\\|\\)/ + \ /#\(\\|\\|\\|\\|\\)/ syn match swiftPreproc \ /^\s*#\(\\|\\|\\|\\|\\|\\)/ syn region swiftPreprocFalse @@ -208,9 +216,9 @@ syn match swiftAttribute syn keyword swiftTodo MARK TODO FIXME contained -syn match swiftCastOp skipwhite skipempty nextgroup=swiftType +syn match swiftCastOp skipwhite skipempty nextgroup=swiftType,swiftCoreTypes \ "\" -syn match swiftCastOp skipwhite skipempty nextgroup=swiftType +syn match swiftCastOp skipwhite skipempty nextgroup=swiftType,swiftCoreTypes \ "\[!?]\?" syn match swiftNilOps @@ -223,6 +231,7 @@ hi def link swiftImport Include hi def link swiftImportModule Title hi def link swiftImportComponent Identifier hi def link swiftKeyword Statement +hi def link swiftCoreTypes Type hi def link swiftMultiwordKeyword Statement hi def link swiftTypeDefinition Define hi def link swiftMultiwordTypeDefinition Define