1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
" Vim syntax file
" Language: login.defs(5) configuration file
" 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
|