18c8de839SBram Moolenaar" Vim syntax file 28c8de839SBram Moolenaar" Language: denyhosts configuration file 3*214641f7SBram Moolenaar" Previous Maintainer: Nikolai Weibull <[email protected]> 48c8de839SBram Moolenaar" Latest Revision: 2007-06-25 58c8de839SBram Moolenaar 68c8de839SBram Moolenaarif exists("b:current_syntax") 78c8de839SBram Moolenaar finish 88c8de839SBram Moolenaarendif 98c8de839SBram Moolenaar 108c8de839SBram Moolenaarlet s:cpo_save = &cpo 118c8de839SBram Moolenaarset cpo&vim 128c8de839SBram Moolenaar 138c8de839SBram Moolenaarsyn keyword denyhostsTodo 148c8de839SBram Moolenaar \ contained 158c8de839SBram Moolenaar \ TODO 168c8de839SBram Moolenaar \ FIXME 178c8de839SBram Moolenaar \ XXX 188c8de839SBram Moolenaar \ NOTE 198c8de839SBram Moolenaar 208c8de839SBram Moolenaarsyn case ignore 218c8de839SBram Moolenaar 228c8de839SBram Moolenaarsyn match denyhostsComment 238c8de839SBram Moolenaar \ contained 248c8de839SBram Moolenaar \ display 258c8de839SBram Moolenaar \ '#.*' 268c8de839SBram Moolenaar \ contains=denyhostsTodo, 278c8de839SBram Moolenaar \ @Spell 288c8de839SBram Moolenaar 298c8de839SBram Moolenaarsyn match denyhostsBegin 308c8de839SBram Moolenaar \ display 318c8de839SBram Moolenaar \ '^' 328c8de839SBram Moolenaar \ nextgroup=@denyhostsSetting, 338c8de839SBram Moolenaar \ denyhostsComment 348c8de839SBram Moolenaar \ skipwhite 358c8de839SBram Moolenaar 368c8de839SBram Moolenaarsyn cluster denyhostsSetting 378c8de839SBram Moolenaar \ contains=denyhostsStringSetting, 388c8de839SBram Moolenaar \ denyhostsBooleanSetting, 398c8de839SBram Moolenaar \ denyhostsPathSetting, 408c8de839SBram Moolenaar \ denyhostsNumericSetting, 418c8de839SBram Moolenaar \ denyhostsTimespecSetting, 428c8de839SBram Moolenaar \ denyhostsFormatSetting, 438c8de839SBram Moolenaar \ denyhostsRegexSetting 448c8de839SBram Moolenaar 458c8de839SBram Moolenaarsyn keyword denyhostsStringSetting 468c8de839SBram Moolenaar \ contained 478c8de839SBram Moolenaar \ ADMIN_EMAIL 488c8de839SBram Moolenaar \ SMTP_HOST 498c8de839SBram Moolenaar \ SMTP_USERNAME 508c8de839SBram Moolenaar \ SMTP_PASSWORD 518c8de839SBram Moolenaar \ SMTP_FROM 528c8de839SBram Moolenaar \ SMTP_SUBJECT 538c8de839SBram Moolenaar \ BLOCK_SERVICE 548c8de839SBram Moolenaar \ nextgroup=denyhostsStringDelimiter 558c8de839SBram Moolenaar \ skipwhite 568c8de839SBram Moolenaar 578c8de839SBram Moolenaarsyn keyword denyhostsBooleanSetting 588c8de839SBram Moolenaar \ contained 598c8de839SBram Moolenaar \ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS 608c8de839SBram Moolenaar \ HOSTNAME_LOOKUP 618c8de839SBram Moolenaar \ SYSLOG_REPORT 628c8de839SBram Moolenaar \ RESET_ON_SUCCESS 638c8de839SBram Moolenaar \ SYNC_UPLOAD 648c8de839SBram Moolenaar \ SYNC_DOWNLOAD 658c8de839SBram Moolenaar \ ALLOWED_HOSTS_HOSTNAME_LOOKUP 668c8de839SBram Moolenaar \ nextgroup=denyhostsBooleanDelimiter 678c8de839SBram Moolenaar \ skipwhite 688c8de839SBram Moolenaar 698c8de839SBram Moolenaarsyn keyword denyhostsPathSetting 708c8de839SBram Moolenaar \ contained 718c8de839SBram Moolenaar \ DAEMON_LOG 728c8de839SBram Moolenaar \ PLUGIN_DENY 738c8de839SBram Moolenaar \ PLUGIN_PURGE 748c8de839SBram Moolenaar \ SECURE_LOG 758c8de839SBram Moolenaar \ LOCK_FILE 768c8de839SBram Moolenaar \ HOSTS_DENY 778c8de839SBram Moolenaar \ WORK_DIR 788c8de839SBram Moolenaar \ nextgroup=denyhostsPathDelimiter 798c8de839SBram Moolenaar \ skipwhite 808c8de839SBram Moolenaar 818c8de839SBram Moolenaarsyn keyword denyhostsNumericSetting 828c8de839SBram Moolenaar \ contained 838c8de839SBram Moolenaar \ SYNC_DOWNLOAD_THRESHOLD 848c8de839SBram Moolenaar \ SMTP_PORT 858c8de839SBram Moolenaar \ PURGE_THRESHOLD 868c8de839SBram Moolenaar \ DENY_THRESHOLD_INVALID 878c8de839SBram Moolenaar \ DENY_THRESHOLD_VALID 888c8de839SBram Moolenaar \ DENY_THRESHOLD_ROOT 898c8de839SBram Moolenaar \ DENY_THRESHOLD_RESTRICTED 908c8de839SBram Moolenaar \ nextgroup=denyhostsNumericDelimiter 918c8de839SBram Moolenaar \ skipwhite 928c8de839SBram Moolenaar 938c8de839SBram Moolenaarsyn keyword denyhostsTimespecSetting 948c8de839SBram Moolenaar \ contained 958c8de839SBram Moolenaar \ DAEMON_SLEEP 968c8de839SBram Moolenaar \ DAEMON_PURGE 978c8de839SBram Moolenaar \ AGE_RESET_INVALID 988c8de839SBram Moolenaar \ AGE_RESET_VALID 998c8de839SBram Moolenaar \ AGE_RESET_ROOT 1008c8de839SBram Moolenaar \ AGE_RESET_RESTRICTED 1018c8de839SBram Moolenaar \ SYNC_INTERVAL 1028c8de839SBram Moolenaar \ SYNC_DOWNLOAD_RESILIENCY 1038c8de839SBram Moolenaar \ PURGE_DENY 1048c8de839SBram Moolenaar \ nextgroup=denyhostsTimespecDelimiter 1058c8de839SBram Moolenaar \ skipwhite 1068c8de839SBram Moolenaar 1078c8de839SBram Moolenaarsyn keyword denyhostsFormatSetting 1088c8de839SBram Moolenaar \ contained 1098c8de839SBram Moolenaar \ DAEMON_LOG_TIME_FORMAT 1108c8de839SBram Moolenaar \ DAEMON_LOG_MESSAGE_FORMAT 1118c8de839SBram Moolenaar \ SMTP_DATE_FORMAT 1128c8de839SBram Moolenaar \ nextgroup=denyhostsFormatDelimiter 1138c8de839SBram Moolenaar \ skipwhite 1148c8de839SBram Moolenaar 1158c8de839SBram Moolenaarsyn keyword denyhostsRegexSetting 1168c8de839SBram Moolenaar \ contained 1178c8de839SBram Moolenaar \ SSHD_FORMAT_REGEX 1188c8de839SBram Moolenaar \ FAILED_ENTRY_REGEX 1198c8de839SBram Moolenaar \ FAILED_ENTRY_REGEX2 1208c8de839SBram Moolenaar \ FAILED_ENTRY_REGEX3 1218c8de839SBram Moolenaar \ FAILED_ENTRY_REGEX4 1228c8de839SBram Moolenaar \ FAILED_ENTRY_REGEX5 1238c8de839SBram Moolenaar \ FAILED_ENTRY_REGEX6 1248c8de839SBram Moolenaar \ FAILED_ENTRY_REGEX7 1258c8de839SBram Moolenaar \ USERDEF_FAILED_ENTRY_REGEX 1268c8de839SBram Moolenaar \ SUCCESSFUL_ENTRY_REGEX 1278c8de839SBram Moolenaar \ nextgroup=denyhostsRegexDelimiter 1288c8de839SBram Moolenaar \ skipwhite 1298c8de839SBram Moolenaar 1308c8de839SBram Moolenaarsyn keyword denyhostURLSetting 1318c8de839SBram Moolenaar \ contained 1328c8de839SBram Moolenaar \ SYNC_SERVER 1338c8de839SBram Moolenaar \ nextgroup=denyhostsURLDelimiter 1348c8de839SBram Moolenaar \ skipwhite 1358c8de839SBram Moolenaar 1368c8de839SBram Moolenaarsyn match denyhostsStringDelimiter 1378c8de839SBram Moolenaar \ contained 1388c8de839SBram Moolenaar \ display 1398c8de839SBram Moolenaar \ '[:=]' 1408c8de839SBram Moolenaar \ nextgroup=denyhostsString 1418c8de839SBram Moolenaar \ skipwhite 1428c8de839SBram Moolenaar 1438c8de839SBram Moolenaarsyn match denyhostsBooleanDelimiter 1448c8de839SBram Moolenaar \ contained 1458c8de839SBram Moolenaar \ display 1468c8de839SBram Moolenaar \ '[:=]' 1478c8de839SBram Moolenaar \ nextgroup=@denyhostsBoolean 1488c8de839SBram Moolenaar \ skipwhite 1498c8de839SBram Moolenaar 1508c8de839SBram Moolenaarsyn match denyhostsPathDelimiter 1518c8de839SBram Moolenaar \ contained 1528c8de839SBram Moolenaar \ display 1538c8de839SBram Moolenaar \ '[:=]' 1548c8de839SBram Moolenaar \ nextgroup=denyhostsPath 1558c8de839SBram Moolenaar \ skipwhite 1568c8de839SBram Moolenaar 1578c8de839SBram Moolenaarsyn match denyhostsNumericDelimiter 1588c8de839SBram Moolenaar \ contained 1598c8de839SBram Moolenaar \ display 1608c8de839SBram Moolenaar \ '[:=]' 1618c8de839SBram Moolenaar \ nextgroup=denyhostsNumber 1628c8de839SBram Moolenaar \ skipwhite 1638c8de839SBram Moolenaar 1648c8de839SBram Moolenaarsyn match denyhostsTimespecDelimiter 1658c8de839SBram Moolenaar \ contained 1668c8de839SBram Moolenaar \ display 1678c8de839SBram Moolenaar \ '[:=]' 1688c8de839SBram Moolenaar \ nextgroup=denyhostsTimespec 1698c8de839SBram Moolenaar \ skipwhite 1708c8de839SBram Moolenaar 1718c8de839SBram Moolenaarsyn match denyhostsFormatDelimiter 1728c8de839SBram Moolenaar \ contained 1738c8de839SBram Moolenaar \ display 1748c8de839SBram Moolenaar \ '[:=]' 1758c8de839SBram Moolenaar \ nextgroup=denyhostsFormat 1768c8de839SBram Moolenaar \ skipwhite 1778c8de839SBram Moolenaar 1788c8de839SBram Moolenaarsyn match denyhostsRegexDelimiter 1798c8de839SBram Moolenaar \ contained 1808c8de839SBram Moolenaar \ display 1818c8de839SBram Moolenaar \ '[:=]' 1828c8de839SBram Moolenaar \ nextgroup=denyhostsRegex 1838c8de839SBram Moolenaar \ skipwhite 1848c8de839SBram Moolenaar 1858c8de839SBram Moolenaarsyn match denyhostsURLDelimiter 1868c8de839SBram Moolenaar \ contained 1878c8de839SBram Moolenaar \ display 1888c8de839SBram Moolenaar \ '[:=]' 1898c8de839SBram Moolenaar \ nextgroup=denyhostsURL 1908c8de839SBram Moolenaar \ skipwhite 1918c8de839SBram Moolenaar 1928c8de839SBram Moolenaarsyn match denyhostsString 1938c8de839SBram Moolenaar \ contained 1948c8de839SBram Moolenaar \ display 1958c8de839SBram Moolenaar \ '.\+' 1968c8de839SBram Moolenaar 1978c8de839SBram Moolenaarsyn cluster denyhostsBoolean 1988c8de839SBram Moolenaar \ contains=denyhostsBooleanTrue, 1998c8de839SBram Moolenaar \ denyhostsBooleanFalse 2008c8de839SBram Moolenaar 2018c8de839SBram Moolenaarsyn match denyhostsBooleanFalse 2028c8de839SBram Moolenaar \ contained 2038c8de839SBram Moolenaar \ display 2048c8de839SBram Moolenaar \ '.\+' 2058c8de839SBram Moolenaar 2068c8de839SBram Moolenaarsyn match denyhostsBooleanTrue 2078c8de839SBram Moolenaar \ contained 2088c8de839SBram Moolenaar \ display 2098c8de839SBram Moolenaar \ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$' 2108c8de839SBram Moolenaar 2118c8de839SBram Moolenaarsyn match denyhostsPath 2128c8de839SBram Moolenaar \ contained 2138c8de839SBram Moolenaar \ display 2148c8de839SBram Moolenaar \ '.\+' 2158c8de839SBram Moolenaar 2168c8de839SBram Moolenaarsyn match denyhostsNumber 2178c8de839SBram Moolenaar \ contained 2188c8de839SBram Moolenaar \ display 2198c8de839SBram Moolenaar \ '\d\+\>' 2208c8de839SBram Moolenaar 2218c8de839SBram Moolenaarsyn match denyhostsTimespec 2228c8de839SBram Moolenaar \ contained 2238c8de839SBram Moolenaar \ display 2248c8de839SBram Moolenaar \ '\d\+[mhdwy]\>' 2258c8de839SBram Moolenaar 2268c8de839SBram Moolenaarsyn match denyhostsFormat 2278c8de839SBram Moolenaar \ contained 2288c8de839SBram Moolenaar \ display 2298c8de839SBram Moolenaar \ '.\+' 2308c8de839SBram Moolenaar \ contains=denyhostsFormattingExpandos 2318c8de839SBram Moolenaar 2328c8de839SBram Moolenaarsyn match denyhostsFormattingExpandos 2338c8de839SBram Moolenaar \ contained 2348c8de839SBram Moolenaar \ display 2358c8de839SBram Moolenaar \ '%.' 2368c8de839SBram Moolenaar 2378c8de839SBram Moolenaarsyn match denyhostsRegex 2388c8de839SBram Moolenaar \ contained 2398c8de839SBram Moolenaar \ display 2408c8de839SBram Moolenaar \ '.\+' 2418c8de839SBram Moolenaar 2428c8de839SBram Moolenaar" TODO: Perhaps come up with a better regex here? There should really be a 2438c8de839SBram Moolenaar" library for these kinds of generic regexes, that is, URLs, mail addresses, … 2448c8de839SBram Moolenaarsyn match denyhostsURL 2458c8de839SBram Moolenaar \ contained 2468c8de839SBram Moolenaar \ display 2478c8de839SBram Moolenaar \ '.\+' 2488c8de839SBram Moolenaar 2498c8de839SBram Moolenaarhi def link denyhostsTodo Todo 2508c8de839SBram Moolenaarhi def link denyhostsComment Comment 2518c8de839SBram Moolenaarhi def link denyhostsSetting Keyword 2528c8de839SBram Moolenaarhi def link denyhostsStringSetting denyhostsSetting 2538c8de839SBram Moolenaarhi def link denyhostsBooleanSetting denyhostsSetting 2548c8de839SBram Moolenaarhi def link denyhostsPathSetting denyhostsSetting 2558c8de839SBram Moolenaarhi def link denyhostsNumericSetting denyhostsSetting 2568c8de839SBram Moolenaarhi def link denyhostsTimespecSetting denyhostsSetting 2578c8de839SBram Moolenaarhi def link denyhostsFormatSetting denyhostsSetting 2588c8de839SBram Moolenaarhi def link denyhostsRegexSetting denyhostsSetting 2598c8de839SBram Moolenaarhi def link denyhostURLSetting denyhostsSetting 2608c8de839SBram Moolenaarhi def link denyhostsDelimiter Normal 2618c8de839SBram Moolenaarhi def link denyhostsStringDelimiter denyhostsDelimiter 2628c8de839SBram Moolenaarhi def link denyhostsBooleanDelimiter denyhostsDelimiter 2638c8de839SBram Moolenaarhi def link denyhostsPathDelimiter denyhostsDelimiter 2648c8de839SBram Moolenaarhi def link denyhostsNumericDelimiter denyhostsDelimiter 2658c8de839SBram Moolenaarhi def link denyhostsTimespecDelimiter denyhostsDelimiter 2668c8de839SBram Moolenaarhi def link denyhostsFormatDelimiter denyhostsDelimiter 2678c8de839SBram Moolenaarhi def link denyhostsRegexDelimiter denyhostsDelimiter 2688c8de839SBram Moolenaarhi def link denyhostsURLDelimiter denyhostsDelimiter 2698c8de839SBram Moolenaarhi def link denyhostsString String 2708c8de839SBram Moolenaarif exists('g:syntax_booleans_simple') || exists('b:syntax_booleans_simple') 2718c8de839SBram Moolenaar hi def link denyhostsBoolean Boolean 2728c8de839SBram Moolenaar hi def link denyhostsBooleanFalse denyhostsBoolean 2738c8de839SBram Moolenaar hi def link denyhostsBooleanTrue denyhostsBoolean 2748c8de839SBram Moolenaarelse 2758c8de839SBram Moolenaar hi def denyhostsBooleanTrue term=bold ctermfg=Green guifg=Green 2768c8de839SBram Moolenaar hi def denyhostsBooleanFalse ctermfg=Red guifg=Red 2778c8de839SBram Moolenaarendif 2788c8de839SBram Moolenaarhi def link denyhostsPath String 2798c8de839SBram Moolenaarhi def link denyhostsNumber Number 2808c8de839SBram Moolenaarhi def link denyhostsTimespec Number 2818c8de839SBram Moolenaarhi def link denyhostsFormat String 2828c8de839SBram Moolenaarhi def link denyhostsFormattingExpandos Special 2838c8de839SBram Moolenaarhi def link denyhostsRegex String 2848c8de839SBram Moolenaarhi def link denyhostsURL String 2858c8de839SBram Moolenaar 2868c8de839SBram Moolenaarlet b:current_syntax = "denyhosts" 2878c8de839SBram Moolenaar 2888c8de839SBram Moolenaarlet &cpo = s:cpo_save 2898c8de839SBram Moolenaarunlet s:cpo_save 290