blob: 6d4de6c64eb249669cf1e4a63d408f1d21680a5b [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>
Bram Moolenaar84f72352012-03-11 15:57:40 +01005" Last Change: 2012 Feb 24
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01006" SSH Version: 5.9p1
7"
Bram Moolenaar071d4272004-06-13 20:20:40 +00008
9" Setup
10if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010011 if exists("b:current_syntax")
12 finish
13 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000014else
Bram Moolenaar5c736222010-01-06 20:54:52 +010015 syntax clear
Bram Moolenaar071d4272004-06-13 20:20:40 +000016endif
17
18if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010019 setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000020else
Bram Moolenaar5c736222010-01-06 20:54:52 +010021 set iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000022endif
23
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010024
25" case on
26syn case match
27
Bram Moolenaar071d4272004-06-13 20:20:40 +000028
29" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010030syn match sshconfigComment "^#.*$" contains=sshconfigTodo
31syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
32
33syn keyword sshconfigTodo TODO FIXME NOTE contained
34
Bram Moolenaar071d4272004-06-13 20:20:40 +000035
36" Constants
37syn keyword sshconfigYesNo yes no ask
Bram Moolenaar5c736222010-01-06 20:54:52 +010038syn keyword sshconfigYesNo any auto
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010039syn keyword sshconfigYesNo force autoask none
40
41syn keyword sshconfigCipher 3des blowfish
42syn keyword sshconfigCiphers aes128-cbc 3des-cbc blowfish blowfish-cbc cast128-cbc
43syn keyword sshconfigCiphers aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr
44syn keyword sshconfigCiphers arcfour arcfour128 arcfour256 cast128-cbc
45
Bram Moolenaar071d4272004-06-13 20:20:40 +000046syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
47syn keyword sshconfigMAC hmac-md5-96
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010048syn keyword sshconfigMAC hmac-sha2-256 hmac-sha2-256-96 hmac-sha2-512
49syn keyword sshconfigMAC hmac-sha2-512-96
50syn match sshconfigMAC "\<umac-64@openssh\.com\>"
51
Bram Moolenaar071d4272004-06-13 20:20:40 +000052syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010053syn match sshconfigHostKeyAlg "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
54syn match sshconfigHostKeyAlg "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
55syn match sshconfigHostKeyAlg "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
56syn match sshconfigHostKeyAlg "\<ssh-rsa-cert-v01@openssh\.com\>"
57syn match sshconfigHostKeyAlg "\<ssh-dss-cert-v01@openssh\.com\>"
58syn match sshconfigHostKeyAlg "\<ssh-rsa-cert-v00@openssh\.com\>"
59syn match sshconfigHostKeyAlg "\<ssh-dss-cert-v00@openssh\.com\>"
60syn keyword sshconfigHostKeyAlg ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521
61
62syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
Bram Moolenaar071d4272004-06-13 20:20:40 +000063syn keyword sshconfigPreferredAuth keyboard-interactive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010064
Bram Moolenaar071d4272004-06-13 20:20:40 +000065syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
66syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010067syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
68syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010069syn keyword sshconfigAddressFamily inet inet6
70
71syn match sshconfigIPQoS "af1[1234]"
72syn match sshconfigIPQoS "af2[23]"
73syn match sshconfigIPQoS "af3[123]"
74syn match sshconfigIPQoS "af4[123]"
75syn match sshconfigIPQoS "cs[0-7]"
76syn keyword sshconfigIPQoS ef lowdelay throughput reliability
77syn keyword sshconfigKbdInteractive bsdauth pam skey
78
79syn keyword sshconfigKexAlgo ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521
80syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256
81syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1
82syn keyword sshconfigKexAlgo diffie-hellman-group14-sha1
83syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
84
85syn keyword sshconfigTunnel point-to-point ethernet
86
87syn match sshconfigVar "%[rhplLdun]\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000088syn match sshconfigSpecial "[*?]"
89syn match sshconfigNumber "\d\+"
90syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
91syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
92syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
Bram Moolenaardb7207e2012-02-22 17:30:19 +010093syn match sshconfigHostPort "\(Host \)\@<=.\+"
94syn match sshconfigHostPort "\(HostName \)\@<=.\+"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010095
96" case off
97syn case ignore
98
99
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100" Keywords
101syn keyword sshconfigHostSect Host
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100102
Bram Moolenaar5c736222010-01-06 20:54:52 +0100103syn keyword sshconfigKeyword AddressFamily
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100104syn keyword sshconfigKeyword BatchMode
105syn keyword sshconfigKeyword BindAddress
106syn keyword sshconfigKeyword ChallengeResponseAuthentication
107syn keyword sshconfigKeyword CheckHostIP
108syn keyword sshconfigKeyword Cipher
109syn keyword sshconfigKeyword Ciphers
110syn keyword sshconfigKeyword ClearAllForwardings
111syn keyword sshconfigKeyword Compression
112syn keyword sshconfigKeyword CompressionLevel
113syn keyword sshconfigKeyword ConnectTimeout
114syn keyword sshconfigKeyword ConnectionAttempts
115syn keyword sshconfigKeyword ControlMaster
116syn keyword sshconfigKeyword ControlPath
117syn keyword sshconfigKeyword ControlPersist
118syn keyword sshconfigKeyword DynamicForward
119syn keyword sshconfigKeyword EnableSSHKeysign
120syn keyword sshconfigKeyword EscapeChar
121syn keyword sshconfigKeyword ExitOnForwardFailure
122syn keyword sshconfigKeyword ForwardAgent
123syn keyword sshconfigKeyword ForwardX11
124syn keyword sshconfigKeyword ForwardX11Timeout
Bram Moolenaar5c736222010-01-06 20:54:52 +0100125syn keyword sshconfigKeyword ForwardX11Trusted
126syn keyword sshconfigKeyword GSSAPIAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100127syn keyword sshconfigKeyword GSSAPIClientIdentity
128syn keyword sshconfigKeyword GSSAPIDelegateCredentials
129syn keyword sshconfigKeyword GSSAPIKeyExchange
130syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
131syn keyword sshconfigKeyword GSSAPIServerIdentity
132syn keyword sshconfigKeyword GSSAPITrustDNS
133syn keyword sshconfigKeyword GSSAPITrustDns
134syn keyword sshconfigKeyword GatewayPorts
Bram Moolenaar5c736222010-01-06 20:54:52 +0100135syn keyword sshconfigKeyword GlobalKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100136syn keyword sshconfigKeyword HashKnownHosts
137syn keyword sshconfigKeyword HostKeyAlgorithms
138syn keyword sshconfigKeyword HostKeyAlias
139syn keyword sshconfigKeyword HostName
140syn keyword sshconfigKeyword HostbasedAuthentication
141syn keyword sshconfigKeyword IPQoS
142syn keyword sshconfigKeyword IdentitiesOnly
143syn keyword sshconfigKeyword IdentityFile
144syn keyword sshconfigKeyword KbdInteractiveAuthentication
145syn keyword sshconfigKeyword KbdInteractiveDevices
146syn keyword sshconfigKeyword KexAlgorithms
147syn keyword sshconfigKeyword LocalCommand
148syn keyword sshconfigKeyword LocalForward
149syn keyword sshconfigKeyword LogLevel
Bram Moolenaar5c736222010-01-06 20:54:52 +0100150syn keyword sshconfigKeyword MACs
151syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
152syn keyword sshconfigKeyword NumberOfPasswordPrompts
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100153syn keyword sshconfigKeyword PKCS11Provider
154syn keyword sshconfigKeyword PasswordAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100155syn keyword sshconfigKeyword PermitLocalCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100156syn keyword sshconfigKeyword Port
157syn keyword sshconfigKeyword PreferredAuthentications
158syn keyword sshconfigKeyword Protocol
159syn keyword sshconfigKeyword ProxyCommand
160syn keyword sshconfigKeyword PubkeyAuthentication
161syn keyword sshconfigKeyword RSAAuthentication
162syn keyword sshconfigKeyword RekeyLimit
163syn keyword sshconfigKeyword RemoteForward
164syn keyword sshconfigKeyword RequestTTY
Bram Moolenaar5c736222010-01-06 20:54:52 +0100165syn keyword sshconfigKeyword RhostsRSAAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100166syn keyword sshconfigKeyword SendEnv
167syn keyword sshconfigKeyword ServerAliveCountMax
168syn keyword sshconfigKeyword ServerAliveInterval
169syn keyword sshconfigKeyword SmartcardDevice
170syn keyword sshconfigKeyword StrictHostKeyChecking
171syn keyword sshconfigKeyword TCPKeepAlive
172syn keyword sshconfigKeyword Tunnel
173syn keyword sshconfigKeyword TunnelDevice
174syn keyword sshconfigKeyword UseBlacklistedKeys
175syn keyword sshconfigKeyword UsePrivilegedPort
176syn keyword sshconfigKeyword User
Bram Moolenaar5c736222010-01-06 20:54:52 +0100177syn keyword sshconfigKeyword UserKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100178syn keyword sshconfigKeyword VerifyHostKeyDNS
179syn keyword sshconfigKeyword VisualHostKey
Bram Moolenaar5c736222010-01-06 20:54:52 +0100180syn keyword sshconfigKeyword XAuthLocation
Bram Moolenaar071d4272004-06-13 20:20:40 +0000181
182" Define the default highlighting
183if version >= 508 || !exists("did_sshconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +0100184 if version < 508
185 let did_sshconfig_syntax_inits = 1
186 command -nargs=+ HiLink hi link <args>
187 else
188 command -nargs=+ HiLink hi def link <args>
189 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000190
Bram Moolenaar5c736222010-01-06 20:54:52 +0100191 HiLink sshconfigComment Comment
192 HiLink sshconfigTodo Todo
193 HiLink sshconfigHostPort sshconfigConstant
194 HiLink sshconfigNumber sshconfigConstant
195 HiLink sshconfigConstant Constant
196 HiLink sshconfigYesNo sshconfigEnum
197 HiLink sshconfigCipher sshconfigEnum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100198 HiLink sshconfigCiphers sshconfigEnum
Bram Moolenaar5c736222010-01-06 20:54:52 +0100199 HiLink sshconfigMAC sshconfigEnum
200 HiLink sshconfigHostKeyAlg sshconfigEnum
201 HiLink sshconfigLogLevel sshconfigEnum
202 HiLink sshconfigSysLogFacility sshconfigEnum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100203 HiLink sshconfigAddressFamily sshconfigEnum
204 HiLink sshconfigIPQoS sshconfigEnum
205 HiLink sshconfigKbdInteractive sshconfigEnum
206 HiLink sshconfigKexAlgo sshconfigEnum
207 HiLink sshconfigTunnel sshconfigEnum
Bram Moolenaar5c736222010-01-06 20:54:52 +0100208 HiLink sshconfigPreferredAuth sshconfigEnum
209 HiLink sshconfigVar sshconfigEnum
210 HiLink sshconfigEnum Identifier
211 HiLink sshconfigSpecial Special
212 HiLink sshconfigKeyword Keyword
213 HiLink sshconfigHostSect Type
214 delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000215endif
216
217let b:current_syntax = "sshconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100218
219" vim:set ts=8 sw=2 sts=2: