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