summaryrefslogtreecommitdiff
path: root/runtime/syntax/ldif.vim
blob: 9f67b57f514a2219511e37bab38768c364fc3631 (plain)
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
" Vim syntax file
" Language:	LDAP LDIF
" Maintainer:	Zak Johnson <zakj@nox.cx>
" Last Change:	2003-12-30

if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

syn sync minlines=10 linebreaks=1

syn match ldifAttribute /^[^ #][^:]*/ contains=ldifOption display
syn match ldifOption /;[^:]\+/ contained contains=ldifPunctuation display
syn match ldifPunctuation /;/ contained display

syn region ldifStringValue matchgroup=ldifPunctuation start=/: /  end=/\_$/ skip=/\n /
syn region ldifBase64Value matchgroup=ldifPunctuation start=/:: / end=/\_$/ skip=/\n /
syn region ldifFileValue   matchgroup=ldifPunctuation start=/:< / end=/\_$/ skip=/\n /

syn region ldifComment start=/^#/ end=/\_$/ skip=/\n /

if version >= 508 || !exists("did_ldif_syn_inits")
  if version < 508
    let did_ldif_syn_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink ldifAttribute		Type
  HiLink ldifOption		Identifier
  HiLink ldifPunctuation	Normal
  HiLink ldifStringValue	String
  HiLink ldifBase64Value	Special
  HiLink ldifFileValue		Special
  HiLink ldifComment		Comment

  delcommand HiLink
endif

let b:current_syntax = "ldif"