logindefs.vim (8627B)
1 " Vim syntax file for login.defs(5) 2 " Language: login.defs(5) configuration file 3 " Previous Maintainer: Nikolai Weibull <now@bitwi.se> 4 " Latest Revision: 2010-11-29 5 " 2024 Jul 12 by Vim Project: Update keywords 6 7 if exists("b:current_syntax") 8 finish 9 endif 10 11 let s:cpo_save = &cpo 12 set cpo&vim 13 14 syn match logindefsBegin display '^' 15 \ nextgroup= 16 \ logindefsComment, 17 \ @logindefsKeyword 18 \ skipwhite 19 20 syn region logindefsComment display oneline start='^\s*#' end='$' 21 \ contains=logindefsTodo,@Spell 22 23 syn keyword logindefsTodo contained TODO FIXME XXX NOTE 24 25 syn cluster logindefsKeyword contains= 26 \ logindefsBooleanKeyword, 27 \ logindefsEncryptKeyword, 28 \ logindefsNumberKeyword, 29 \ logindefsPathKeyword, 30 \ logindefsPathsKeyword, 31 \ logindefsStringKeyword 32 33 syn keyword logindefsBooleanKeyword contained 34 \ CHFN_AUTH 35 \ CHSH_AUTH 36 \ CREATE_HOME 37 \ DEFAULT_HOME 38 \ FAILLOG_ENAB 39 \ FORCE_SHADOW 40 \ GRANT_AUX_GROUP_SUBIDS 41 \ LASTLOG_ENAB 42 \ LOG_OK_LOGINS 43 \ LOG_UNKFAIL_ENAB 44 \ MAIL_CHECK_ENAB 45 \ MD5_CRYPT_ENAB 46 \ OBSCURE_CHECKS_ENAB 47 \ PASS_ALWAYS_WARN 48 \ PORTTIME_CHECKS_ENAB 49 \ QUOTAS_ENAB 50 \ SU_WHEEL_ONLY 51 \ SYSLOG_SG_ENAB 52 \ SYSLOG_SU_ENAB 53 \ USERGROUPS_ENAB 54 \ nextgroup=logindefsBoolean skipwhite 55 56 syn keyword logindefsBoolean contained yes no 57 58 syn keyword logindefsEncryptKeyword contained 59 \ ENCRYPT_METHOD 60 \ HMAC_CRYPTO_ALGO 61 \ nextgroup=logindefsEncryptMethod skipwhite 62 63 syn keyword logindefsEncryptMethod contained 64 \ BCRYPT 65 \ DES 66 \ MD5 67 \ SHA256 68 \ SHA512 69 \ YESCRYPT 70 71 syn keyword logindefsNumberKeyword contained 72 \ BCRYPT_MAX_ROUNDS 73 \ BCRYPT_MIN_ROUNDS 74 \ ERASECHAR 75 \ FAIL_DELAY 76 \ GID_MAX 77 \ GID_MIN 78 \ KILLCHAR 79 \ LOGIN_RETRIES 80 \ LOGIN_TIMEOUT 81 \ MAX_MEMBERS_PER_GROUP 82 \ PASS_CHANGE_TRIES 83 \ PASS_MAX_DAYS 84 \ PASS_MIN_DAYS 85 \ PASS_WARN_AGE 86 \ PASS_MAX_LEN 87 \ PASS_MIN_LEN 88 \ SHA_CRYPT_MAX_ROUNDS 89 \ SHA_CRYPT_MIN_ROUNDS 90 \ SUB_GID_COUNT 91 \ SUB_GID_MAX 92 \ SUB_GID_MIN 93 \ SUB_UID_COUNT 94 \ SUB_UID_MAX 95 \ SUB_UID_MIN 96 \ SYS_GID_MAX 97 \ SYS_GID_MIN 98 \ SYS_UID_MAX 99 \ SYS_UID_MIN 100 \ UID_MAX 101 \ UID_MIN 102 \ ULIMIT 103 \ YESCRYPT_COST_FACTOR 104 \ nextgroup=@logindefsNumber skipwhite 105 106 syn keyword logindefsNumberKeyword contained 107 \ HOME_MODE 108 \ TTYPERM 109 \ UMASK 110 \ nextgroup=logindefsOctal,logindefsOctalError skipwhite 111 112 syn cluster logindefsNumber contains= 113 \ logindefsDecimal, 114 \ logindefsHex, 115 \ logindefsOctal, 116 \ logindefsOctalError 117 118 syn match logindefsDecimal contained '\<\d\+\>' 119 120 syn match logindefsHex contained display '\<0x\x\+\>' 121 122 syn match logindefsOctal contained display '\<0\o\+\>' 123 \ contains=logindefsOctalZero 124 syn match logindefsOctalZero contained display '\<0' 125 126 syn match logindefsOctalError contained display '\<0\o*[89]\d*\>' 127 128 syn keyword logindefsPathKeyword contained 129 \ ENVIRON_FILE 130 \ FAKE_SHELL 131 \ FTMP_FILE 132 \ HUSHLOGIN_FILE 133 \ ISSUE_FILE 134 \ MAIL_DIR 135 \ MAIL_FILE 136 \ NOLOGINS_FILE 137 \ NONEXISTENT 138 \ SULOG_FILE 139 \ TTYTYPE_FILE 140 \ nextgroup=logindefsPath skipwhite 141 142 syn match logindefsPath contained '[[:graph:]]\+' 143 144 syn keyword logindefsPathsKeyword contained 145 \ CONSOLE 146 \ ENV_PATH 147 \ ENV_SUPATH 148 \ MOTD_FILE 149 \ nextgroup=logindefsPaths skipwhite 150 151 syn match logindefsPaths contained '[^:]\+' 152 \ nextgroup=logindefsPathDelim 153 154 syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths 155 156 syn keyword logindefsStringKeyword contained 157 \ CHFN_RESTRICT 158 \ CONSOLE_GROUPS 159 \ ENV_HZ 160 \ ENV_TZ 161 \ LOGIN_STRING 162 \ PREVENT_NO_AUTH 163 \ SU_NAME 164 \ TTYGROUP 165 \ USERDEL_CMD 166 \ nextgroup=logindefsString skipwhite 167 168 syn match logindefsString contained '[[:graph:]]\+' 169 170 hi def link logindefsComment Comment 171 hi def link logindefsTodo Todo 172 hi def link logindefsKeyword Keyword 173 hi def link logindefsBooleanKeyword logindefsKeyword 174 hi def link logindefsEncryptKeyword logindefsKeyword 175 hi def link logindefsNumberKeyword logindefsKeyword 176 hi def link logindefsPathKeyword logindefsKeyword 177 hi def link logindefsPathsKeyword logindefsKeyword 178 hi def link logindefsStringKeyword logindefsKeyword 179 hi def link logindefsBoolean Boolean 180 hi def link logindefsEncryptMethod Type 181 hi def link logindefsNumber Number 182 hi def link logindefsDecimal logindefsNumber 183 hi def link logindefsHex logindefsNumber 184 hi def link logindefsOctal logindefsNumber 185 hi def link logindefsOctalZero PreProc 186 hi def link logindefsOctalError Error 187 hi def link logindefsPath String 188 hi def link logindefsPaths logindefsPath 189 hi def link logindefsPathDelim Delimiter 190 hi def link logindefsString String 191 192 let b:current_syntax = "logindefs" 193 194 let &cpo = s:cpo_save 195 unlet s:cpo_save