sshconfig.vim 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  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 <leonard.ehrenfried@web.de>
  6. " Contributor: Karsten Hopp <karsten@redhat.com>
  7. " Contributor: Dean, Adam Kenneth <adam.ken.dean@hpe.com>
  8. " Last Change: 2016 Dec 28
  9. " SSH Version: 7.4p1
  10. "
  11. " Setup
  12. " quit when a syntax file was already loaded
  13. if exists("b:current_syntax")
  14. finish
  15. endif
  16. setlocal iskeyword=_,-,a-z,A-Z,48-57
  17. " case on
  18. syn case match
  19. " Comments
  20. syn match sshconfigComment "^#.*$" contains=sshconfigTodo
  21. syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
  22. syn keyword sshconfigTodo TODO FIXME NOTE contained
  23. " Constants
  24. syn keyword sshconfigYesNo yes no ask confirm
  25. syn keyword sshconfigYesNo any auto
  26. syn keyword sshconfigYesNo force autoask none
  27. syn keyword sshconfigCipher 3des blowfish
  28. syn keyword sshconfigCiphers 3des-cbc
  29. syn keyword sshconfigCiphers blowfish-cbc
  30. syn keyword sshconfigCiphers cast128-cbc
  31. syn keyword sshconfigCiphers arcfour
  32. syn keyword sshconfigCiphers arcfour128
  33. syn keyword sshconfigCiphers arcfour256
  34. syn keyword sshconfigCiphers aes128-cbc
  35. syn keyword sshconfigCiphers aes192-cbc
  36. syn keyword sshconfigCiphers aes256-cbc
  37. syn match sshconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
  38. syn keyword sshconfigCiphers aes128-ctr
  39. syn keyword sshconfigCiphers aes192-ctr
  40. syn keyword sshconfigCiphers aes256-ctr
  41. syn match sshconfigCiphers "\<aes128-gcm@openssh\.com\>"
  42. syn match sshconfigCiphers "\<aes256-gcm@openssh\.com\>"
  43. syn match sshconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
  44. syn keyword sshconfigMAC hmac-sha1
  45. syn keyword sshconfigMAC mac-sha1-96
  46. syn keyword sshconfigMAC mac-sha2-256
  47. syn keyword sshconfigMAC mac-sha2-512
  48. syn keyword sshconfigMAC mac-md5
  49. syn keyword sshconfigMAC mac-md5-96
  50. syn keyword sshconfigMAC mac-ripemd160
  51. syn match sshconfigMAC "\<hmac-ripemd160@openssh\.com\>"
  52. syn match sshconfigMAC "\<umac-64@openssh\.com\>"
  53. syn match sshconfigMAC "\<umac-128@openssh\.com\>"
  54. syn match sshconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
  55. syn match sshconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
  56. syn match sshconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
  57. syn match sshconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
  58. syn match sshconfigMAC "\<hmac-md5-etm@openssh\.com\>"
  59. syn match sshconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
  60. syn match sshconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
  61. syn match sshconfigMAC "\<umac-64-etm@openssh\.com\>"
  62. syn match sshconfigMAC "\<umac-128-etm@openssh\.com\>"
  63. syn keyword sshconfigHostKeyAlgo ssh-ed25519
  64. syn match sshconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
  65. syn keyword sshconfigHostKeyAlgo ssh-rsa
  66. syn keyword sshconfigHostKeyAlgo ssh-dss
  67. syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp256
  68. syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp384
  69. syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp521
  70. syn match sshconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
  71. syn match sshconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
  72. syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
  73. syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
  74. syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
  75. syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
  76. syn keyword sshconfigPreferredAuth keyboard-interactive
  77. syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
  78. syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
  79. syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
  80. syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
  81. syn keyword sshconfigAddressFamily inet inet6
  82. syn match sshconfigIPQoS "af1[123]"
  83. syn match sshconfigIPQoS "af2[123]"
  84. syn match sshconfigIPQoS "af3[123]"
  85. syn match sshconfigIPQoS "af4[123]"
  86. syn match sshconfigIPQoS "cs[0-7]"
  87. syn keyword sshconfigIPQoS ef lowdelay throughput reliability
  88. syn keyword sshconfigKbdInteractive bsdauth pam skey
  89. syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
  90. syn keyword sshconfigKexAlgo diffie-hellman-group14-sha1
  91. syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1
  92. syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256
  93. syn keyword sshconfigKexAlgo ecdh-sha2-nistp256
  94. syn keyword sshconfigKexAlgo ecdh-sha2-nistp384
  95. syn keyword sshconfigKexAlgo ecdh-sha2-nistp521
  96. syn match sshconfigKexAlgo "\<curve25519-sha256@libssh\.org\>"
  97. syn keyword sshconfigTunnel point-to-point ethernet
  98. syn match sshconfigVar "%[rhplLdun]\>"
  99. syn match sshconfigSpecial "[*?]"
  100. syn match sshconfigNumber "\d\+"
  101. syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
  102. syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
  103. syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
  104. syn match sshconfigHostPort "\(Host \)\@<=.\+"
  105. syn match sshconfigHostPort "\(HostName \)\@<=.\+"
  106. " case off
  107. syn case ignore
  108. " Keywords
  109. syn keyword sshconfigHostSect Host
  110. syn keyword sshconfigMatch canonical exec host originalhost user localuser all
  111. syn keyword sshconfigKeyword AddressFamily
  112. syn keyword sshconfigKeyword AddKeysToAgent
  113. syn keyword sshconfigKeyword BatchMode
  114. syn keyword sshconfigKeyword BindAddress
  115. syn keyword sshconfigKeyword CanonicalDomains
  116. syn keyword sshconfigKeyword CanonicalizeFallbackLocal
  117. syn keyword sshconfigKeyword CanonicalizeHostname
  118. syn keyword sshconfigKeyword CanonicalizeMaxDots
  119. syn keyword sshconfigKeyword CertificateFile
  120. syn keyword sshconfigKeyword ChallengeResponseAuthentication
  121. syn keyword sshconfigKeyword CheckHostIP
  122. syn keyword sshconfigKeyword Cipher
  123. syn keyword sshconfigKeyword Ciphers
  124. syn keyword sshconfigKeyword ClearAllForwardings
  125. syn keyword sshconfigKeyword Compression
  126. syn keyword sshconfigKeyword CompressionLevel
  127. syn keyword sshconfigKeyword ConnectTimeout
  128. syn keyword sshconfigKeyword ConnectionAttempts
  129. syn keyword sshconfigKeyword ControlMaster
  130. syn keyword sshconfigKeyword ControlPath
  131. syn keyword sshconfigKeyword ControlPersist
  132. syn keyword sshconfigKeyword DynamicForward
  133. syn keyword sshconfigKeyword EnableSSHKeysign
  134. syn keyword sshconfigKeyword EscapeChar
  135. syn keyword sshconfigKeyword ExitOnForwardFailure
  136. syn keyword sshconfigKeyword ForwardAgent
  137. syn keyword sshconfigKeyword ForwardX11
  138. syn keyword sshconfigKeyword ForwardX11Timeout
  139. syn keyword sshconfigKeyword ForwardX11Trusted
  140. syn keyword sshconfigKeyword GSSAPIAuthentication
  141. syn keyword sshconfigKeyword GSSAPIClientIdentity
  142. syn keyword sshconfigKeyword GSSAPIDelegateCredentials
  143. syn keyword sshconfigKeyword GSSAPIKeyExchange
  144. syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
  145. syn keyword sshconfigKeyword GSSAPIServerIdentity
  146. syn keyword sshconfigKeyword GSSAPITrustDNS
  147. syn keyword sshconfigKeyword GSSAPITrustDns
  148. syn keyword sshconfigKeyword GatewayPorts
  149. syn keyword sshconfigKeyword GlobalKnownHostsFile
  150. syn keyword sshconfigKeyword HashKnownHosts
  151. syn keyword sshconfigKeyword HostKeyAlgorithms
  152. syn keyword sshconfigKeyword HostKeyAlias
  153. syn keyword sshconfigKeyword HostName
  154. syn keyword sshconfigKeyword HostbasedAuthentication
  155. syn keyword sshconfigKeyword HostbasedKeyTypes
  156. syn keyword sshconfigKeyword IPQoS
  157. syn keyword sshconfigKeyword IdentitiesOnly
  158. syn keyword sshconfigKeyword IdentityFile
  159. syn keyword sshconfigKeyword IgnoreUnknown
  160. syn keyword sshconfigKeyword Include
  161. syn keyword sshconfigKeyword IPQoS
  162. syn keyword sshconfigKeyword KbdInteractiveAuthentication
  163. syn keyword sshconfigKeyword KbdInteractiveDevices
  164. syn keyword sshconfigKeyword KexAlgorithms
  165. syn keyword sshconfigKeyword LocalCommand
  166. syn keyword sshconfigKeyword LocalForward
  167. syn keyword sshconfigKeyword LogLevel
  168. syn keyword sshconfigKeyword MACs
  169. syn keyword sshconfigKeyword Match
  170. syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
  171. syn keyword sshconfigKeyword NumberOfPasswordPrompts
  172. syn keyword sshconfigKeyword PKCS11Provider
  173. syn keyword sshconfigKeyword PasswordAuthentication
  174. syn keyword sshconfigKeyword PermitLocalCommand
  175. syn keyword sshconfigKeyword Port
  176. syn keyword sshconfigKeyword PreferredAuthentications
  177. syn keyword sshconfigKeyword Protocol
  178. syn keyword sshconfigKeyword ProxyCommand
  179. syn keyword sshconfigKeyword ProxyJump
  180. syn keyword sshconfigKeyword ProxyUseFDPass
  181. syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
  182. syn keyword sshconfigKeyword PubkeyAuthentication
  183. syn keyword sshconfigKeyword RSAAuthentication
  184. syn keyword sshconfigKeyword RekeyLimit
  185. syn keyword sshconfigKeyword RemoteForward
  186. syn keyword sshconfigKeyword RequestTTY
  187. syn keyword sshconfigKeyword RhostsRSAAuthentication
  188. syn keyword sshconfigKeyword SendEnv
  189. syn keyword sshconfigKeyword ServerAliveCountMax
  190. syn keyword sshconfigKeyword ServerAliveInterval
  191. syn keyword sshconfigKeyword SmartcardDevice
  192. syn keyword sshconfigKeyword StrictHostKeyChecking
  193. syn keyword sshconfigKeyword TCPKeepAlive
  194. syn keyword sshconfigKeyword Tunnel
  195. syn keyword sshconfigKeyword TunnelDevice
  196. syn keyword sshconfigKeyword UseBlacklistedKeys
  197. syn keyword sshconfigKeyword UsePrivilegedPort
  198. syn keyword sshconfigKeyword User
  199. syn keyword sshconfigKeyword UserKnownHostsFile
  200. syn keyword sshconfigKeyword UseRoaming
  201. syn keyword sshconfigKeyword VerifyHostKeyDNS
  202. syn keyword sshconfigKeyword VisualHostKey
  203. syn keyword sshconfigKeyword XAuthLocation
  204. " Define the default highlighting
  205. hi def link sshconfigComment Comment
  206. hi def link sshconfigTodo Todo
  207. hi def link sshconfigHostPort sshconfigConstant
  208. hi def link sshconfigNumber sshconfigConstant
  209. hi def link sshconfigConstant Constant
  210. hi def link sshconfigYesNo sshconfigEnum
  211. hi def link sshconfigCipher sshconfigEnum
  212. hi def link sshconfigCiphers sshconfigEnum
  213. hi def link sshconfigMAC sshconfigEnum
  214. hi def link sshconfigHostKeyAlgo sshconfigEnum
  215. hi def link sshconfigLogLevel sshconfigEnum
  216. hi def link sshconfigSysLogFacility sshconfigEnum
  217. hi def link sshconfigAddressFamily sshconfigEnum
  218. hi def link sshconfigIPQoS sshconfigEnum
  219. hi def link sshconfigKbdInteractive sshconfigEnum
  220. hi def link sshconfigKexAlgo sshconfigEnum
  221. hi def link sshconfigTunnel sshconfigEnum
  222. hi def link sshconfigPreferredAuth sshconfigEnum
  223. hi def link sshconfigVar sshconfigEnum
  224. hi def link sshconfigEnum Identifier
  225. hi def link sshconfigSpecial Special
  226. hi def link sshconfigKeyword Keyword
  227. hi def link sshconfigHostSect Type
  228. hi def link sshconfigMatch Type
  229. let b:current_syntax = "sshconfig"
  230. " vim:set ts=8 sw=2 sts=2: