xref: /vim-8.2.3635/runtime/syntax/sshconfig.vim (revision 00a927d6)
1" Vim syntax file
2" Language: OpenSSH client configuration file (ssh_config)
3" Maintainer: David Necas (Yeti) <[email protected]>
4" Last Change: 2009-07-09
5
6" Setup
7if version >= 600
8  if exists("b:current_syntax")
9    finish
10  endif
11else
12  syntax clear
13endif
14
15if version >= 600
16  setlocal iskeyword=_,-,a-z,A-Z,48-57
17else
18  set iskeyword=_,-,a-z,A-Z,48-57
19endif
20
21syn case ignore
22
23" Comments
24syn match sshconfigComment "#.*$" contains=sshconfigTodo
25syn keyword sshconfigTodo TODO FIXME NOT contained
26
27" Constants
28syn keyword sshconfigYesNo yes no ask
29syn keyword sshconfigYesNo any auto
30syn keyword sshconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
31syn keyword sshconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
32syn keyword sshconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
33syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
34syn keyword sshconfigMAC hmac-md5-96
35syn match sshconfigMAC "\<umac-64@openssh\.com\>"
36syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss
37syn keyword sshconfigPreferredAuth hostbased publickey password
38syn keyword sshconfigPreferredAuth keyboard-interactive
39syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
40syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
41syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
42syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
43syn match sshconfigVar "%[rhpldun]\>"
44syn match sshconfigSpecial "[*?]"
45syn match sshconfigNumber "\d\+"
46syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
47syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
48syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
49
50" Keywords
51syn keyword sshconfigHostSect Host
52syn keyword sshconfigKeyword AddressFamily
53syn keyword sshconfigKeyword BatchMode BindAddress
54syn keyword sshconfigKeyword ChallengeResponseAuthentication CheckHostIP
55syn keyword sshconfigKeyword Cipher Ciphers ClearAllForwardings
56syn keyword sshconfigKeyword Compression CompressionLevel ConnectTimeout
57syn keyword sshconfigKeyword ConnectionAttempts ControlMaster
58syn keyword sshconfigKeyword ControlPath DynamicForward
59syn keyword sshconfigKeyword EnableSSHKeysign EscapeChar ExitOnForwardFailure
60syn keyword sshconfigKeyword ForwardAgent ForwardX11
61syn keyword sshconfigKeyword ForwardX11Trusted
62syn keyword sshconfigKeyword GSSAPIAuthentication
63syn keyword sshconfigKeyword GSSAPIDelegateCredentials GatewayPorts
64syn keyword sshconfigKeyword GlobalKnownHostsFile
65syn keyword sshconfigKeyword HostKeyAlgorithms HashKnownHosts
66syn keyword sshconfigKeyword HostKeyAlias HostName HostbasedAuthentication
67syn keyword sshconfigKeyword IdentitiesOnly IdentityFile
68syn keyword sshconfigKeyword KbdInteractiveAuthentication KbdInteractiveDevices
69syn keyword sshconfigKeyword LocalCommand LocalForward LogLevel
70syn keyword sshconfigKeyword MACs
71syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
72syn keyword sshconfigKeyword NumberOfPasswordPrompts
73syn keyword sshconfigKeyword PasswordAuthentication PermitLocalCommand
74syn keyword sshconfigKeyword Port PreferredAuthentications Protocol
75syn keyword sshconfigKeyword ProxyCommand PubkeyAuthentication
76syn keyword sshconfigKeyword PermitLocalCommand
77syn keyword sshconfigKeyword RSAAuthentication RemoteForward RekeyLimit
78syn keyword sshconfigKeyword RhostsRSAAuthentication
79syn keyword sshconfigKeyword SendEnv ServerAliveCountMax ServerAliveInterval
80syn keyword sshconfigKeyword SmartcardDevice StrictHostKeyChecking
81syn keyword sshconfigKeyword Tunnel TunnelDevice
82syn keyword sshconfigKeyword TCPKeepAlive UsePrivilegedPort User
83syn keyword sshconfigKeyword UserKnownHostsFile
84syn keyword sshconfigKeyword VerifyHostKeyDNS VisualHostKey
85syn keyword sshconfigKeyword XAuthLocation
86
87" Define the default highlighting
88if version >= 508 || !exists("did_sshconfig_syntax_inits")
89  if version < 508
90    let did_sshconfig_syntax_inits = 1
91    command -nargs=+ HiLink hi link <args>
92  else
93    command -nargs=+ HiLink hi def link <args>
94  endif
95
96  HiLink sshconfigComment        Comment
97  HiLink sshconfigTodo           Todo
98  HiLink sshconfigHostPort       sshconfigConstant
99  HiLink sshconfigNumber         sshconfigConstant
100  HiLink sshconfigConstant       Constant
101  HiLink sshconfigYesNo          sshconfigEnum
102  HiLink sshconfigCipher         sshconfigEnum
103  HiLink sshconfigMAC            sshconfigEnum
104  HiLink sshconfigHostKeyAlg     sshconfigEnum
105  HiLink sshconfigLogLevel       sshconfigEnum
106  HiLink sshconfigSysLogFacility sshconfigEnum
107  HiLink sshconfigPreferredAuth  sshconfigEnum
108  HiLink sshconfigVar            sshconfigEnum
109  HiLink sshconfigEnum           Identifier
110  HiLink sshconfigSpecial        Special
111  HiLink sshconfigKeyword        Keyword
112  HiLink sshconfigHostSect       Type
113  delcommand HiLink
114endif
115
116let b:current_syntax = "sshconfig"
117