summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/logindefs.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/logindefs.vim')
-rw-r--r--runtime/syntax/logindefs.vim174
1 files changed, 174 insertions, 0 deletions
diff --git a/runtime/syntax/logindefs.vim b/runtime/syntax/logindefs.vim
new file mode 100644
index 0000000..8cb4295
--- /dev/null
+++ b/runtime/syntax/logindefs.vim
@@ -0,0 +1,174 @@
+" Vim syntax file
+" Language: login.defs(5) configuration file
+" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2010-11-29
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match logindefsBegin display '^'
+ \ nextgroup=
+ \ logindefsComment,
+ \ @logindefsKeyword
+ \ skipwhite
+
+syn region logindefsComment display oneline start='^\s*#' end='$'
+ \ contains=logindefsTodo,@Spell
+
+syn keyword logindefsTodo contained TODO FIXME XXX NOTE
+
+syn cluster logindefsKeyword contains=
+ \ logindefsBooleanKeyword,
+ \ logindefsEncryptKeyword,
+ \ logindefsNumberKeyword,
+ \ logindefsPathKeyword,
+ \ logindefsPathsKeyword,
+ \ logindefsStringKeyword
+
+syn keyword logindefsBooleanKeyword contained
+ \ CHFN_AUTH
+ \ CHSH_AUTH
+ \ CREATE_HOME
+ \ DEFAULT_HOME
+ \ FAILLOG_ENAB
+ \ LASTLOG_ENAB
+ \ LOG_OK_LOGINS
+ \ LOG_UNKFAIL_ENAB
+ \ MAIL_CHECK_ENAB
+ \ MD5_CRYPT_ENAB
+ \ OBSCURE_CHECKS_ENAB
+ \ PASS_ALWAYS_WARN
+ \ PORTTIME_CHECKS_ENAB
+ \ QUOTAS_ENAB
+ \ SU_WHEEL_ONLY
+ \ SYSLOG_SG_ENAB
+ \ SYSLOG_SU_ENAB
+ \ USERGROUPS_ENAB
+ \ nextgroup=logindefsBoolean skipwhite
+
+syn keyword logindefsBoolean contained yes no
+
+syn keyword logindefsEncryptKeyword contained
+ \ ENCRYPT_METHOD
+ \ nextgroup=logindefsEncryptMethod skipwhite
+
+syn keyword logindefsEncryptMethod contained
+ \ DES
+ \ MD5
+ \ SHA256
+ \ SHA512
+
+syn keyword logindefsNumberKeyword contained
+ \ ERASECHAR
+ \ FAIL_DELAY
+ \ GID_MAX
+ \ GID_MIN
+ \ KILLCHAR
+ \ LOGIN_RETRIES
+ \ LOGIN_TIMEOUT
+ \ MAX_MEMBERS_PER_GROUP
+ \ PASS_CHANGE_TRIES
+ \ PASS_MAX_DAYS
+ \ PASS_MIN_DAYS
+ \ PASS_WARN_AGE
+ \ PASS_MAX_LEN
+ \ PASS_MIN_LEN
+ \ SHA_CRYPT_MAX_ROUNDS
+ \ SHA_CRYPT_MIN_ROUNDS
+ \ SYS_GID_MAX
+ \ SYS_GID_MIN
+ \ SYS_UID_MAX
+ \ SYS_UID_MIN
+ \ UID_MAX
+ \ UID_MIN
+ \ ULIMIT
+ \ UMASK
+ \ nextgroup=@logindefsNumber skipwhite
+
+syn cluster logindefsNumber contains=
+ \ logindefsDecimal,
+ \ logindefsHex,
+ \ logindefsOctal,
+ \ logindefsOctalError
+
+syn match logindefsDecimal contained '\<\d\+\>'
+
+syn match logindefsHex contained display '\<0x\x\+\>'
+
+syn match logindefsOctal contained display '\<0\o\+\>'
+ \ contains=logindefsOctalZero
+syn match logindefsOctalZero contained display '\<0'
+
+syn match logindefsOctalError contained display '\<0\o*[89]\d*\>'
+
+syn keyword logindefsPathKeyword contained
+ \ ENVIRON_FILE
+ \ FAKE_SHELL
+ \ FTMP_FILE
+ \ HUSHLOGIN_FILE
+ \ ISSUE_FILE
+ \ MAIL_DIR
+ \ MAIL_FILE
+ \ NOLOGINS_FILE
+ \ SULOG_FILE
+ \ TTYTYPE_FILE
+ \ nextgroup=logindefsPath skipwhite
+
+syn match logindefsPath contained '[[:graph:]]\+'
+
+syn keyword logindefsPathsKeyword contained
+ \ CONSOLE
+ \ ENV_PATH
+ \ ENV_SUPATH
+ \ MOTD_FILE
+ \ nextgroup=logindefsPaths skipwhite
+
+syn match logindefsPaths contained '[^:]\+'
+ \ nextgroup=logindefsPathDelim
+
+syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths
+
+syn keyword logindefsStringKeyword contained
+ \ CHFN_RESTRICT
+ \ CONSOLE_GROUPS
+ \ ENV_HZ
+ \ ENV_TZ
+ \ LOGIN_STRING
+ \ SU_NAME
+ \ TTYGROUP
+ \ TTYPERM
+ \ USERDEL_CMD
+ \ nextgroup=logindefsString skipwhite
+
+syn match logindefsString contained '[[:graph:]]\+'
+
+hi def link logindefsComment Comment
+hi def link logindefsTodo Todo
+hi def link logindefsKeyword Keyword
+hi def link logindefsBooleanKeyword logindefsKeyword
+hi def link logindefsEncryptKeyword logindefsKeyword
+hi def link logindefsNumberKeyword logindefsKeyword
+hi def link logindefsPathKeyword logindefsKeyword
+hi def link logindefsPathsKeyword logindefsKeyword
+hi def link logindefsStringKeyword logindefsKeyword
+hi def link logindefsBoolean Boolean
+hi def link logindefsEncryptMethod Type
+hi def link logindefsNumber Number
+hi def link logindefsDecimal logindefsNumber
+hi def link logindefsHex logindefsNumber
+hi def link logindefsOctal logindefsNumber
+hi def link logindefsOctalZero PreProc
+hi def link logindefsOctalError Error
+hi def link logindefsPath String
+hi def link logindefsPaths logindefsPath
+hi def link logindefsPathDelim Delimiter
+hi def link logindefsString String
+
+let b:current_syntax = "logindefs"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save