summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/denyhosts.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/denyhosts.vim')
-rw-r--r--runtime/syntax/denyhosts.vim289
1 files changed, 289 insertions, 0 deletions
diff --git a/runtime/syntax/denyhosts.vim b/runtime/syntax/denyhosts.vim
new file mode 100644
index 0000000..f32faab
--- /dev/null
+++ b/runtime/syntax/denyhosts.vim
@@ -0,0 +1,289 @@
+" Vim syntax file
+" Language: denyhosts configuration file
+" Previous 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