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