blob: 97ee8f8771fbb9a700860c3c67794615ce142297 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar071d4272004-06-13 20:20:40 +00002" Language: OpenSSH server configuration file (sshd_config)
Bram Moolenaar5c736222010-01-06 20:54:52 +01003" 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 sshdconfigComment "#.*$" contains=sshdconfigTodo
25syn keyword sshdconfigTodo TODO FIXME NOT contained
26
27" Constants
Bram Moolenaar5c736222010-01-06 20:54:52 +010028syn keyword sshdconfigYesNo yes no none
29syn keyword sshdconfigAddressFamily any inet inet6
Bram Moolenaar071d4272004-06-13 20:20:40 +000030syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
Bram Moolenaar362e1a32006-03-06 23:29:24 +000031syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
32syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
Bram Moolenaar071d4272004-06-13 20:20:40 +000033syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
34syn keyword sshdconfigMAC hmac-md5-96
Bram Moolenaar5c736222010-01-06 20:54:52 +010035syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000036syn keyword sshdconfigRootLogin without-password forced-commands-only
37syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
38syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010039syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
40syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaar071d4272004-06-13 20:20:40 +000041syn match sshdconfigSpecial "[*?]"
42syn match sshdconfigNumber "\d\+"
43syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
44syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
Bram Moolenaar5c736222010-01-06 20:54:52 +010045" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
Bram Moolenaar071d4272004-06-13 20:20:40 +000046syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
47syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
48
49" Keywords
Bram Moolenaar5c736222010-01-06 20:54:52 +010050syn keyword sshdconfigMatch Host User Group Address
51syn keyword sshdconfigKeyword AcceptEnv AddressFamily AllowAgentForwarding
Bram Moolenaar362e1a32006-03-06 23:29:24 +000052syn keyword sshdconfigKeyword AllowGroups AllowTcpForwarding
Bram Moolenaar5c736222010-01-06 20:54:52 +010053syn keyword sshdconfigKeyword AllowUsers AuthorizedKeysFile
54syn keyword sshdconfigKeyword Banner
55syn keyword sshdconfigKeyword ChallengeResponseAuthentication ChrootDirectory
Bram Moolenaar362e1a32006-03-06 23:29:24 +000056syn keyword sshdconfigKeyword Ciphers ClientAliveCountMax
57syn keyword sshdconfigKeyword ClientAliveInterval Compression
Bram Moolenaar5c736222010-01-06 20:54:52 +010058syn keyword sshdconfigKeyword DenyGroups DenyUsers
59syn keyword sshdconfigKeyword ForceCommand
60syn keyword sshdconfigKeyword GatewayPorts GSSAPIAuthentication
61syn keyword sshdconfigKeyword GSSAPICleanupCredentials
62syn keyword sshdconfigKeyword HostbasedAuthentication HostKey
Bram Moolenaar362e1a32006-03-06 23:29:24 +000063syn keyword sshdconfigKeyword IgnoreRhosts IgnoreUserKnownHosts
Bram Moolenaar5c736222010-01-06 20:54:52 +010064syn keyword sshdconfigKeyword KerberosAuthentication KerberosGetAFSToken
65syn keyword sshdconfigKeyword KerberosOrLocalPasswd KerberosTicketCleanup
66syn keyword sshdconfigKeyword KeyRegenerationInterval
67syn keyword sshdconfigKeyword ListenAddress LoginGraceTime LogLevel
68syn keyword sshdconfigKeyword MACs Match MaxAuthTries MaxSessions MaxStartups
69syn keyword sshdconfigKeyword PasswordAuthentication PermitEmptyPasswords
70syn keyword sshdconfigKeyword PermitRootLogin PermitOpen PermitTunnel
Bram Moolenaar362e1a32006-03-06 23:29:24 +000071syn keyword sshdconfigKeyword PermitUserEnvironment PidFile Port
72syn keyword sshdconfigKeyword PrintLastLog PrintMotd Protocol
Bram Moolenaar5c736222010-01-06 20:54:52 +010073syn keyword sshdconfigKeyword PubkeyAuthentication
74syn keyword sshdconfigKeyword RhostsRSAAuthentication RSAAuthentication
75syn keyword sshdconfigKeyword ServerKeyBits ShowPatchLevel StrictModes
76syn keyword sshdconfigKeyword Subsystem SyslogFacility
77syn keyword sshdconfigKeyword TCPKeepAlive
78syn keyword sshdconfigKeyword UseDNS UseLogin UsePAM UsePrivilegeSeparation
Bram Moolenaar362e1a32006-03-06 23:29:24 +000079syn keyword sshdconfigKeyword X11DisplayOffset X11Forwarding
80syn keyword sshdconfigKeyword X11UseLocalhost XAuthLocation
Bram Moolenaar071d4272004-06-13 20:20:40 +000081
82" Define the default highlighting
83if version >= 508 || !exists("did_sshdconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +010084 if version < 508
85 let did_sshdconfig_syntax_inits = 1
86 command -nargs=+ HiLink hi link <args>
87 else
88 command -nargs=+ HiLink hi def link <args>
89 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000090
Bram Moolenaar5c736222010-01-06 20:54:52 +010091 HiLink sshdconfigComment Comment
92 HiLink sshdconfigTodo Todo
93 HiLink sshdconfigHostPort sshdconfigConstant
94 HiLink sshdconfigTime sshdconfigConstant
95 HiLink sshdconfigNumber sshdconfigConstant
96 HiLink sshdconfigConstant Constant
97 HiLink sshdconfigYesNo sshdconfigEnum
98 HiLink sshdconfigAddressFamily sshdconfigEnum
99 HiLink sshdconfigCipher sshdconfigEnum
100 HiLink sshdconfigMAC sshdconfigEnum
101 HiLink sshdconfigRootLogin sshdconfigEnum
102 HiLink sshdconfigLogLevel sshdconfigEnum
103 HiLink sshdconfigSysLogFacility sshdconfigEnum
104 HiLink sshdconfigEnum Function
105 HiLink sshdconfigSpecial Special
106 HiLink sshdconfigKeyword Keyword
107 HiLink sshdconfigMatch Type
108 delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109endif
110
111let b:current_syntax = "sshdconfig"