mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			290 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			290 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:         denyhosts configuration file | ||
|  | " Maintainer:       Nikolai Weibull <now@bitwi.se> | ||
|  | " Latest Revision:  2007-06-25 | ||
|  | 
 | ||
|  | if exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | let s:cpo_save = &cpo | ||
|  | set cpo&vim | ||
|  | 
 | ||
|  | syn keyword denyhostsTodo | ||
|  |       \ contained | ||
|  |       \ TODO | ||
|  |       \ FIXME | ||
|  |       \ XXX | ||
|  |       \ NOTE | ||
|  | 
 | ||
|  | syn case ignore | ||
|  | 
 | ||
|  | syn match   denyhostsComment | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '#.*' | ||
|  |       \ contains=denyhostsTodo, | ||
|  |       \          @Spell | ||
|  | 
 | ||
|  | syn match   denyhostsBegin | ||
|  |       \ display | ||
|  |       \ '^' | ||
|  |       \ nextgroup=@denyhostsSetting, | ||
|  |       \           denyhostsComment | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn cluster denyhostsSetting | ||
|  |       \ contains=denyhostsStringSetting, | ||
|  |       \          denyhostsBooleanSetting, | ||
|  |       \          denyhostsPathSetting, | ||
|  |       \          denyhostsNumericSetting, | ||
|  |       \          denyhostsTimespecSetting, | ||
|  |       \          denyhostsFormatSetting, | ||
|  |       \          denyhostsRegexSetting | ||
|  | 
 | ||
|  | syn keyword denyhostsStringSetting | ||
|  |       \ contained | ||
|  |       \ ADMIN_EMAIL | ||
|  |       \ SMTP_HOST | ||
|  |       \ SMTP_USERNAME | ||
|  |       \ SMTP_PASSWORD | ||
|  |       \ SMTP_FROM | ||
|  |       \ SMTP_SUBJECT | ||
|  |       \ BLOCK_SERVICE | ||
|  |       \ nextgroup=denyhostsStringDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn keyword denyhostsBooleanSetting | ||
|  |       \ contained | ||
|  |       \ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS | ||
|  |       \ HOSTNAME_LOOKUP | ||
|  |       \ SYSLOG_REPORT | ||
|  |       \ RESET_ON_SUCCESS | ||
|  |       \ SYNC_UPLOAD | ||
|  |       \ SYNC_DOWNLOAD | ||
|  |       \ ALLOWED_HOSTS_HOSTNAME_LOOKUP | ||
|  |       \ nextgroup=denyhostsBooleanDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn keyword denyhostsPathSetting | ||
|  |       \ contained | ||
|  |       \ DAEMON_LOG | ||
|  |       \ PLUGIN_DENY | ||
|  |       \ PLUGIN_PURGE | ||
|  |       \ SECURE_LOG | ||
|  |       \ LOCK_FILE | ||
|  |       \ HOSTS_DENY | ||
|  |       \ WORK_DIR | ||
|  |       \ nextgroup=denyhostsPathDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn keyword denyhostsNumericSetting | ||
|  |       \ contained | ||
|  |       \ SYNC_DOWNLOAD_THRESHOLD | ||
|  |       \ SMTP_PORT | ||
|  |       \ PURGE_THRESHOLD | ||
|  |       \ DENY_THRESHOLD_INVALID | ||
|  |       \ DENY_THRESHOLD_VALID | ||
|  |       \ DENY_THRESHOLD_ROOT | ||
|  |       \ DENY_THRESHOLD_RESTRICTED | ||
|  |       \ nextgroup=denyhostsNumericDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn keyword denyhostsTimespecSetting | ||
|  |       \ contained | ||
|  |       \ DAEMON_SLEEP | ||
|  |       \ DAEMON_PURGE | ||
|  |       \ AGE_RESET_INVALID | ||
|  |       \ AGE_RESET_VALID | ||
|  |       \ AGE_RESET_ROOT | ||
|  |       \ AGE_RESET_RESTRICTED | ||
|  |       \ SYNC_INTERVAL | ||
|  |       \ SYNC_DOWNLOAD_RESILIENCY | ||
|  |       \ PURGE_DENY | ||
|  |       \ nextgroup=denyhostsTimespecDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn keyword denyhostsFormatSetting | ||
|  |       \ contained | ||
|  |       \ DAEMON_LOG_TIME_FORMAT | ||
|  |       \ DAEMON_LOG_MESSAGE_FORMAT | ||
|  |       \ SMTP_DATE_FORMAT | ||
|  |       \ nextgroup=denyhostsFormatDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn keyword denyhostsRegexSetting | ||
|  |       \ contained | ||
|  |       \ SSHD_FORMAT_REGEX | ||
|  |       \ FAILED_ENTRY_REGEX | ||
|  |       \ FAILED_ENTRY_REGEX2 | ||
|  |       \ FAILED_ENTRY_REGEX3 | ||
|  |       \ FAILED_ENTRY_REGEX4 | ||
|  |       \ FAILED_ENTRY_REGEX5 | ||
|  |       \ FAILED_ENTRY_REGEX6 | ||
|  |       \ FAILED_ENTRY_REGEX7 | ||
|  |       \ USERDEF_FAILED_ENTRY_REGEX | ||
|  |       \ SUCCESSFUL_ENTRY_REGEX | ||
|  |       \ nextgroup=denyhostsRegexDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn keyword denyhostURLSetting | ||
|  |       \ contained | ||
|  |       \ SYNC_SERVER | ||
|  |       \ nextgroup=denyhostsURLDelimiter | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsStringDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=denyhostsString | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsBooleanDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=@denyhostsBoolean | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsPathDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=denyhostsPath | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsNumericDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=denyhostsNumber | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsTimespecDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=denyhostsTimespec | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsFormatDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=denyhostsFormat | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsRegexDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=denyhostsRegex | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsURLDelimiter | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '[:=]' | ||
|  |       \ nextgroup=denyhostsURL | ||
|  |       \ skipwhite | ||
|  | 
 | ||
