blob: 45947f20649a8727b77df27a054a7b1e4158c724 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar5c736222010-01-06 20:54:52 +01002" Language: OpenSSH client configuration file (ssh_config)
3" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
4" Last Change: 2009-07-09
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
6" Setup
7if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +01008 if exists("b:current_syntax")
9 finish
10 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000011else
Bram Moolenaar5c736222010-01-06 20:54:52 +010012 syntax clear
Bram Moolenaar071d4272004-06-13 20:20:40 +000013endif
14
15if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010016 setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000017else
Bram Moolenaar5c736222010-01-06 20:54:52 +010018 set iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000019endif
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
Bram Moolenaar5c736222010-01-06 20:54:52 +010029syn keyword sshconfigYesNo any auto
Bram Moolenaar071d4272004-06-13 20:20:40 +000030syn keyword sshconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
Bram Moolenaar362e1a32006-03-06 23:29:24 +000031syn keyword sshconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
32syn keyword sshconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
Bram Moolenaar071d4272004-06-13 20:20:40 +000033syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
34syn keyword sshconfigMAC hmac-md5-96
Bram Moolenaar5c736222010-01-06 20:54:52 +010035syn match sshconfigMAC "\<umac-64@openssh\.com\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000036syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +010041syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
42syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
43syn match sshconfigVar "%[rhpldun]\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000044syn 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
Bram Moolenaar5c736222010-01-06 20:54:52 +010052syn keyword sshconfigKeyword AddressFamily
53syn keyword sshconfigKeyword BatchMode BindAddress
Bram Moolenaar071d4272004-06-13 20:20:40 +000054syn keyword sshconfigKeyword ChallengeResponseAuthentication CheckHostIP
Bram Moolenaar362e1a32006-03-06 23:29:24 +000055syn keyword sshconfigKeyword Cipher Ciphers ClearAllForwardings
56syn keyword sshconfigKeyword Compression CompressionLevel ConnectTimeout
57syn keyword sshconfigKeyword ConnectionAttempts ControlMaster
Bram Moolenaar5c736222010-01-06 20:54:52 +010058syn keyword sshconfigKeyword ControlPath DynamicForward
59syn keyword sshconfigKeyword EnableSSHKeysign EscapeChar ExitOnForwardFailure
60syn keyword sshconfigKeyword ForwardAgent ForwardX11
61syn keyword sshconfigKeyword ForwardX11Trusted
62syn keyword sshconfigKeyword GSSAPIAuthentication
Bram Moolenaar362e1a32006-03-06 23:29:24 +000063syn keyword sshconfigKeyword GSSAPIDelegateCredentials GatewayPorts
Bram Moolenaar5c736222010-01-06 20:54:52 +010064syn keyword sshconfigKeyword GlobalKnownHostsFile
65syn keyword sshconfigKeyword HostKeyAlgorithms HashKnownHosts
Bram Moolenaar362e1a32006-03-06 23:29:24 +000066syn keyword sshconfigKeyword HostKeyAlias HostName HostbasedAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +010067syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000074syn keyword sshconfigKeyword Port PreferredAuthentications Protocol
Bram Moolenaar362e1a32006-03-06 23:29:24 +000075syn keyword sshconfigKeyword ProxyCommand PubkeyAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +010076syn keyword sshconfigKeyword PermitLocalCommand
77syn keyword sshconfigKeyword RSAAuthentication RemoteForward RekeyLimit
78syn keyword sshconfigKeyword RhostsRSAAuthentication
Bram Moolenaar362e1a32006-03-06 23:29:24 +000079syn keyword sshconfigKeyword SendEnv ServerAliveCountMax ServerAliveInterval
80syn keyword sshconfigKeyword SmartcardDevice StrictHostKeyChecking
Bram Moolenaar5c736222010-01-06 20:54:52 +010081syn keyword sshconfigKeyword Tunnel TunnelDevice
Bram Moolenaar362e1a32006-03-06 23:29:24 +000082syn keyword sshconfigKeyword TCPKeepAlive UsePrivilegedPort User
Bram Moolenaar5c736222010-01-06 20:54:52 +010083syn keyword sshconfigKeyword UserKnownHostsFile
84syn keyword sshconfigKeyword VerifyHostKeyDNS VisualHostKey
85syn keyword sshconfigKeyword XAuthLocation
Bram Moolenaar071d4272004-06-13 20:20:40 +000086
87" Define the default highlighting
88if version >= 508 || !exists("did_sshconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +010089 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000095
Bram Moolenaar5c736222010-01-06 20:54:52 +010096 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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000114endif
115
116let b:current_syntax = "sshconfig"