" Hyphens are allowed in keywords, so we'd better set them setlocal iskeyword=A-Z,a-z,- syntax case ignore " A comment starts in # and proceeds to the end of the line syntax region LDAPSchemaComment start="#" end="$" " These two types of regions are bounded by a (bracketed) region syntax region LDAPSchemaAttrType start="attributetype\_s\+(" end=")" contains=LDAPSchemaKeyAttrType,@LDAPSchemaStd,@LDAPSchemaAttr fold syntax keyword LDAPSchemaKeyAttrType attributetype contained syntax region LDAPSchemaObjClass start="objectclass\_s\+(" end=")" contains=LDAPSchemaKeyObjClass,@LDAPSchemaStd,@LDAPSchemaObj fold syntax keyword LDAPSchemaKeyObjClass objectclass contained syntax match LDAPSchemaObjIdent "objectidentifier\(\s\+\S\+\)\{2}" contains=LDAPSchemaKeyObjIdent syntax keyword LDAPSchemaKeyObjIdent objectidentifier contained syntax match LDAPSchemaMIB "[0-9]\+\(\.[0-9]\+\)*" contained " A string is single-quoted and can't contain a single quote; i.e. the .* " pattern is non-greedy syntax match LDAPSchemaString "'.\{-}'" contained " match 'NAME' then the next whitespace-separated token after it only syntax match LDAPSchemaName "\= 508 || !exists("did_ldapschema_syn_inits") if version < 508 let did_ldapschema_syn_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink LDAPSchemaKeyAttrType LDAPSchemaKeyword HiLink LDAPSchemaKeyObjClass LDAPSchemaKeyword HiLink LDAPSchemaKeyObjIdent LDAPSchemaKeyword HiLink LDAPSchemaStName LDAPSchemaStatement HiLink LDAPSchemaStDesc LDAPSchemaStatement HiLink LDAPSchemaStEqOrdSub LDAPSchemaStatement HiLink LDAPSchemaStSyn LDAPSchemaStatement HiLink LDAPSchemaStSeq LDAPSchemaStatement HiLink LDAPSchemaStSup LDAPSchemaStatement HiLink LDAPSchemaStMayMust LDAPSchemaStatement HiLink LDAPSchemaStSingle LDAPSchemaFlag HiLink LDAPSchemaStStrAuxAb LDAPSchemaFlag HiLink LDAPSchemaComment Comment HiLink LDAPSchemaKeyword Keyword HiLink LDAPSchemaStatement Type HiLink LDAPSchemaMIB Identifier HiLink LDAPSchemaString String HiLink LDAPSchemaLength PreProc HiLink LDAPSchemaFlag Identifier HiLink LDAPSchemaSep Special delcommand HiLink endif set foldmethod=syntax set foldcolumn=2