|  | syn match   denyhostsString | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '.\+' | ||
|  | 
 | ||
|  | syn cluster denyhostsBoolean | ||
|  |       \ contains=denyhostsBooleanTrue, | ||
|  |       \          denyhostsBooleanFalse | ||
|  | 
 | ||
|  | syn match   denyhostsBooleanFalse | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '.\+' | ||
|  | 
 | ||
|  | syn match   denyhostsBooleanTrue | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$' | ||
|  | 
 | ||
|  | syn match   denyhostsPath | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '.\+' | ||
|  | 
 | ||
|  | syn match   denyhostsNumber | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '\d\+\>' | ||
|  | 
 | ||
|  | syn match   denyhostsTimespec | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '\d\+[mhdwy]\>' | ||
|  | 
 | ||
|  | syn match   denyhostsFormat | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '.\+' | ||
|  |       \ contains=denyhostsFormattingExpandos | ||
|  | 
 | ||
|  | syn match   denyhostsFormattingExpandos | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '%.' | ||
|  | 
 | ||
|  | syn match   denyhostsRegex | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '.\+' | ||
|  | 
 | ||
|  | " TODO: Perhaps come up with a better regex here?  There should really be a | ||
|  | " library for these kinds of generic regexes, that is, URLs, mail addresses, … | ||
|  | syn match   denyhostsURL | ||
|  |       \ contained | ||
|  |       \ display | ||
|  |       \ '.\+' | ||
|  | 
 | ||
|  | hi def link denyhostsTodo               Todo | ||
|  | hi def link denyhostsComment            Comment | ||
|  | hi def link denyhostsSetting            Keyword | ||
|  | hi def link denyhostsStringSetting      denyhostsSetting | ||
|  | hi def link denyhostsBooleanSetting     denyhostsSetting | ||
|  | hi def link denyhostsPathSetting        denyhostsSetting | ||
|  | hi def link denyhostsNumericSetting     denyhostsSetting | ||
|  | hi def link denyhostsTimespecSetting    denyhostsSetting | ||
|  | hi def link denyhostsFormatSetting      denyhostsSetting | ||
|  | hi def link denyhostsRegexSetting       denyhostsSetting | ||
|  | hi def link denyhostURLSetting          denyhostsSetting | ||
|  | hi def link denyhostsDelimiter          Normal | ||
|  | hi def link denyhostsStringDelimiter    denyhostsDelimiter | ||
|  | hi def link denyhostsBooleanDelimiter   denyhostsDelimiter | ||
|  | hi def link denyhostsPathDelimiter      denyhostsDelimiter | ||
|  | hi def link denyhostsNumericDelimiter   denyhostsDelimiter | ||
|  | hi def link denyhostsTimespecDelimiter  denyhostsDelimiter | ||
|  | hi def link denyhostsFormatDelimiter    denyhostsDelimiter | ||
|  | hi def link denyhostsRegexDelimiter     denyhostsDelimiter | ||
|  | hi def link denyhostsURLDelimiter       denyhostsDelimiter | ||
|  | hi def link denyhostsString             String | ||
|  | if exists('g:syntax_booleans_simple') || exists('b:syntax_booleans_simple') | ||
|  |   hi def link denyhostsBoolean          Boolean | ||
|  |   hi def link denyhostsBooleanFalse     denyhostsBoolean | ||
|  |   hi def link denyhostsBooleanTrue      denyhostsBoolean | ||
|  | else | ||
|  |   hi def    denyhostsBooleanTrue        term=bold ctermfg=Green guifg=Green | ||
|  |   hi def    denyhostsBooleanFalse       ctermfg=Red guifg=Red | ||
|  | endif | ||
|  | hi def link denyhostsPath               String | ||
|  | hi def link denyhostsNumber             Number | ||
|  | hi def link denyhostsTimespec           Number | ||
|  | hi def link denyhostsFormat             String | ||
|  | hi def link denyhostsFormattingExpandos Special | ||
|  | hi def link denyhostsRegex              String | ||
|  | hi def link denyhostsURL                String | ||
|  | 
 | ||
|  | let b:current_syntax = "denyhosts" | ||
|  | 
 | ||
|  | let &cpo = s:cpo_save | ||
|  | unlet s:cpo_save |