neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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