blob: 479277e17fe8752313220ef0f4846a0455540582 [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)
Bram Moolenaar256972a2015-12-29 19:10:25 +01004" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de>
5" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
6" Last Change: 2015 Dec 3
7" SSH Version: 7.0
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01008"
Bram Moolenaar071d4272004-06-13 20:20:40 +00009
10" Setup
11if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010012 if exists("b:current_syntax")
13 finish
14 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000015else
Bram Moolenaar5c736222010-01-06 20:54:52 +010016 syntax clear
Bram Moolenaar071d4272004-06-13 20:20:40 +000017endif
18
19if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010020 setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000021else
Bram Moolenaar5c736222010-01-06 20:54:52 +010022 set iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000023endif
24
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010025
26" case on
27syn case match
28
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
30" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010031syn match sshconfigComment "^#.*$" contains=sshconfigTodo
32syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
33
34syn keyword sshconfigTodo TODO FIXME NOTE contained
35
Bram Moolenaar071d4272004-06-13 20:20:40 +000036
37" Constants
38syn keyword sshconfigYesNo yes no ask
Bram Moolenaar5c736222010-01-06 20:54:52 +010039syn keyword sshconfigYesNo any auto
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010040syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000047syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
48syn keyword sshconfigMAC hmac-md5-96
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010049syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000053syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010054syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000064syn keyword sshconfigPreferredAuth keyboard-interactive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010065
Bram Moolenaar071d4272004-06-13 20:20:40 +000066syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
67syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010068syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
69syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010070syn 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]\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000089syn 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\+\>"
Bram Moolenaardb7207e2012-02-22 17:30:19 +010094syn match sshconfigHostPort "\(Host \)\@<=.\+"
95syn match sshconfigHostPort "\(HostName \)\@<=.\+"
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 Moolenaar256972a2015-12-29 19:10:25 +0100104syn keyword sshconfigMatch canonical exec host originalhost user localuser all
105
Bram Moolenaar5c736222010-01-06 20:54:52 +0100106syn keyword sshconfigKeyword AddressFamily
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100107syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100128syn keyword sshconfigKeyword ForwardX11Trusted
129syn keyword sshconfigKeyword GSSAPIAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100130syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100138syn keyword sshconfigKeyword GlobalKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100139syn keyword sshconfigKeyword HashKnownHosts
140syn keyword sshconfigKeyword HostKeyAlgorithms
141syn keyword sshconfigKeyword HostKeyAlias
142syn keyword sshconfigKeyword HostName
143syn keyword sshconfigKeyword HostbasedAuthentication
Bram Moolenaar256972a2015-12-29 19:10:25 +0100144syn keyword sshconfigKeyword HostbasedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100145syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100154syn keyword sshconfigKeyword MACs
Bram Moolenaar256972a2015-12-29 19:10:25 +0100155syn keyword sshconfigKeyword Match
Bram Moolenaar5c736222010-01-06 20:54:52 +0100156syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
157syn keyword sshconfigKeyword NumberOfPasswordPrompts
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100158syn keyword sshconfigKeyword PKCS11Provider
159syn keyword sshconfigKeyword PasswordAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100160syn keyword sshconfigKeyword PermitLocalCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100161syn keyword sshconfigKeyword Port
162syn keyword sshconfigKeyword PreferredAuthentications
163syn keyword sshconfigKeyword Protocol
164syn keyword sshconfigKeyword ProxyCommand
Bram Moolenaar256972a2015-12-29 19:10:25 +0100165syn keyword sshconfigKeyword ProxyUseFDPass
166syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100167syn keyword sshconfigKeyword PubkeyAuthentication
168syn keyword sshconfigKeyword RSAAuthentication
169syn keyword sshconfigKeyword RekeyLimit
170syn keyword sshconfigKeyword RemoteForward
171syn keyword sshconfigKeyword RequestTTY
Bram Moolenaar5c736222010-01-06 20:54:52 +0100172syn keyword sshconfigKeyword RhostsRSAAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100173syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +0100184syn keyword sshconfigKeyword UserKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100185syn keyword sshconfigKeyword VerifyHostKeyDNS
186syn keyword sshconfigKeyword VisualHostKey
Bram Moolenaar5c736222010-01-06 20:54:52 +0100187syn keyword sshconfigKeyword XAuthLocation
Bram Moolenaar071d4272004-06-13 20:20:40 +0000188
189" Define the default highlighting
190if version >= 508 || !exists("did_sshconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +0100191 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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000197
Bram Moolenaar5c736222010-01-06 20:54:52 +0100198 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
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100205 HiLink sshconfigCiphers sshconfigEnum
Bram Moolenaar5c736222010-01-06 20:54:52 +0100206 HiLink sshconfigMAC sshconfigEnum
207 HiLink sshconfigHostKeyAlg sshconfigEnum
208 HiLink sshconfigLogLevel sshconfigEnum
209 HiLink sshconfigSysLogFacility sshconfigEnum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100210 HiLink sshconfigAddressFamily sshconfigEnum
211 HiLink sshconfigIPQoS sshconfigEnum
212 HiLink sshconfigKbdInteractive sshconfigEnum
213 HiLink sshconfigKexAlgo sshconfigEnum
214 HiLink sshconfigTunnel sshconfigEnum
Bram Moolenaar5c736222010-01-06 20:54:52 +0100215 HiLink sshconfigPreferredAuth sshconfigEnum
216 HiLink sshconfigVar sshconfigEnum
217 HiLink sshconfigEnum Identifier
218 HiLink sshconfigSpecial Special
219 HiLink sshconfigKeyword Keyword
220 HiLink sshconfigHostSect Type
Bram Moolenaar256972a2015-12-29 19:10:25 +0100221 HiLink sshconfigMatch Type
Bram Moolenaar5c736222010-01-06 20:54:52 +0100222 delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000223endif
224
225let b:current_syntax = "sshconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100226
227" vim:set ts=8 sw=2 sts=2: