1" Vim syntax file 2" Language: OpenSSH client configuration file (ssh_config) 3" Author: David Necas (Yeti) 4" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de> 5" Contributor: Leonard Ehrenfried <[email protected]> 6" Contributor: Karsten Hopp <[email protected]> 7" Last Change: 2016 Jan 15 8" SSH Version: 7.1 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[123]" 74syn match sshconfigIPQoS "af2[123]" 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\+\>" 95syn match sshconfigHostPort "\(Host \)\@<=.\+" 96syn match sshconfigHostPort "\(HostName \)\@<=.\+" 97 98" case off 99syn case ignore 100 101 102" Keywords 103syn keyword sshconfigHostSect Host 104 105syn keyword sshconfigMatch canonical exec host originalhost user localuser all 106 107syn keyword sshconfigKeyword AddressFamily 108syn keyword sshconfigKeyword BatchMode 109syn keyword sshconfigKeyword BindAddress 110syn keyword sshconfigKeyword CanonicalDomains 111syn keyword sshconfigKeyword CanonicalizeFallbackLocal 112syn keyword sshconfigKeyword CanonicalizeHostname 113syn keyword sshconfigKeyword CanonicalizeMaxDots 114syn keyword sshconfigKeyword ChallengeResponseAuthentication 115syn keyword sshconfigKeyword CheckHostIP 116syn keyword sshconfigKeyword Cipher 117syn keyword sshconfigKeyword Ciphers 118syn keyword sshconfigKeyword ClearAllForwardings 119syn keyword sshconfigKeyword Compression 120syn keyword sshconfigKeyword CompressionLevel 121syn keyword sshconfigKeyword ConnectTimeout 122syn keyword sshconfigKeyword ConnectionAttempts 123syn keyword sshconfigKeyword ControlMaster 124syn keyword sshconfigKeyword ControlPath 125syn keyword sshconfigKeyword ControlPersist 126syn keyword sshconfigKeyword DynamicForward 127syn keyword sshconfigKeyword EnableSSHKeysign 128syn keyword sshconfigKeyword EscapeChar 129syn keyword sshconfigKeyword ExitOnForwardFailure 130syn keyword sshconfigKeyword ForwardAgent 131syn keyword sshconfigKeyword ForwardX11 132syn keyword sshconfigKeyword ForwardX11Timeout 133syn keyword sshconfigKeyword ForwardX11Trusted 134syn keyword sshconfigKeyword GSSAPIAuthentication 135syn keyword sshconfigKeyword GSSAPIClientIdentity 136syn keyword sshconfigKeyword GSSAPIDelegateCredentials 137syn keyword sshconfigKeyword GSSAPIKeyExchange 138syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey 139syn keyword sshconfigKeyword GSSAPIServerIdentity 140syn keyword sshconfigKeyword GSSAPITrustDNS 141syn keyword sshconfigKeyword GSSAPITrustDns 142syn keyword sshconfigKeyword GatewayPorts 143syn keyword sshconfigKeyword GlobalKnownHostsFile 144syn keyword sshconfigKeyword HashKnownHosts 145syn keyword sshconfigKeyword HostKeyAlgorithms 146syn keyword sshconfigKeyword HostKeyAlias 147syn keyword sshconfigKeyword HostName 148syn keyword sshconfigKeyword HostbasedAuthentication 149syn keyword sshconfigKeyword HostbasedKeyTypes 150syn keyword sshconfigKeyword IPQoS 151syn keyword sshconfigKeyword IdentitiesOnly 152syn keyword sshconfigKeyword IdentityFile 153syn keyword sshconfigKeyword IgnoreUnknown 154syn keyword sshconfigKeyword IPQoS 155syn keyword sshconfigKeyword KbdInteractiveAuthentication 156syn keyword sshconfigKeyword KbdInteractiveDevices 157syn keyword sshconfigKeyword KexAlgorithms 158syn keyword sshconfigKeyword LocalCommand 159syn keyword sshconfigKeyword LocalForward 160syn keyword sshconfigKeyword LogLevel 161syn keyword sshconfigKeyword MACs 162syn keyword sshconfigKeyword Match 163syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost 164syn keyword sshconfigKeyword NumberOfPasswordPrompts 165syn keyword sshconfigKeyword PKCS11Provider 166syn keyword sshconfigKeyword PasswordAuthentication 167syn keyword sshconfigKeyword PermitLocalCommand 168syn keyword sshconfigKeyword Port 169syn keyword sshconfigKeyword PreferredAuthentications 170syn keyword sshconfigKeyword Protocol 171syn keyword sshconfigKeyword ProxyCommand 172syn keyword sshconfigKeyword ProxyUseFDPass 173syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes 174syn keyword sshconfigKeyword PubkeyAuthentication 175syn keyword sshconfigKeyword RSAAuthentication 176syn keyword sshconfigKeyword RekeyLimit 177syn keyword sshconfigKeyword RemoteForward 178syn keyword sshconfigKeyword RequestTTY 179syn keyword sshconfigKeyword RhostsRSAAuthentication 180syn keyword sshconfigKeyword SendEnv 181syn keyword sshconfigKeyword ServerAliveCountMax 182syn keyword sshconfigKeyword ServerAliveInterval 183syn keyword sshconfigKeyword SmartcardDevice 184syn keyword sshconfigKeyword StrictHostKeyChecking 185syn keyword sshconfigKeyword TCPKeepAlive 186syn keyword sshconfigKeyword Tunnel 187syn keyword sshconfigKeyword TunnelDevice 188syn keyword sshconfigKeyword UseBlacklistedKeys 189syn keyword sshconfigKeyword UsePrivilegedPort 190syn keyword sshconfigKeyword User 191syn keyword sshconfigKeyword UserKnownHostsFile 192syn keyword sshconfigKeyword UseRoaming 193syn keyword sshconfigKeyword VerifyHostKeyDNS 194syn keyword sshconfigKeyword VisualHostKey 195syn keyword sshconfigKeyword XAuthLocation 196 197" Define the default highlighting 198if version >= 508 || !exists("did_sshconfig_syntax_inits") 199 if version < 508 200 let did_sshconfig_syntax_inits = 1 201 command -nargs=+ HiLink hi link <args> 202 else 203 command -nargs=+ HiLink hi def link <args> 204 endif 205 206 HiLink sshconfigComment Comment 207 HiLink sshconfigTodo Todo 208 HiLink sshconfigHostPort sshconfigConstant 209 HiLink sshconfigNumber sshconfigConstant 210 HiLink sshconfigConstant Constant 211 HiLink sshconfigYesNo sshconfigEnum 212 HiLink sshconfigCipher sshconfigEnum 213 HiLink sshconfigCiphers sshconfigEnum 214 HiLink sshconfigMAC sshconfigEnum 215 HiLink sshconfigHostKeyAlg sshconfigEnum 216 HiLink sshconfigLogLevel sshconfigEnum 217 HiLink sshconfigSysLogFacility sshconfigEnum 218 HiLink sshconfigAddressFamily sshconfigEnum 219 HiLink sshconfigIPQoS sshconfigEnum 220 HiLink sshconfigKbdInteractive sshconfigEnum 221 HiLink sshconfigKexAlgo sshconfigEnum 222 HiLink sshconfigTunnel sshconfigEnum 223 HiLink sshconfigPreferredAuth sshconfigEnum 224 HiLink sshconfigVar sshconfigEnum 225 HiLink sshconfigEnum Identifier 226 HiLink sshconfigSpecial Special 227 HiLink sshconfigKeyword Keyword 228 HiLink sshconfigHostSect Type 229 HiLink sshconfigMatch Type 230 delcommand HiLink 231endif 232 233let b:current_syntax = "sshconfig" 234 235" vim:set ts=8 sw=2 sts=2: 236