xref: /vim-8.2.3635/runtime/syntax/sshconfig.vim (revision 6be7f873)
1" Vim syntax file
2" Language:	OpenSSH client configuration file (ssh_config)
3" Author:	David Necas (Yeti)
4" Maintainer:   Leonard Ehrenfried <[email protected]>
5" Modified By:	Thilo Six
6" Originally:	2009-07-09
7" Last Change:	2011 Oct 31
8" SSH Version:	5.9p1
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[1234]"
74syn match   sshconfigIPQoS	"af2[23]"
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\+\>"
95
96
97" case off
98syn case ignore
99
100
101" Keywords
102syn keyword sshconfigHostSect Host
103
104syn keyword sshconfigKeyword AddressFamily
105syn keyword sshconfigKeyword BatchMode
106syn keyword sshconfigKeyword BindAddress
107syn keyword sshconfigKeyword ChallengeResponseAuthentication
108syn keyword sshconfigKeyword CheckHostIP
109syn keyword sshconfigKeyword Cipher
110syn keyword sshconfigKeyword Ciphers
111syn keyword sshconfigKeyword ClearAllForwardings
112syn keyword sshconfigKeyword Compression
113syn keyword sshconfigKeyword CompressionLevel
114syn keyword sshconfigKeyword ConnectTimeout
115syn keyword sshconfigKeyword ConnectionAttempts
116syn keyword sshconfigKeyword ControlMaster
117syn keyword sshconfigKeyword ControlPath
118syn keyword sshconfigKeyword ControlPersist
119syn keyword sshconfigKeyword DynamicForward
120syn keyword sshconfigKeyword EnableSSHKeysign
121syn keyword sshconfigKeyword EscapeChar
122syn keyword sshconfigKeyword ExitOnForwardFailure
123syn keyword sshconfigKeyword ForwardAgent
124syn keyword sshconfigKeyword ForwardX11
125syn keyword sshconfigKeyword ForwardX11Timeout
126syn keyword sshconfigKeyword ForwardX11Trusted
127syn keyword sshconfigKeyword GSSAPIAuthentication
128syn keyword sshconfigKeyword GSSAPIClientIdentity
129syn keyword sshconfigKeyword GSSAPIDelegateCredentials
130syn keyword sshconfigKeyword GSSAPIKeyExchange
131syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
132syn keyword sshconfigKeyword GSSAPIServerIdentity
133syn keyword sshconfigKeyword GSSAPITrustDNS
134syn keyword sshconfigKeyword GSSAPITrustDns
135syn keyword sshconfigKeyword GatewayPorts
136syn keyword sshconfigKeyword GlobalKnownHostsFile
137syn keyword sshconfigKeyword HashKnownHosts
138syn keyword sshconfigKeyword HostKeyAlgorithms
139syn keyword sshconfigKeyword HostKeyAlias
140syn keyword sshconfigKeyword HostName
141syn keyword sshconfigKeyword HostbasedAuthentication
142syn keyword sshconfigKeyword IPQoS
143syn keyword sshconfigKeyword IdentitiesOnly
144syn keyword sshconfigKeyword IdentityFile
145syn keyword sshconfigKeyword KbdInteractiveAuthentication
146syn keyword sshconfigKeyword KbdInteractiveDevices
147syn keyword sshconfigKeyword KexAlgorithms
148syn keyword sshconfigKeyword LocalCommand
149syn keyword sshconfigKeyword LocalForward
150syn keyword sshconfigKeyword LogLevel
151syn keyword sshconfigKeyword MACs
152syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
153syn keyword sshconfigKeyword NumberOfPasswordPrompts
154syn keyword sshconfigKeyword PKCS11Provider
155syn keyword sshconfigKeyword PasswordAuthentication
156syn keyword sshconfigKeyword PermitLocalCommand
157syn keyword sshconfigKeyword Port
158syn keyword sshconfigKeyword PreferredAuthentications
159syn keyword sshconfigKeyword Protocol
160syn keyword sshconfigKeyword ProxyCommand
161syn keyword sshconfigKeyword PubkeyAuthentication
162syn keyword sshconfigKeyword RSAAuthentication
163syn keyword sshconfigKeyword RekeyLimit
164syn keyword sshconfigKeyword RemoteForward
165syn keyword sshconfigKeyword RequestTTY
166syn keyword sshconfigKeyword RhostsRSAAuthentication
167syn keyword sshconfigKeyword SendEnv
168syn keyword sshconfigKeyword ServerAliveCountMax
169syn keyword sshconfigKeyword ServerAliveInterval
170syn keyword sshconfigKeyword SmartcardDevice
171syn keyword sshconfigKeyword StrictHostKeyChecking
172syn keyword sshconfigKeyword TCPKeepAlive
173syn keyword sshconfigKeyword Tunnel
174syn keyword sshconfigKeyword TunnelDevice
175syn keyword sshconfigKeyword UseBlacklistedKeys
176syn keyword sshconfigKeyword UsePrivilegedPort
177syn keyword sshconfigKeyword User
178syn keyword sshconfigKeyword UserKnownHostsFile
179syn keyword sshconfigKeyword VerifyHostKeyDNS
180syn keyword sshconfigKeyword VisualHostKey
181syn keyword sshconfigKeyword XAuthLocation
182
183" Define the default highlighting
184if version >= 508 || !exists("did_sshconfig_syntax_inits")
185  if version < 508
186    let did_sshconfig_syntax_inits = 1
187    command -nargs=+ HiLink hi link <args>
188  else
189    command -nargs=+ HiLink hi def link <args>
190  endif
191
192  HiLink sshconfigComment        Comment
193  HiLink sshconfigTodo           Todo
194  HiLink sshconfigHostPort       sshconfigConstant
195  HiLink sshconfigNumber         sshconfigConstant
196  HiLink sshconfigConstant       Constant
197  HiLink sshconfigYesNo          sshconfigEnum
198  HiLink sshconfigCipher         sshconfigEnum
199  HiLink sshconfigCiphers	 sshconfigEnum
200  HiLink sshconfigMAC            sshconfigEnum
201  HiLink sshconfigHostKeyAlg     sshconfigEnum
202  HiLink sshconfigLogLevel       sshconfigEnum
203  HiLink sshconfigSysLogFacility sshconfigEnum
204  HiLink sshconfigAddressFamily  sshconfigEnum
205  HiLink sshconfigIPQoS		 sshconfigEnum
206  HiLink sshconfigKbdInteractive sshconfigEnum
207  HiLink sshconfigKexAlgo	 sshconfigEnum
208  HiLink sshconfigTunnel	 sshconfigEnum
209  HiLink sshconfigPreferredAuth  sshconfigEnum
210  HiLink sshconfigVar            sshconfigEnum
211  HiLink sshconfigEnum           Identifier
212  HiLink sshconfigSpecial        Special
213  HiLink sshconfigKeyword        Keyword
214  HiLink sshconfigHostSect       Type
215  delcommand HiLink
216endif
217
218let b:current_syntax = "sshconfig"
219
220" vim:set ts=8 sw=2 sts=2:
221