Mercurial > vim
comparison runtime/syntax/sil.vim @ 19180:8edf0aeb71b9
Update runtime files.
Commit: https://github.com/vim/vim/commit/1d9215b9aaa120b9d78fee49488556f73007ce78
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 25 13:27:42 2020 +0100
Update runtime files.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 25 Jan 2020 13:30:05 +0100 |
parents | |
children | fab58304f77d |
comparison
equal
deleted
inserted
replaced
19179:539bca3da740 | 19180:8edf0aeb71b9 |
---|---|
1 " This source file is part of the Swift.org open source project | |
2 " | |
3 " Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors | |
4 " Licensed under Apache License v2.0 with Runtime Library Exception | |
5 " | |
6 " See https://swift.org/LICENSE.txt for license information | |
7 " See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors | |
8 " | |
9 " Vim syntax file | |
10 " Language: sil | |
11 " | |
12 " Vim maintainer: Emir SARI <bitigchi@me.com> | |
13 | |
14 if exists("b:current_syntax") | |
15 finish | |
16 endif | |
17 | |
18 let s:keepcpo = &cpo | |
19 set cpo&vim | |
20 | |
21 syn keyword silStage skipwhite nextgroup=silStages | |
22 \ sil_stage | |
23 syn keyword silStages | |
24 \ canonical | |
25 \ raw | |
26 | |
27 syn match silIdentifier skipwhite | |
28 \ /@\<[A-Za-z_0-9]\+\>/ | |
29 | |
30 syn match silConvention skipwhite | |
31 \ /$\?@convention/ | |
32 syn region silConvention contained contains=silConventions | |
33 \ start="@convention(" end=")" | |
34 syn keyword silConventions | |
35 \ block | |
36 \ c | |
37 \ method | |
38 \ objc_method | |
39 \ thick | |
40 \ thin | |
41 \ witness_method | |
42 | |
43 syn match silFunctionType skipwhite | |
44 \ /@\(\<autoreleased\>\|\<callee_guaranteed\>\|\<callee_owned\>\|\<error\>\|\<guaranteed\>\|\<in\>\|\<in_constant\>\|\<in_guaranteed\>\|\<inout\>\|\<inout_aliasable\>\|\<noescape\>\|\<out\>\|\<owned\>\)/ | |
45 syn match silMetatypeType skipwhite | |
46 \ /@\(\<thick\>\|\<thin\>\|\<objc\>\)/ | |
47 | |
48 " TODO: handle [tail_elems sil-type * sil-operand] | |
49 syn region silAttribute contains=silAttributes | |
50 \ start="\[" end="\]" | |
51 syn keyword silAttributes contained containedin=silAttribute | |
52 \ abort | |
53 \ deinit | |
54 \ delegatingself | |
55 \ derivedself | |
56 \ derivedselfonly | |
57 \ dynamic | |
58 \ exact | |
59 \ init | |
60 \ modify | |
61 \ mutating | |
62 \ objc | |
63 \ open | |
64 \ read | |
65 \ rootself | |
66 \ stack | |
67 \ static | |
68 \ strict | |
69 \ unknown | |
70 \ unsafe | |
71 \ var | |
72 | |
73 syn keyword swiftImport import skipwhite nextgroup=swiftImportModule | |
74 syn match swiftImportModule /\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent | |
75 syn match swiftImportComponent /\.\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent | |
76 | |
77 syn region swiftComment start="/\*" end="\*/" contains=swiftComment,swiftTodo | |
78 syn region swiftLineComment start="//" end="$" contains=swiftTodo | |
79 | |
80 syn match swiftLineComment /^#!.*/ | |
81 syn match swiftTypeName /\<[A-Z][a-zA-Z_0-9]*\>/ | |
82 syn match swiftDecimal /\<[-]\?[0-9]\+\>/ | |
83 syn match swiftDecimal /\<[-+]\?[0-9]\+\>/ | |
84 | |
85 syn match swiftTypeName /\$\*\<\?[A-Z][a-zA-Z0-9_]*\>/ | |
86 syn match swiftVarName /%\<[A-z[a-z_0-9]\+\(#[0-9]\+\)\?\>/ | |
87 | |
88 syn keyword swiftKeyword break case continue default do else for if in static switch repeat return where while skipwhite | |
89 | |
90 syn keyword swiftKeyword sil internal thunk skipwhite | |
91 syn keyword swiftKeyword public hidden private shared public_external hidden_external skipwhite | |
92 syn keyword swiftKeyword getter setter allocator initializer enumelt destroyer globalaccessor objc skipwhite | |
93 syn keyword swiftKeyword alloc_global alloc_stack alloc_ref alloc_ref_dynamic alloc_box alloc_existential_box alloc_value_buffer dealloc_stack dealloc_box dealloc_existential_box dealloc_ref dealloc_partial_ref dealloc_value_buffer skipwhite | |
94 syn keyword swiftKeyword debug_value debug_value_addr skipwhite | |
95 syn keyword swiftKeyword load load_unowned store assign mark_uninitialized mark_function_escape copy_addr destroy_addr index_addr index_raw_pointer bind_memory to skipwhite | |
96 syn keyword swiftKeyword strong_retain strong_release strong_retain_unowned ref_to_unowned unowned_to_ref unowned_retain unowned_release load_weak store_unowned store_weak fix_lifetime autorelease_value set_deallocating is_unique is_escaping_closure skipwhite | |
97 syn keyword swiftKeyword function_ref integer_literal float_literal string_literal global_addr skipwhite | |
98 syn keyword swiftKeyword class_method super_method witness_method objc_method objc_super_method skipwhite | |
99 syn keyword swiftKeyword partial_apply builtin skipwhite | |
100 syn keyword swiftApplyKeyword apply try_apply skipwhite | |
101 syn keyword swiftKeyword metatype value_metatype existential_metatype skipwhite | |
102 syn keyword swiftKeyword retain_value release_value retain_value_addr release_value_addr tuple tuple_extract tuple_element_addr struct struct_extract struct_element_addr ref_element_addr skipwhite | |
103 syn keyword swiftKeyword init_enum_data_addr unchecked_enum_data unchecked_take_enum_data_addr inject_enum_addr skipwhite | |
104 syn keyword swiftKeyword init_existential_addr init_existential_value init_existential_metatype deinit_existential_addr deinit_existential_value open_existential_addr open_existential_box open_existential_box_value open_existential_metatype init_existential_ref open_existential_ref open_existential_value skipwhite | |
105 syn keyword swiftKeyword upcast address_to_pointer pointer_to_address pointer_to_thin_function unchecked_addr_cast unchecked_ref_cast unchecked_ref_cast_addr ref_to_raw_pointer ref_to_bridge_object ref_to_unmanaged unmanaged_to_ref raw_pointer_to_ref skipwhite | |
106 syn keyword swiftKeyword convert_function thick_to_objc_metatype thin_function_to_pointer objc_to_thick_metatype thin_to_thick_function unchecked_ref_bit_cast unchecked_trivial_bit_cast bridge_object_to_ref bridge_object_to_word unchecked_bitwise_cast skipwhite | |
107 syn keyword swiftKeyword objc_existential_metatype_to_object objc_metatype_to_object objc_protocol skipwhite | |
108 syn keyword swiftKeyword unconditional_checked_cast unconditional_checked_cast_addr unconditional_checked_cast_value skipwhite | |
109 syn keyword swiftKeyword cond_fail skipwhite | |
110 syn keyword swiftKeyword unreachable return throw br cond_br switch_value select_enum select_enum_addr select_value switch_enum switch_enum_addr dynamic_method_br checked_cast_br checked_cast_value_br checked_cast_addr_br skipwhite | |
111 syn keyword swiftKeyword project_box project_existential_box project_value_buffer project_block_storage init_block_storage_header copy_block mark_dependence skipwhite | |
112 | |
113 syn keyword swiftTypeDefinition class extension protocol struct typealias enum skipwhite nextgroup=swiftTypeName | |
114 syn region swiftTypeAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftTypeName | |
115 syn match swiftTypeName /\<[A-Za-z_][A-Za-z_0-9\.]*\>/ contained nextgroup=swiftTypeParameters | |
116 | |
117 syn region swiftTypeParameters start="<" end=">" skipwhite contained | |
118 | |
119 syn keyword swiftFuncDefinition func skipwhite nextgroup=swiftFuncAttributes,swiftFuncName,swiftOperator | |
120 syn region swiftFuncAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftFuncName,swiftOperator | |
121 syn match swiftFuncName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained nextgroup=swiftTypeParameters | |
122 syn keyword swiftFuncKeyword subscript init destructor nextgroup=swiftTypeParameters | |
123 | |
124 syn keyword swiftVarDefinition var skipwhite nextgroup=swiftVarName | |
125 syn keyword swiftVarDefinition let skipwhite nextgroup=swiftVarName | |
126 syn match swiftVarName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained | |
127 | |
128 syn keyword swiftDefinitionModifier static | |
129 | |
130 syn match swiftImplicitVarName /\$\<[A-Za-z_0-9]\+\>/ | |
131 | |
132 hi def link swiftImport Include | |
133 hi def link swiftImportModule Title | |
134 hi def link swiftImportComponent Identifier | |
135 hi def link swiftApplyKeyword Statement | |
136 hi def link swiftKeyword Statement | |
137 hi def link swiftTypeDefinition Define | |
138 hi def link swiftTypeName Type | |
139 hi def link swiftTypeParameters Special | |
140 hi def link swiftTypeAttributes PreProc | |
141 hi def link swiftFuncDefinition Define | |
142 hi def link swiftDefinitionModifier Define | |
143 hi def link swiftFuncName Function | |
144 hi def link swiftFuncAttributes PreProc | |
145 hi def link swiftFuncKeyword Function | |
146 hi def link swiftVarDefinition Define | |
147 hi def link swiftVarName Identifier | |
148 hi def link swiftImplicitVarName Identifier | |
149 hi def link swiftIdentifierKeyword Identifier | |
150 hi def link swiftTypeDeclaration Delimiter | |
151 hi def link swiftBoolean Boolean | |
152 hi def link swiftString String | |
153 hi def link swiftInterpolation Special | |
154 hi def link swiftComment Comment | |
155 hi def link swiftLineComment Comment | |
156 hi def link swiftDecimal Number | |
157 hi def link swiftHex Number | |
158 hi def link swiftOct Number | |
159 hi def link swiftBin Number | |
160 hi def link swiftOperator Function | |
161 hi def link swiftChar Character | |
162 hi def link swiftLabel Label | |
163 hi def link swiftNew Operator | |
164 | |
165 hi def link silStage Special | |
166 hi def link silStages Type | |
167 hi def link silConvention Special | |
168 hi def link silConventionParameter Special | |
169 hi def link silConventions Type | |
170 hi def link silIdentifier Identifier | |
171 hi def link silFunctionType Special | |
172 hi def link silMetatypeType Special | |
173 hi def link silAttribute PreProc | |
174 | |
175 let b:current_syntax = "sil" | |
176 | |
177 let &cpo = s:keepcpo | |
178 unlet s:keepcpo |