xref: /vim-8.2.3635/runtime/syntax/sshconfig.vim (revision bb76f24a)
1" Vim syntax file
2" Language:	OpenSSH client configuration file (ssh_config)
3" Author:	David Necas (Yeti)
4" Maintainer:	Dominik Fischer <d dot f dot fischer at web dot de>
5" Contributor:  Leonard Ehrenfried <[email protected]>
6" Contributor:  Karsten Hopp <[email protected]>
7" Contributor:  Dean, Adam Kenneth <[email protected]>
8" Last Change:	2016 Aug 11
9" SSH Version:	7.3p1
10"
11
12" Setup
13" quit when a syntax file was already loaded
14if exists("b:current_syntax")
15  finish
16endif
17
18setlocal iskeyword=_,-,a-z,A-Z,48-57
19
20
21" case on
22syn case match
23
24
25" Comments
26syn match sshconfigComment "^#.*$" contains=sshconfigTodo
27syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
28
29syn keyword sshconfigTodo TODO FIXME NOTE contained
30
31
32" Constants
33syn keyword sshconfigYesNo yes no ask confirm
34syn keyword sshconfigYesNo any auto
35syn keyword sshconfigYesNo force autoask none
36
37syn keyword sshconfigCipher 3des blowfish
38
39syn keyword sshconfigCiphers 3des-cbc
40syn keyword sshconfigCiphers blowfish-cbc
41syn keyword sshconfigCiphers cast128-cbc
42syn keyword sshconfigCiphers arcfour
43syn keyword sshconfigCiphers arcfour128
44syn keyword sshconfigCiphers arcfour256
45syn keyword sshconfigCiphers aes128-cbc
46syn keyword sshconfigCiphers aes192-cbc
47syn keyword sshconfigCiphers aes256-cbc
48syn match sshconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
49syn keyword sshconfigCiphers aes128-ctr
50syn keyword sshconfigCiphers aes192-ctr
51syn keyword sshconfigCiphers aes256-ctr
52syn match sshconfigCiphers "\<aes128-gcm@openssh\.com\>"
53syn match sshconfigCiphers "\<aes256-gcm@openssh\.com\>"
54syn match sshconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
55
56syn keyword sshconfigMAC hmac-sha1
57syn keyword sshconfigMAC mac-sha1-96
58syn keyword sshconfigMAC mac-sha2-256
59syn keyword sshconfigMAC mac-sha2-512
60syn keyword sshconfigMAC mac-md5
61syn keyword sshconfigMAC mac-md5-96
62syn keyword sshconfigMAC mac-ripemd160
63syn match   sshconfigMAC "\<hmac-ripemd160@openssh\.com\>"
64syn match   sshconfigMAC "\<umac-64@openssh\.com\>"
65syn match   sshconfigMAC "\<umac-128@openssh\.com\>"
66syn match   sshconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
67syn match   sshconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
68syn match   sshconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
69syn match   sshconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
70syn match   sshconfigMAC "\<hmac-md5-etm@openssh\.com\>"
71syn match   sshconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
72syn match   sshconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
73syn match   sshconfigMAC "\<umac-64-etm@openssh\.com\>"
74syn match   sshconfigMAC "\<umac-128-etm@openssh\.com\>"
75
76syn keyword sshconfigHostKeyAlgo ssh-ed25519
77syn match sshconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
78syn keyword sshconfigHostKeyAlgo ssh-rsa
79syn keyword sshconfigHostKeyAlgo ssh-dss
80syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp256
81syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp384
82syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp521
83syn match sshconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
84syn match sshconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
85syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
86syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
87syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
88
89syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
90syn keyword sshconfigPreferredAuth keyboard-interactive
91
92syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
93syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
94syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
95syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
96syn keyword sshconfigAddressFamily  inet inet6
97
98syn match   sshconfigIPQoS	"af1[123]"
99syn match   sshconfigIPQoS	"af2[123]"
100syn match   sshconfigIPQoS	"af3[123]"
101syn match   sshconfigIPQoS	"af4[123]"
102syn match   sshconfigIPQoS	"cs[0-7]"
103syn keyword sshconfigIPQoS	ef lowdelay throughput reliability
104syn keyword sshconfigKbdInteractive bsdauth pam skey
105
106syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
107syn keyword sshconfigKexAlgo diffie-hellman-group14-sha1
108syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1
109syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256
110syn keyword sshconfigKexAlgo ecdh-sha2-nistp256
111syn keyword sshconfigKexAlgo ecdh-sha2-nistp384
112syn keyword sshconfigKexAlgo ecdh-sha2-nistp521
113syn match sshconfigKexAlgo "\<curve25519-sha256@libssh\.org\>"
114
115syn keyword sshconfigTunnel	point-to-point ethernet
116
117syn match sshconfigVar "%[rhplLdun]\>"
118syn match sshconfigSpecial "[*?]"
119syn match sshconfigNumber "\d\+"
120syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
121syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
122syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
123syn match sshconfigHostPort "\(Host \)\@<=.\+"
124syn match sshconfigHostPort "\(HostName \)\@<=.\+"
125
126" case off
127syn case ignore
128
129
130" Keywords
131syn keyword sshconfigHostSect Host
132
133syn keyword sshconfigMatch canonical exec host originalhost user localuser all
134
135syn keyword sshconfigKeyword AddressFamily
136syn keyword sshconfigKeyword AddKeysToAgent
137syn keyword sshconfigKeyword BatchMode
138syn keyword sshconfigKeyword BindAddress
139syn keyword sshconfigKeyword CanonicalDomains
140syn keyword sshconfigKeyword CanonicalizeFallbackLocal
141syn keyword sshconfigKeyword CanonicalizeHostname
142syn keyword sshconfigKeyword CanonicalizeMaxDots
143syn keyword sshconfigKeyword CertificateFile
144syn keyword sshconfigKeyword ChallengeResponseAuthentication
145syn keyword sshconfigKeyword CheckHostIP
146syn keyword sshconfigKeyword Cipher
147syn keyword sshconfigKeyword Ciphers
148syn keyword sshconfigKeyword ClearAllForwardings
149syn keyword sshconfigKeyword Compression
150syn keyword sshconfigKeyword CompressionLevel
151syn keyword sshconfigKeyword ConnectTimeout
152syn keyword sshconfigKeyword ConnectionAttempts
153syn keyword sshconfigKeyword ControlMaster
154syn keyword sshconfigKeyword ControlPath
155syn keyword sshconfigKeyword ControlPersist
156syn keyword sshconfigKeyword DynamicForward
157syn keyword sshconfigKeyword EnableSSHKeysign
158syn keyword sshconfigKeyword EscapeChar
159syn keyword sshconfigKeyword ExitOnForwardFailure
160syn keyword sshconfigKeyword ForwardAgent
161syn keyword sshconfigKeyword ForwardX11
162syn keyword sshconfigKeyword ForwardX11Timeout
163syn keyword sshconfigKeyword ForwardX11Trusted
164syn keyword sshconfigKeyword GSSAPIAuthentication
165syn keyword sshconfigKeyword GSSAPIClientIdentity
166syn keyword sshconfigKeyword GSSAPIDelegateCredentials
167syn keyword sshconfigKeyword GSSAPIKeyExchange
168syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
169syn keyword sshconfigKeyword GSSAPIServerIdentity
170syn keyword sshconfigKeyword GSSAPITrustDNS
171syn keyword sshconfigKeyword GSSAPITrustDns
172syn keyword sshconfigKeyword GatewayPorts
173syn keyword sshconfigKeyword GlobalKnownHostsFile
174syn keyword sshconfigKeyword HashKnownHosts
175syn keyword sshconfigKeyword HostKeyAlgorithms
176syn keyword sshconfigKeyword HostKeyAlias
177syn keyword sshconfigKeyword HostName
178syn keyword sshconfigKeyword HostbasedAuthentication
179syn keyword sshconfigKeyword HostbasedKeyTypes
180syn keyword sshconfigKeyword IPQoS
181syn keyword sshconfigKeyword IdentitiesOnly
182syn keyword sshconfigKeyword IdentityFile
183syn keyword sshconfigKeyword IgnoreUnknown
184syn keyword sshconfigKeyword IPQoS
185syn keyword sshconfigKeyword KbdInteractiveAuthentication
186syn keyword sshconfigKeyword KbdInteractiveDevices
187syn keyword sshconfigKeyword KexAlgorithms
188syn keyword sshconfigKeyword LocalCommand
189syn keyword sshconfigKeyword LocalForward
190syn keyword sshconfigKeyword LogLevel
191syn keyword sshconfigKeyword MACs
192syn keyword sshconfigKeyword Match
193syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
194syn keyword sshconfigKeyword NumberOfPasswordPrompts
195syn keyword sshconfigKeyword PKCS11Provider
196syn keyword sshconfigKeyword PasswordAuthentication
197syn keyword sshconfigKeyword PermitLocalCommand
198syn keyword sshconfigKeyword Port
199syn keyword sshconfigKeyword PreferredAuthentications
200syn keyword sshconfigKeyword Protocol
201syn keyword sshconfigKeyword ProxyCommand
202syn keyword sshconfigKeyword ProxyJump
203syn keyword sshconfigKeyword ProxyUseFDPass
204syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
205syn keyword sshconfigKeyword PubkeyAuthentication
206syn keyword sshconfigKeyword RSAAuthentication
207syn keyword sshconfigKeyword RekeyLimit
208syn keyword sshconfigKeyword RemoteForward
209syn keyword sshconfigKeyword RequestTTY
210syn keyword sshconfigKeyword RhostsRSAAuthentication
211syn keyword sshconfigKeyword SendEnv
212syn keyword sshconfigKeyword ServerAliveCountMax
213syn keyword sshconfigKeyword ServerAliveInterval
214syn keyword sshconfigKeyword SmartcardDevice
215syn keyword sshconfigKeyword StrictHostKeyChecking
216syn keyword sshconfigKeyword TCPKeepAlive
217syn keyword sshconfigKeyword Tunnel
218syn keyword sshconfigKeyword TunnelDevice
219syn keyword sshconfigKeyword UseBlacklistedKeys
220syn keyword sshconfigKeyword UsePrivilegedPort
221syn keyword sshconfigKeyword User
222syn keyword sshconfigKeyword UserKnownHostsFile
223syn keyword sshconfigKeyword UseRoaming
224syn keyword sshconfigKeyword VerifyHostKeyDNS
225syn keyword sshconfigKeyword VisualHostKey
226syn keyword sshconfigKeyword XAuthLocation
227
228" Define the default highlighting
229
230hi def link sshconfigComment        Comment
231hi def link sshconfigTodo           Todo
232hi def link sshconfigHostPort       sshconfigConstant
233hi def link sshconfigNumber         sshconfigConstant
234hi def link sshconfigConstant       Constant
235hi def link sshconfigYesNo          sshconfigEnum
236hi def link sshconfigCipher         sshconfigEnum
237hi def link sshconfigCiphers	 sshconfigEnum
238hi def link sshconfigMAC            sshconfigEnum
239hi def link sshconfigHostKeyAlgo    sshconfigEnum
240hi def link sshconfigLogLevel       sshconfigEnum
241hi def link sshconfigSysLogFacility sshconfigEnum
242hi def link sshconfigAddressFamily  sshconfigEnum
243hi def link sshconfigIPQoS		 sshconfigEnum
244hi def link sshconfigKbdInteractive sshconfigEnum
245hi def link sshconfigKexAlgo	 sshconfigEnum
246hi def link sshconfigTunnel	 sshconfigEnum
247hi def link sshconfigPreferredAuth  sshconfigEnum
248hi def link sshconfigVar            sshconfigEnum
249hi def link sshconfigEnum           Identifier
250hi def link sshconfigSpecial        Special
251hi def link sshconfigKeyword        Keyword
252hi def link sshconfigHostSect       Type
253hi def link sshconfigMatch          Type
254
255let b:current_syntax = "sshconfig"
256
257" vim:set ts=8 sw=2 sts=2:
258