xref: /vim-8.2.3635/runtime/syntax/sshconfig.vim (revision b1c9198a)
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 Dec 28
9" SSH Version:	7.4p1
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 Include
185syn keyword sshconfigKeyword IPQoS
186syn keyword sshconfigKeyword KbdInteractiveAuthentication
187syn keyword sshconfigKeyword KbdInteractiveDevices
188syn keyword sshconfigKeyword KexAlgorithms
189syn keyword sshconfigKeyword LocalCommand
190syn keyword sshconfigKeyword LocalForward
191syn keyword sshconfigKeyword LogLevel
192syn keyword sshconfigKeyword MACs
193syn keyword sshconfigKeyword Match
194syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
195syn keyword sshconfigKeyword NumberOfPasswordPrompts
196syn keyword sshconfigKeyword PKCS11Provider
197syn keyword sshconfigKeyword PasswordAuthentication
198syn keyword sshconfigKeyword PermitLocalCommand
199syn keyword sshconfigKeyword Port
200syn keyword sshconfigKeyword PreferredAuthentications
201syn keyword sshconfigKeyword Protocol
202syn keyword sshconfigKeyword ProxyCommand
203syn keyword sshconfigKeyword ProxyJump
204syn keyword sshconfigKeyword ProxyUseFDPass
205syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
206syn keyword sshconfigKeyword PubkeyAuthentication
207syn keyword sshconfigKeyword RSAAuthentication
208syn keyword sshconfigKeyword RekeyLimit
209syn keyword sshconfigKeyword RemoteForward
210syn keyword sshconfigKeyword RequestTTY
211syn keyword sshconfigKeyword RhostsRSAAuthentication
212syn keyword sshconfigKeyword SendEnv
213syn keyword sshconfigKeyword ServerAliveCountMax
214syn keyword sshconfigKeyword ServerAliveInterval
215syn keyword sshconfigKeyword SmartcardDevice
216syn keyword sshconfigKeyword StrictHostKeyChecking
217syn keyword sshconfigKeyword TCPKeepAlive
218syn keyword sshconfigKeyword Tunnel
219syn keyword sshconfigKeyword TunnelDevice
220syn keyword sshconfigKeyword UseBlacklistedKeys
221syn keyword sshconfigKeyword UsePrivilegedPort
222syn keyword sshconfigKeyword User
223syn keyword sshconfigKeyword UserKnownHostsFile
224syn keyword sshconfigKeyword UseRoaming
225syn keyword sshconfigKeyword VerifyHostKeyDNS
226syn keyword sshconfigKeyword VisualHostKey
227syn keyword sshconfigKeyword XAuthLocation
228
229" Define the default highlighting
230
231hi def link sshconfigComment        Comment
232hi def link sshconfigTodo           Todo
233hi def link sshconfigHostPort       sshconfigConstant
234hi def link sshconfigNumber         sshconfigConstant
235hi def link sshconfigConstant       Constant
236hi def link sshconfigYesNo          sshconfigEnum
237hi def link sshconfigCipher         sshconfigEnum
238hi def link sshconfigCiphers	 sshconfigEnum
239hi def link sshconfigMAC            sshconfigEnum
240hi def link sshconfigHostKeyAlgo    sshconfigEnum
241hi def link sshconfigLogLevel       sshconfigEnum
242hi def link sshconfigSysLogFacility sshconfigEnum
243hi def link sshconfigAddressFamily  sshconfigEnum
244hi def link sshconfigIPQoS		 sshconfigEnum
245hi def link sshconfigKbdInteractive sshconfigEnum
246hi def link sshconfigKexAlgo	 sshconfigEnum
247hi def link sshconfigTunnel	 sshconfigEnum
248hi def link sshconfigPreferredAuth  sshconfigEnum
249hi def link sshconfigVar            sshconfigEnum
250hi def link sshconfigEnum           Identifier
251hi def link sshconfigSpecial        Special
252hi def link sshconfigKeyword        Keyword
253hi def link sshconfigHostSect       Type
254hi def link sshconfigMatch          Type
255
256let b:current_syntax = "sshconfig"
257
258" vim:set ts=8 sw=2 sts=2:
259