1" Vim syntax file 2" Language: OpenSSH client configuration file (ssh_config) 3" Author: David Necas (Yeti) 4" Maintainer: Leonard Ehrenfried <[email protected]> 5" Last Change: 2012 Feb 24 6" SSH Version: 5.9p1 7" 8 9" Setup 10if version >= 600 11 if exists("b:current_syntax") 12 finish 13 endif 14else 15 syntax clear 16endif 17 18if version >= 600 19 setlocal iskeyword=_,-,a-z,A-Z,48-57 20else 21 set iskeyword=_,-,a-z,A-Z,48-57 22endif 23 24 25" case on 26syn case match 27 28 29" Comments 30syn match sshconfigComment "^#.*$" contains=sshconfigTodo 31syn match sshconfigComment "\s#.*$" contains=sshconfigTodo 32 33syn keyword sshconfigTodo TODO FIXME NOTE contained 34 35 36" Constants 37syn keyword sshconfigYesNo yes no ask 38syn keyword sshconfigYesNo any auto 39syn 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 46syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96 47syn keyword sshconfigMAC hmac-md5-96 48syn 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 52syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss 53syn 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 63syn keyword sshconfigPreferredAuth keyboard-interactive 64 65syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE 66syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3 67syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1 68syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 69syn 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]\>" 88syn 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\+\>" 93syn match sshconfigHostPort "\(Host \)\@<=.\+" 94syn match sshconfigHostPort "\(HostName \)\@<=.\+" 95 96" case off 97syn case ignore 98 99 100" Keywords 101syn keyword sshconfigHostSect Host 102 103syn keyword sshconfigKeyword AddressFamily 104syn 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 125syn keyword sshconfigKeyword ForwardX11Trusted 126syn keyword sshconfigKeyword GSSAPIAuthentication 127syn 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 135syn keyword sshconfigKeyword GlobalKnownHostsFile 136syn 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 150syn keyword sshconfigKeyword MACs 151syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost 152syn keyword sshconfigKeyword NumberOfPasswordPrompts 153syn keyword sshconfigKeyword PKCS11Provider 154syn keyword sshconfigKeyword PasswordAuthentication 155syn keyword sshconfigKeyword PermitLocalCommand 156syn 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 165syn keyword sshconfigKeyword RhostsRSAAuthentication 166syn 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 177syn keyword sshconfigKeyword UserKnownHostsFile 178syn keyword sshconfigKeyword VerifyHostKeyDNS 179syn keyword sshconfigKeyword VisualHostKey 180syn keyword sshconfigKeyword XAuthLocation 181 182" Define the default highlighting 183if version >= 508 || !exists("did_sshconfig_syntax_inits") 184 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 190 191 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 198 HiLink sshconfigCiphers sshconfigEnum 199 HiLink sshconfigMAC sshconfigEnum 200 HiLink sshconfigHostKeyAlg sshconfigEnum 201 HiLink sshconfigLogLevel sshconfigEnum 202 HiLink sshconfigSysLogFacility sshconfigEnum 203 HiLink sshconfigAddressFamily sshconfigEnum 204 HiLink sshconfigIPQoS sshconfigEnum 205 HiLink sshconfigKbdInteractive sshconfigEnum 206 HiLink sshconfigKexAlgo sshconfigEnum 207 HiLink sshconfigTunnel sshconfigEnum 208 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 215endif 216 217let b:current_syntax = "sshconfig" 218 219" vim:set ts=8 sw=2 sts=2: 220