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