neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

sshconfig.vim (12975B)


      1 " Vim syntax file
      2 " Language:	OpenSSH client configuration file (ssh_config)
      3 " Author:	David Necas (Yeti)
      4 " Maintainer:	Jakub Jelen <jakuje at gmail dot com>
      5 " Previous Maintainer:	Dominik Fischer <d dot f dot fischer at web dot de>
      6 " Contributor:	Leonard Ehrenfried <leonard.ehrenfried@web.de>
      7 "		Karsten Hopp <karsten@redhat.com>
      8 "		Dean, Adam Kenneth <adam.ken.dean@hpe.com>
      9 " Last Change:	2022 Nov 10
     10 " Last Update:	2026 Feb 24
     11 "		Added RemoteCommand from pull request #4809
     12 "		Included additional keywords from Martin.
     13 "		Included PR #5753
     14 "		Update missing keywords #19488
     15 " SSH Version:	8.5p1
     16 "
     17 
     18 " Setup
     19 " quit when a syntax file was already loaded
     20 if exists("b:current_syntax")
     21  finish
     22 endif
     23 
     24 setlocal iskeyword=_,-,a-z,A-Z,48-57
     25 
     26 
     27 " case on
     28 syn case match
     29 
     30 
     31 " Comments
     32 syn match sshconfigComment "^#.*$" contains=sshconfigTodo
     33 syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
     34 
     35 syn keyword sshconfigTodo TODO FIXME NOTE contained
     36 
     37 
     38 " Constants
     39 syn keyword sshconfigYesNo yes no ask confirm
     40 syn keyword sshconfigYesNo any auto
     41 syn keyword sshconfigYesNo force autoask none
     42 
     43 syn keyword sshconfigCipher 3des blowfish
     44 
     45 syn keyword sshconfigCiphers 3des-cbc
     46 syn keyword sshconfigCiphers blowfish-cbc
     47 syn keyword sshconfigCiphers cast128-cbc
     48 syn keyword sshconfigCiphers arcfour
     49 syn keyword sshconfigCiphers arcfour128
     50 syn keyword sshconfigCiphers arcfour256
     51 syn keyword sshconfigCiphers aes128-cbc
     52 syn keyword sshconfigCiphers aes192-cbc
     53 syn keyword sshconfigCiphers aes256-cbc
     54 syn match sshconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
     55 syn keyword sshconfigCiphers aes128-ctr
     56 syn keyword sshconfigCiphers aes192-ctr
     57 syn keyword sshconfigCiphers aes256-ctr
     58 syn match sshconfigCiphers "\<aes128-gcm@openssh\.com\>"
     59 syn match sshconfigCiphers "\<aes256-gcm@openssh\.com\>"
     60 syn match sshconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
     61 
     62 syn keyword sshconfigMAC hmac-sha1
     63 syn keyword sshconfigMAC hmac-sha1-96
     64 syn keyword sshconfigMAC hmac-sha2-256
     65 syn keyword sshconfigMAC hmac-sha2-512
     66 syn keyword sshconfigMAC hmac-md5
     67 syn keyword sshconfigMAC hmac-md5-96
     68 syn match   sshconfigMAC "\<hmac-ripemd160\%(@openssh\.com\)\?\>"
     69 syn match   sshconfigMAC "\<umac-64@openssh\.com\>"
     70 syn match   sshconfigMAC "\<umac-128@openssh\.com\>"
     71 syn match   sshconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
     72 syn match   sshconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
     73 syn match   sshconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
     74 syn match   sshconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
     75 syn match   sshconfigMAC "\<hmac-md5-etm@openssh\.com\>"
     76 syn match   sshconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
     77 syn match   sshconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
     78 syn match   sshconfigMAC "\<umac-64-etm@openssh\.com\>"
     79 syn match   sshconfigMAC "\<umac-128-etm@openssh\.com\>"
     80 
     81 syn keyword sshconfigHostKeyAlgo ssh-ed25519
     82 syn match sshconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
     83 syn match sshconfigHostKeyAlgo "\<sk-ssh-ed25519@openssh\.com\>"
     84 syn match sshconfigHostKeyAlgo "\<sk-ssh-ed25519-cert-v01@openssh\.com\>"
     85 syn keyword sshconfigHostKeyAlgo ssh-rsa
     86 syn keyword sshconfigHostKeyAlgo rsa-sha2-256
     87 syn keyword sshconfigHostKeyAlgo rsa-sha2-512
     88 syn keyword sshconfigHostKeyAlgo ssh-dss
     89 syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp256
     90 syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp384
     91 syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp521
     92 syn match sshconfigHostKeyAlgo "\<sk-ecdsa-sha2-nistp256@openssh\.com\>"
     93 syn match sshconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
     94 syn match sshconfigHostKeyAlgo "\<rsa-sha2-256-cert-v01@openssh\.com\>"
     95 syn match sshconfigHostKeyAlgo "\<rsa-sha2-512-cert-v01@openssh\.com\>"
     96 syn match sshconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
     97 syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
     98 syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
     99 syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
    100 syn match sshconfigHostKeyAlgo "\<sk-ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
    101 
    102 syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
    103 syn keyword sshconfigPreferredAuth keyboard-interactive
    104 
    105 syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
    106 syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
    107 syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
    108 syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
    109 syn keyword sshconfigAddressFamily  inet inet6
    110 
    111 syn match   sshconfigIPQoS	"\<af[1-4][1-3]\>"
    112 syn match   sshconfigIPQoS	"\<cs[0-7]\>"
    113 syn keyword sshconfigIPQoS	ef le lowdelay throughput reliability
    114 syn keyword sshconfigKbdInteractive bsdauth pam skey
    115 
    116 syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
    117 syn keyword sshconfigKexAlgo diffie-hellman-group14-sha1
    118 syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1
    119 syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256
    120 syn keyword sshconfigKexAlgo diffie-hellman-group16-sha512
    121 syn keyword sshconfigKexAlgo diffie-hellman-group18-sha512
    122 syn keyword sshconfigKexAlgo diffie-hellman-group14-sha256
    123 syn keyword sshconfigKexAlgo ecdh-sha2-nistp256
    124 syn keyword sshconfigKexAlgo ecdh-sha2-nistp384
    125 syn keyword sshconfigKexAlgo ecdh-sha2-nistp521
    126 syn match sshconfigKexAlgo "\<curve25519-sha256\%(@libssh\.org\)\?\>"
    127 syn match sshconfigKexAlgo "\<sntrup761x25519-sha512@openssh\.com\>"
    128 
    129 syn keyword sshconfigTunnel	point-to-point ethernet
    130 
    131 syn match sshconfigVar "%[CdfHhIijKkLlnprTtu]\>"
    132 syn match sshconfigVar "%%"
    133 syn match sshconfigSpecial "[*?]"
    134 syn match sshconfigNumber "\<\d\+\>"
    135 syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
    136 syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
    137 syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
    138 syn match sshconfigHostPort "\<\c\(Host \+\)\@<=.\+"
    139 syn match sshconfigHostPort "\<\c\(Hostname \+\)\@<=.\+"
    140 
    141 " case off
    142 syn case ignore
    143 
    144 
    145 " Keywords
    146 syn keyword sshconfigHostSect Host
    147 
    148 syn keyword sshconfigMatch canonical final exec localnetwork host originalhost tagged user localuser all
    149 
    150 syn keyword sshconfigKeyword AddKeysToAgent
    151 syn keyword sshconfigKeyword AddressFamily
    152 syn keyword sshconfigKeyword BatchMode
    153 syn keyword sshconfigKeyword BindAddress
    154 syn keyword sshconfigKeyword BindInterface
    155 syn keyword sshconfigKeyword CanonicalDomains
    156 syn keyword sshconfigKeyword CanonicalizeFallbackLocal
    157 syn keyword sshconfigKeyword CanonicalizeHostname
    158 syn keyword sshconfigKeyword CanonicalizeMaxDots
    159 syn keyword sshconfigKeyword CanonicalizePermittedCNAMEs
    160 syn keyword sshconfigKeyword CASignatureAlgorithms
    161 syn keyword sshconfigKeyword CertificateFile
    162 syn keyword sshconfigKeyword ChallengeResponseAuthentication
    163 syn keyword sshconfigKeyword ChannelTimeout
    164 syn keyword sshconfigKeyword CheckHostIP
    165 syn keyword sshconfigKeyword Ciphers
    166 syn keyword sshconfigKeyword ClearAllForwardings
    167 syn keyword sshconfigKeyword Compression
    168 syn keyword sshconfigKeyword ConnectionAttempts
    169 syn keyword sshconfigKeyword ConnectTimeout
    170 syn keyword sshconfigKeyword ControlMaster
    171 syn keyword sshconfigKeyword ControlPath
    172 syn keyword sshconfigKeyword ControlPersist
    173 syn keyword sshconfigKeyword DynamicForward
    174 syn keyword sshconfigKeyword EnableEscapeCommandline
    175 syn keyword sshconfigKeyword EnableSSHKeysign
    176 syn keyword sshconfigKeyword EscapeChar
    177 syn keyword sshconfigKeyword ExitOnForwardFailure
    178 syn keyword sshconfigKeyword FingerprintHash
    179 syn keyword sshconfigKeyword ForkAfterAuthentication
    180 syn keyword sshconfigKeyword ForwardAgent
    181 syn keyword sshconfigKeyword ForwardX11
    182 syn keyword sshconfigKeyword ForwardX11Timeout
    183 syn keyword sshconfigKeyword ForwardX11Trusted
    184 syn keyword sshconfigKeyword GatewayPorts
    185 syn keyword sshconfigKeyword GlobalKnownHostsFile
    186 syn keyword sshconfigKeyword GSSAPIAuthentication
    187 syn keyword sshconfigKeyword GSSAPIDelegateCredentials
    188 syn keyword sshconfigKeyword HashKnownHosts
    189 syn keyword sshconfigKeyword HostbasedAcceptedAlgorithms
    190 syn keyword sshconfigKeyword HostbasedAuthentication
    191 syn keyword sshconfigKeyword HostbasedKeyTypes
    192 syn keyword sshconfigKeyword HostKeyAlgorithms
    193 syn keyword sshconfigKeyword HostKeyAlias
    194 syn keyword sshconfigKeyword Hostname
    195 syn keyword sshconfigKeyword IdentitiesOnly
    196 syn keyword sshconfigKeyword IdentityAgent
    197 syn keyword sshconfigKeyword IdentityFile
    198 syn keyword sshconfigKeyword IgnoreUnknown
    199 syn keyword sshconfigKeyword Include
    200 syn keyword sshconfigKeyword IPQoS
    201 syn keyword sshconfigKeyword KbdInteractiveAuthentication
    202 syn keyword sshconfigKeyword KbdInteractiveDevices
    203 syn keyword sshconfigKeyword KexAlgorithms
    204 syn keyword sshconfigKeyword KnownHostsCommand
    205 syn keyword sshconfigKeyword LocalCommand
    206 syn keyword sshconfigKeyword LocalForward
    207 syn keyword sshconfigKeyword LogLevel
    208 syn keyword sshconfigKeyword LogVerbose
    209 syn keyword sshconfigKeyword MACs
    210 syn keyword sshconfigKeyword Match
    211 syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
    212 syn keyword sshconfigKeyword NumberOfPasswordPrompts
    213 syn keyword sshconfigKeyword ObscureKeystrokeTiming
    214 syn keyword sshconfigKeyword PasswordAuthentication
    215 syn keyword sshconfigKeyword PermitLocalCommand
    216 syn keyword sshconfigKeyword PermitRemoteOpen
    217 syn keyword sshconfigKeyword PKCS11Provider
    218 syn keyword sshconfigKeyword Port
    219 syn keyword sshconfigKeyword PreferredAuthentications
    220 syn keyword sshconfigKeyword ProxyCommand
    221 syn keyword sshconfigKeyword ProxyJump
    222 syn keyword sshconfigKeyword ProxyUseFdpass
    223 syn keyword sshconfigKeyword PubkeyAcceptedAlgorithms
    224 syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
    225 syn keyword sshconfigKeyword PubkeyAuthentication
    226 syn keyword sshconfigKeyword RefuseConnection
    227 syn keyword sshconfigKeyword RekeyLimit
    228 syn keyword sshconfigKeyword RemoteCommand
    229 syn keyword sshconfigKeyword RemoteForward
    230 syn keyword sshconfigKeyword RequestTTY
    231 syn keyword sshconfigKeyword RequiredRSASize
    232 syn keyword sshconfigKeyword RevokedHostKeys
    233 syn keyword sshconfigKeyword SecurityKeyProvider
    234 syn keyword sshconfigKeyword SendEnv
    235 syn keyword sshconfigKeyword ServerAliveCountMax
    236 syn keyword sshconfigKeyword ServerAliveInterval
    237 syn keyword sshconfigKeyword SessionType
    238 syn keyword sshconfigKeyword SetEnv
    239 syn keyword sshconfigKeyword SmartcardDevice
    240 syn keyword sshconfigKeyword StdinNull
    241 syn keyword sshconfigKeyword StreamLocalBindMask
    242 syn keyword sshconfigKeyword StreamLocalBindUnlink
    243 syn keyword sshconfigKeyword StrictHostKeyChecking
    244 syn keyword sshconfigKeyword SyslogFacility
    245 syn keyword sshconfigKeyword Tag
    246 syn keyword sshconfigKeyword TCPKeepAlive
    247 syn keyword sshconfigKeyword Tunnel
    248 syn keyword sshconfigKeyword TunnelDevice
    249 syn keyword sshconfigKeyword UpdateHostKeys
    250 syn keyword sshconfigKeyword UseBlacklistedKeys
    251 syn keyword sshconfigKeyword User
    252 syn keyword sshconfigKeyword UserKnownHostsFile
    253 syn keyword sshconfigKeyword VerifyHostKeyDNS
    254 syn keyword sshconfigKeyword VersionAddendum
    255 syn keyword sshconfigKeyword VisualHostKey
    256 syn keyword sshconfigKeyword WarnWeakCrypto
    257 syn keyword sshconfigKeyword XAuthLocation
    258 
    259 " Deprecated/ignored/remove/unsupported keywords
    260 
    261 syn keyword sshConfigDeprecated Cipher
    262 syn keyword sshconfigDeprecated GSSAPIClientIdentity
    263 syn keyword sshconfigDeprecated GSSAPIKeyExchange
    264 syn keyword sshconfigDeprecated GSSAPIRenewalForcesRekey
    265 syn keyword sshconfigDeprecated GSSAPIServerIdentity
    266 syn keyword sshconfigDeprecated GSSAPITrustDNS
    267 syn keyword sshconfigDeprecated GSSAPITrustDns
    268 syn keyword sshconfigDeprecated Protocol
    269 syn keyword sshconfigDeprecated RSAAuthentication
    270 syn keyword sshconfigDeprecated RhostsRSAAuthentication
    271 syn keyword sshconfigDeprecated CompressionLevel
    272 syn keyword sshconfigDeprecated UseRoaming
    273 syn keyword sshconfigDeprecated UsePrivilegedPort
    274 
    275 " Define the default highlighting
    276 
    277 hi def link sshconfigComment        Comment
    278 hi def link sshconfigTodo           Todo
    279 hi def link sshconfigHostPort       sshconfigConstant
    280 hi def link sshconfigNumber         Number
    281 hi def link sshconfigConstant       Constant
    282 hi def link sshconfigYesNo          Boolean
    283 hi def link sshconfigCipher         sshconfigDeprecated
    284 hi def link sshconfigCiphers        sshconfigEnum
    285 hi def link sshconfigMAC            sshconfigEnum
    286 hi def link sshconfigHostKeyAlgo    sshconfigEnum
    287 hi def link sshconfigLogLevel       sshconfigEnum
    288 hi def link sshconfigSysLogFacility sshconfigEnum
    289 hi def link sshconfigAddressFamily  sshconfigEnum
    290 hi def link sshconfigIPQoS          sshconfigEnum
    291 hi def link sshconfigKbdInteractive sshconfigEnum
    292 hi def link sshconfigKexAlgo        sshconfigEnum
    293 hi def link sshconfigTunnel         sshconfigEnum
    294 hi def link sshconfigPreferredAuth  sshconfigEnum
    295 hi def link sshconfigVar            sshconfigEnum
    296 hi def link sshconfigEnum           Identifier
    297 hi def link sshconfigSpecial        Special
    298 hi def link sshconfigKeyword        Keyword
    299 hi def link sshconfigHostSect       Type
    300 hi def link sshconfigMatch          Type
    301 hi def link sshconfigDeprecated     Error
    302 
    303 let b:current_syntax = "sshconfig"
    304 
    305 " vim:set ts=8 sw=2 sts=2: