blob: c2d97dd71721a822e6bb64cff3d672c9ffc1a529 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01002" Language: OpenSSH client configuration file (ssh_config)
3" Author: David Necas (Yeti)
4" Maintainer: Leonard Ehrenfried <leonard.ehrenfried@web.de>
5" Modified By: Thilo Six
6" Originally: 2009-07-09
7" Last Change: 2011 Oct 31
8" SSH Version: 5.9p1
9"
Bram Moolenaar071d4272004-06-13 20:20:40 +000010
11" Setup
12if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010013 if exists("b:current_syntax")
14 finish
15 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000016else
Bram Moolenaar5c736222010-01-06 20:54:52 +010017 syntax clear
Bram Moolenaar071d4272004-06-13 20:20:40 +000018endif
19
20if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010021 setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000022else
Bram Moolenaar5c736222010-01-06 20:54:52 +010023 set iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000024endif
25
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010026
27" case on
28syn case match
29
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
31" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010032syn match sshconfigComment "^#.*$" contains=sshconfigTodo
33syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
34
35syn keyword sshconfigTodo TODO FIXME NOTE contained
36
Bram Moolenaar071d4272004-06-13 20:20:40 +000037
38" Constants
39syn keyword sshconfigYesNo yes no ask
Bram Moolenaar5c736222010-01-06 20:54:52 +010040syn keyword sshconfigYesNo any auto
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010041syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000048syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
49syn keyword sshconfigMAC hmac-md5-96
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010050syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000054syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010055syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000065syn keyword sshconfigPreferredAuth keyboard-interactive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010066
Bram Moolenaar071d4272004-06-13 20:20:40 +000067syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
68syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010069syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
70syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010071syn 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]\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000090syn 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
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010096
97" case off
98syn case ignore
99
100
Bram Moolenaar071d4272004-06-13 20:20:40 +0000101" Keywords
102syn keyword sshconfigHostSect Host
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100103
Bram Moolenaar5c736222010-01-06 20:54:52 +0100104syn keyword sshconfigKeyword AddressFamily
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100105syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100126syn keyword sshconfigKeyword ForwardX11Trusted
127syn keyword sshconfigKeyword GSSAPIAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100128syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100136syn keyword sshconfigKeyword GlobalKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100137syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100151syn keyword sshconfigKeyword MACs
152syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
153syn keyword sshconfigKeyword NumberOfPasswordPrompts
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100154syn keyword sshconfigKeyword PKCS11Provider
155syn keyword sshconfigKeyword PasswordAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100156syn keyword sshconfigKeyword PermitLocalCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100157syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100166syn keyword sshconfigKeyword RhostsRSAAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100167syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100178syn keyword sshconfigKeyword UserKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100179syn keyword sshconfigKeyword VerifyHostKeyDNS
180syn keyword sshconfigKeyword VisualHostKey
Bram Moolenaar5c736222010-01-06 20:54:52 +0100181syn keyword sshconfigKeyword XAuthLocation
Bram Moolenaar071d4272004-06-13 20:20:40 +0000182
183" Define the default highlighting
184if version >= 508 || !exists("did_sshconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +0100185 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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000191
Bram Moolenaar5c736222010-01-06 20:54:52 +0100192 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
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100199 HiLink sshconfigCiphers sshconfigEnum
Bram Moolenaar5c736222010-01-06 20:54:52 +0100200 HiLink sshconfigMAC sshconfigEnum
201 HiLink sshconfigHostKeyAlg sshconfigEnum
202 HiLink sshconfigLogLevel sshconfigEnum
203 HiLink sshconfigSysLogFacility sshconfigEnum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100204 HiLink sshconfigAddressFamily sshconfigEnum
205 HiLink sshconfigIPQoS sshconfigEnum
206 HiLink sshconfigKbdInteractive sshconfigEnum
207 HiLink sshconfigKexAlgo sshconfigEnum
208 HiLink sshconfigTunnel sshconfigEnum
Bram Moolenaar5c736222010-01-06 20:54:52 +0100209 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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000216endif
217
218let b:current_syntax = "sshconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100219
220" vim:set ts=8 sw=2 sts=2: