blob: 051b2f9a8ade743bb5a492f682dad530e812f29f [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>
Bram Moolenaar345efa02016-01-15 20:57:49 +01005" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
6" Contributor: Karsten Hopp <karsten@redhat.com>
Bram Moolenaar09521312016-08-12 22:54:35 +02007" Contributor: Dean, Adam Kenneth <adam.ken.dean@hpe.com>
8" Last Change: 2016 Aug 11
9" SSH Version: 7.3p1
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010010"
Bram Moolenaar071d4272004-06-13 20:20:40 +000011
12" Setup
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020013" quit when a syntax file was already loaded
14if exists("b:current_syntax")
15 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000016endif
17
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020018setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000019
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010020
21" case on
22syn case match
23
Bram Moolenaar071d4272004-06-13 20:20:40 +000024
25" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010026syn match sshconfigComment "^#.*$" contains=sshconfigTodo
27syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
28
29syn keyword sshconfigTodo TODO FIXME NOTE contained
30
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
32" Constants
Bram Moolenaar939a1ab2016-04-10 01:31:25 +020033syn keyword sshconfigYesNo yes no ask confirm
Bram Moolenaar5c736222010-01-06 20:54:52 +010034syn keyword sshconfigYesNo any auto
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010035syn keyword sshconfigYesNo force autoask none
36
Bram Moolenaar328da0d2016-03-04 22:22:32 +010037syn keyword sshconfigCipher 3des blowfish
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010038
Bram Moolenaar328da0d2016-03-04 22:22:32 +010039syn keyword sshconfigCiphers 3des-cbc
40syn keyword sshconfigCiphers blowfish-cbc
41syn keyword sshconfigCiphers cast128-cbc
42syn keyword sshconfigCiphers arcfour
43syn keyword sshconfigCiphers arcfour128
44syn keyword sshconfigCiphers arcfour256
45syn keyword sshconfigCiphers aes128-cbc
46syn keyword sshconfigCiphers aes192-cbc
47syn keyword sshconfigCiphers aes256-cbc
48syn match sshconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
49syn keyword sshconfigCiphers aes128-ctr
50syn keyword sshconfigCiphers aes192-ctr
51syn keyword sshconfigCiphers aes256-ctr
52syn match sshconfigCiphers "\<aes128-gcm@openssh\.com\>"
53syn match sshconfigCiphers "\<aes256-gcm@openssh\.com\>"
54syn match sshconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
55
56syn keyword sshconfigMAC hmac-sha1
57syn keyword sshconfigMAC mac-sha1-96
58syn keyword sshconfigMAC mac-sha2-256
59syn keyword sshconfigMAC mac-sha2-512
60syn keyword sshconfigMAC mac-md5
61syn keyword sshconfigMAC mac-md5-96
62syn keyword sshconfigMAC mac-ripemd160
63syn match sshconfigMAC "\<hmac-ripemd160@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010064syn match sshconfigMAC "\<umac-64@openssh\.com\>"
Bram Moolenaar328da0d2016-03-04 22:22:32 +010065syn match sshconfigMAC "\<umac-128@openssh\.com\>"
66syn match sshconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
67syn match sshconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
68syn match sshconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
69syn match sshconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
70syn match sshconfigMAC "\<hmac-md5-etm@openssh\.com\>"
71syn match sshconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
72syn match sshconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
73syn match sshconfigMAC "\<umac-64-etm@openssh\.com\>"
74syn match sshconfigMAC "\<umac-128-etm@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010075
Bram Moolenaar328da0d2016-03-04 22:22:32 +010076syn keyword sshconfigHostKeyAlgo ssh-ed25519
77syn match sshconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
78syn keyword sshconfigHostKeyAlgo ssh-rsa
79syn keyword sshconfigHostKeyAlgo ssh-dss
80syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp256
81syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp384
82syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp521
83syn match sshconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
84syn match sshconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
85syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
86syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
87syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010088
89syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
Bram Moolenaar071d4272004-06-13 20:20:40 +000090syn keyword sshconfigPreferredAuth keyboard-interactive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010091
Bram Moolenaar071d4272004-06-13 20:20:40 +000092syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
93syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010094syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
95syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010096syn keyword sshconfigAddressFamily inet inet6
97
Bram Moolenaar345efa02016-01-15 20:57:49 +010098syn match sshconfigIPQoS "af1[123]"
99syn match sshconfigIPQoS "af2[123]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100100syn match sshconfigIPQoS "af3[123]"
101syn match sshconfigIPQoS "af4[123]"
102syn match sshconfigIPQoS "cs[0-7]"
103syn keyword sshconfigIPQoS ef lowdelay throughput reliability
104syn keyword sshconfigKbdInteractive bsdauth pam skey
105
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100106syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
107syn keyword sshconfigKexAlgo diffie-hellman-group14-sha1
108syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1
109syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256
110syn keyword sshconfigKexAlgo ecdh-sha2-nistp256
111syn keyword sshconfigKexAlgo ecdh-sha2-nistp384
112syn keyword sshconfigKexAlgo ecdh-sha2-nistp521
113syn match sshconfigKexAlgo "\<curve25519-sha256@libssh\.org\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100114
115syn keyword sshconfigTunnel point-to-point ethernet
116
117syn match sshconfigVar "%[rhplLdun]\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000118syn match sshconfigSpecial "[*?]"
119syn match sshconfigNumber "\d\+"
120syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
121syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
122syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
Bram Moolenaardb7207e2012-02-22 17:30:19 +0100123syn match sshconfigHostPort "\(Host \)\@<=.\+"
124syn match sshconfigHostPort "\(HostName \)\@<=.\+"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100125
126" case off
127syn case ignore
128
129
Bram Moolenaar071d4272004-06-13 20:20:40 +0000130" Keywords
131syn keyword sshconfigHostSect Host
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100132
Bram Moolenaar256972a2015-12-29 19:10:25 +0100133syn keyword sshconfigMatch canonical exec host originalhost user localuser all
134
Bram Moolenaar5c736222010-01-06 20:54:52 +0100135syn keyword sshconfigKeyword AddressFamily
Bram Moolenaar939a1ab2016-04-10 01:31:25 +0200136syn keyword sshconfigKeyword AddKeysToAgent
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100137syn keyword sshconfigKeyword BatchMode
138syn keyword sshconfigKeyword BindAddress
Bram Moolenaar345efa02016-01-15 20:57:49 +0100139syn keyword sshconfigKeyword CanonicalDomains
140syn keyword sshconfigKeyword CanonicalizeFallbackLocal
141syn keyword sshconfigKeyword CanonicalizeHostname
142syn keyword sshconfigKeyword CanonicalizeMaxDots
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100143syn keyword sshconfigKeyword CertificateFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100144syn keyword sshconfigKeyword ChallengeResponseAuthentication
145syn keyword sshconfigKeyword CheckHostIP
146syn keyword sshconfigKeyword Cipher
147syn keyword sshconfigKeyword Ciphers
148syn keyword sshconfigKeyword ClearAllForwardings
149syn keyword sshconfigKeyword Compression
150syn keyword sshconfigKeyword CompressionLevel
151syn keyword sshconfigKeyword ConnectTimeout
152syn keyword sshconfigKeyword ConnectionAttempts
153syn keyword sshconfigKeyword ControlMaster
154syn keyword sshconfigKeyword ControlPath
155syn keyword sshconfigKeyword ControlPersist
156syn keyword sshconfigKeyword DynamicForward
157syn keyword sshconfigKeyword EnableSSHKeysign
158syn keyword sshconfigKeyword EscapeChar
159syn keyword sshconfigKeyword ExitOnForwardFailure
160syn keyword sshconfigKeyword ForwardAgent
161syn keyword sshconfigKeyword ForwardX11
162syn keyword sshconfigKeyword ForwardX11Timeout
Bram Moolenaar5c736222010-01-06 20:54:52 +0100163syn keyword sshconfigKeyword ForwardX11Trusted
164syn keyword sshconfigKeyword GSSAPIAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100165syn keyword sshconfigKeyword GSSAPIClientIdentity
166syn keyword sshconfigKeyword GSSAPIDelegateCredentials
167syn keyword sshconfigKeyword GSSAPIKeyExchange
168syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
169syn keyword sshconfigKeyword GSSAPIServerIdentity
170syn keyword sshconfigKeyword GSSAPITrustDNS
171syn keyword sshconfigKeyword GSSAPITrustDns
172syn keyword sshconfigKeyword GatewayPorts
Bram Moolenaar5c736222010-01-06 20:54:52 +0100173syn keyword sshconfigKeyword GlobalKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100174syn keyword sshconfigKeyword HashKnownHosts
175syn keyword sshconfigKeyword HostKeyAlgorithms
176syn keyword sshconfigKeyword HostKeyAlias
177syn keyword sshconfigKeyword HostName
178syn keyword sshconfigKeyword HostbasedAuthentication
Bram Moolenaar256972a2015-12-29 19:10:25 +0100179syn keyword sshconfigKeyword HostbasedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100180syn keyword sshconfigKeyword IPQoS
181syn keyword sshconfigKeyword IdentitiesOnly
182syn keyword sshconfigKeyword IdentityFile
Bram Moolenaar345efa02016-01-15 20:57:49 +0100183syn keyword sshconfigKeyword IgnoreUnknown
184syn keyword sshconfigKeyword IPQoS
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100185syn keyword sshconfigKeyword KbdInteractiveAuthentication
186syn keyword sshconfigKeyword KbdInteractiveDevices
187syn keyword sshconfigKeyword KexAlgorithms
188syn keyword sshconfigKeyword LocalCommand
189syn keyword sshconfigKeyword LocalForward
190syn keyword sshconfigKeyword LogLevel
Bram Moolenaar5c736222010-01-06 20:54:52 +0100191syn keyword sshconfigKeyword MACs
Bram Moolenaar256972a2015-12-29 19:10:25 +0100192syn keyword sshconfigKeyword Match
Bram Moolenaar5c736222010-01-06 20:54:52 +0100193syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
194syn keyword sshconfigKeyword NumberOfPasswordPrompts
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100195syn keyword sshconfigKeyword PKCS11Provider
196syn keyword sshconfigKeyword PasswordAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100197syn keyword sshconfigKeyword PermitLocalCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100198syn keyword sshconfigKeyword Port
199syn keyword sshconfigKeyword PreferredAuthentications
200syn keyword sshconfigKeyword Protocol
201syn keyword sshconfigKeyword ProxyCommand
Bram Moolenaar09521312016-08-12 22:54:35 +0200202syn keyword sshconfigKeyword ProxyJump
Bram Moolenaar256972a2015-12-29 19:10:25 +0100203syn keyword sshconfigKeyword ProxyUseFDPass
204syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100205syn keyword sshconfigKeyword PubkeyAuthentication
206syn keyword sshconfigKeyword RSAAuthentication
207syn keyword sshconfigKeyword RekeyLimit
208syn keyword sshconfigKeyword RemoteForward
209syn keyword sshconfigKeyword RequestTTY
Bram Moolenaar5c736222010-01-06 20:54:52 +0100210syn keyword sshconfigKeyword RhostsRSAAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100211syn keyword sshconfigKeyword SendEnv
212syn keyword sshconfigKeyword ServerAliveCountMax
213syn keyword sshconfigKeyword ServerAliveInterval
214syn keyword sshconfigKeyword SmartcardDevice
215syn keyword sshconfigKeyword StrictHostKeyChecking
216syn keyword sshconfigKeyword TCPKeepAlive
217syn keyword sshconfigKeyword Tunnel
218syn keyword sshconfigKeyword TunnelDevice
219syn keyword sshconfigKeyword UseBlacklistedKeys
220syn keyword sshconfigKeyword UsePrivilegedPort
221syn keyword sshconfigKeyword User
Bram Moolenaar5c736222010-01-06 20:54:52 +0100222syn keyword sshconfigKeyword UserKnownHostsFile
Bram Moolenaar345efa02016-01-15 20:57:49 +0100223syn keyword sshconfigKeyword UseRoaming
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100224syn keyword sshconfigKeyword VerifyHostKeyDNS
225syn keyword sshconfigKeyword VisualHostKey
Bram Moolenaar5c736222010-01-06 20:54:52 +0100226syn keyword sshconfigKeyword XAuthLocation
Bram Moolenaar071d4272004-06-13 20:20:40 +0000227
228" Define the default highlighting
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200229command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +0000230
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200231HiLink sshconfigComment Comment
232HiLink sshconfigTodo Todo
233HiLink sshconfigHostPort sshconfigConstant
234HiLink sshconfigNumber sshconfigConstant
235HiLink sshconfigConstant Constant
236HiLink sshconfigYesNo sshconfigEnum
237HiLink sshconfigCipher sshconfigEnum
238HiLink sshconfigCiphers sshconfigEnum
239HiLink sshconfigMAC sshconfigEnum
240HiLink sshconfigHostKeyAlgo sshconfigEnum
241HiLink sshconfigLogLevel sshconfigEnum
242HiLink sshconfigSysLogFacility sshconfigEnum
243HiLink sshconfigAddressFamily sshconfigEnum
244HiLink sshconfigIPQoS sshconfigEnum
245HiLink sshconfigKbdInteractive sshconfigEnum
246HiLink sshconfigKexAlgo sshconfigEnum
247HiLink sshconfigTunnel sshconfigEnum
248HiLink sshconfigPreferredAuth sshconfigEnum
249HiLink sshconfigVar sshconfigEnum
250HiLink sshconfigEnum Identifier
251HiLink sshconfigSpecial Special
252HiLink sshconfigKeyword Keyword
253HiLink sshconfigHostSect Type
254HiLink sshconfigMatch Type
255delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000256
257let b:current_syntax = "sshconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100258
259" vim:set ts=8 sw=2 sts=2: