xref: /vim-8.2.3635/runtime/syntax/sshconfig.vim (revision fda3729a)
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