updated for version 7.1b
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 2deb3cc..21ae6ad 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 7.1a.  Last change: 2006 Apr 20
+*intro.txt*     For Vim version 7.1b.  Last change: 2007 May 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -235,7 +235,7 @@
 	David Leonard		Port of Python extensions to Unix
 	Avner Lottem		Edit in right-to-left windows
 	Flemming Madsen		X11 client-server, various features and patches
-	MicroSoft		Gave me a copy of DevStudio to compile Vim with
+	Microsoft		Gave me a copy of DevStudio to compile Vim with
 	Paul Moore		Python interface extensions, many patches
 	Katsuhito Nagano	Work on multi-byte versions
 	Sung-Hyun Nam		Work on multi-byte versions
diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt
index 079c394..ca9bf5c 100644
--- a/runtime/doc/sql.txt
+++ b/runtime/doc/sql.txt
@@ -1,4 +1,4 @@
-*sql.txt*	For Vim version 7.1a.  Last change: Wed Apr 26 2006 3:05:33 PM
+*sql.txt*	For Vim version 7.1b.  Last change: Wed Apr 26 2006 3:05:33 PM
 
 by David Fishburn
 
@@ -204,7 +204,7 @@
 						*sqlanywhere*
 						*oracle* *plsql* *sqlj*
 						*sqlserver*
-						*mysql* *postgress* *psql*
+						*mysql* *postgres* *psql*
 						*informix*
 
 All relational databases support SQL.  There is a portion of SQL that is
diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt
index 4108e40..fc17b2a 100644
--- a/runtime/doc/usr_07.txt
+++ b/runtime/doc/usr_07.txt
@@ -1,4 +1,4 @@
-*usr_07.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
+*usr_07.txt*	For Vim version 7.1b.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt
index a4320f1..9da5c01 100644
--- a/runtime/doc/usr_20.txt
+++ b/runtime/doc/usr_20.txt
@@ -1,4 +1,4 @@
-*usr_20.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
+*usr_20.txt*	For Vim version 7.1b.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/syntax/dircolors.vim b/runtime/syntax/dircolors.vim
index da01907..7a0b1e8 100644
--- a/runtime/syntax/dircolors.vim
+++ b/runtime/syntax/dircolors.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dircolors(1) input file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-19
+" Latest Revision:  2006-06-23
 
 if exists("b:current_syntax")
   finish
@@ -26,7 +26,10 @@
 endif
 
 syn match   dircolorsExtension  '^\s*\zs[.*]\S\+'
-                                \ nextgroup=@dircolorsColors skipwhite
+                                \ nextgroup=dircolorsColorPair skipwhite
+
+syn match   dircolorsColorPair  contained '.*$'
+                                \ transparent contains=@dircolorsColors
 
 if &t_Co == 8 || &t_Co == 16
   syn cluster dircolorsColors   contains=dircolorsBold,dircolorsUnderline,
@@ -40,11 +43,11 @@
                                 \ dircolorsBGMagenta,dircolorsBGCyan,
                                 \ dircolorsBGWhite
 
-  syn match dircolorsBold       contained '\<01\>'
-  syn match dircolorsUnderline  contained '\<04\>'
-  syn match dircolorsBlink      contained '\<05\>'
-  syn match dircolorsReverse    contained '\<07\>'
-  syn match dircolorsInvisible  contained '\<08\>'
+  syn match dircolorsBold       contained '\<0\=1\>'
+  syn match dircolorsUnderline  contained '\<0\=4\>'
+  syn match dircolorsBlink      contained '\<0\=5\>'
+  syn match dircolorsReverse    contained '\<0\=7\>'
+  syn match dircolorsInvisible  contained '\<0\=8\>'
   syn match dircolorsBlack      contained '\<30\>'
   syn match dircolorsRed        contained '\<31\>'
   syn match dircolorsGreen      contained '\<32\>'
@@ -61,8 +64,9 @@
   syn match dircolorsBGMagenta  contained '\<45\>'
   syn match dircolorsBGCyan     contained '\<46\>'
   syn match dircolorsBGWhite    contained '\<47\>'
-elseif &t_Co == 256
-  syn cluster dircolorsColors   contains=dircolorsColor1,dircolorsColor2,
+elseif &t_Co == 256 || has("gui_running")
+  syn cluster dircolorsColors   contains=dircolorsColor0,
+                                \ dircolorsColor1,dircolorsColor2,
                                 \ dircolorsColor3,dircolorsColor4,
                                 \ dircolorsColor5,dircolorsColor6,
                                 \ dircolorsColor7,dircolorsColor8,
@@ -191,15 +195,16 @@
                                 \ dircolorsColor253,dircolorsColor254,
                                 \ dircolorsColor255
 
-  syn match dircolorsColor1     contained '\<1\>'
-  syn match dircolorsColor2     contained '\<2\>'
-  syn match dircolorsColor3     contained '\<3\>'
-  syn match dircolorsColor4     contained '\<4\>'
-  syn match dircolorsColor5     contained '\<5\>'
-  syn match dircolorsColor6     contained '\<6\>'
-  syn match dircolorsColor7     contained '\<7\>'
-  syn match dircolorsColor8     contained '\<8\>'
-  syn match dircolorsColor9     contained '\<9\>'
+  syn match dircolorsColor0     contained '\<0\=0\>'
+  syn match dircolorsColor1     contained '\<0\=1\>'
+  syn match dircolorsColor2     contained '\<0\=2\>'
+  syn match dircolorsColor3     contained '\<0\=3\>'
+  syn match dircolorsColor4     contained '\<0\=4\>'
+  syn match dircolorsColor5     contained '\<0\=5\>'
+  syn match dircolorsColor6     contained '\<0\=6\>'
+  syn match dircolorsColor7     contained '\<0\=7\>'
+  syn match dircolorsColor8     contained '\<0\=8\>'
+  syn match dircolorsColor9     contained '\<0\=9\>'
   syn match dircolorsColor10    contained '\<10\>'
   syn match dircolorsColor11    contained '\<11\>'
   syn match dircolorsColor12    contained '\<12\>'
@@ -480,262 +485,263 @@
   hi def      dircolorsBGCyan     ctermbg=DarkCyan guibg=DarkCyan
   hi def      dircolorsBGWhite    ctermbg=White ctermfg=Black
                                   \ guibg=White guifg=Black
-elseif &t_Co == 256
-  hi def    dircolorsColor1     ctermfg=1   guifg=1
-  hi def    dircolorsColor2     ctermfg=2   guifg=2
-  hi def    dircolorsColor3     ctermfg=3   guifg=3
-  hi def    dircolorsColor4     ctermfg=4   guifg=4
-  hi def    dircolorsColor5     ctermfg=5   guifg=5
-  hi def    dircolorsColor6     ctermfg=6   guifg=6
-  hi def    dircolorsColor7     ctermfg=7   guifg=7
-  hi def    dircolorsColor8     ctermfg=8   guifg=8
-  hi def    dircolorsColor9     ctermfg=9   guifg=9
-  hi def    dircolorsColor10    ctermfg=10  guifg=10
-  hi def    dircolorsColor11    ctermfg=11  guifg=11
-  hi def    dircolorsColor12    ctermfg=12  guifg=12
-  hi def    dircolorsColor13    ctermfg=13  guifg=13
-  hi def    dircolorsColor14    ctermfg=14  guifg=14
-  hi def    dircolorsColor15    ctermfg=15  guifg=15
-  hi def    dircolorsColor16    ctermfg=16  guifg=16
-  hi def    dircolorsColor17    ctermfg=17  guifg=17
-  hi def    dircolorsColor18    ctermfg=18  guifg=18
-  hi def    dircolorsColor19    ctermfg=19  guifg=19
-  hi def    dircolorsColor20    ctermfg=20  guifg=20
-  hi def    dircolorsColor21    ctermfg=21  guifg=21
-  hi def    dircolorsColor22    ctermfg=22  guifg=22
-  hi def    dircolorsColor23    ctermfg=23  guifg=23
-  hi def    dircolorsColor24    ctermfg=24  guifg=24
-  hi def    dircolorsColor25    ctermfg=25  guifg=25
-  hi def    dircolorsColor26    ctermfg=26  guifg=26
-  hi def    dircolorsColor27    ctermfg=27  guifg=27
-  hi def    dircolorsColor28    ctermfg=28  guifg=28
-  hi def    dircolorsColor29    ctermfg=29  guifg=29
-  hi def    dircolorsColor30    ctermfg=30  guifg=30
-  hi def    dircolorsColor31    ctermfg=31  guifg=31
-  hi def    dircolorsColor32    ctermfg=32  guifg=32
-  hi def    dircolorsColor33    ctermfg=33  guifg=33
-  hi def    dircolorsColor34    ctermfg=34  guifg=34
-  hi def    dircolorsColor35    ctermfg=35  guifg=35
-  hi def    dircolorsColor36    ctermfg=36  guifg=36
-  hi def    dircolorsColor37    ctermfg=37  guifg=37
-  hi def    dircolorsColor38    ctermfg=38  guifg=38
-  hi def    dircolorsColor39    ctermfg=39  guifg=39
-  hi def    dircolorsColor40    ctermfg=40  guifg=40
-  hi def    dircolorsColor41    ctermfg=41  guifg=41
-  hi def    dircolorsColor42    ctermfg=42  guifg=42
-  hi def    dircolorsColor43    ctermfg=43  guifg=43
-  hi def    dircolorsColor44    ctermfg=44  guifg=44
-  hi def    dircolorsColor45    ctermfg=45  guifg=45
-  hi def    dircolorsColor46    ctermfg=46  guifg=46
-  hi def    dircolorsColor47    ctermfg=47  guifg=47
-  hi def    dircolorsColor48    ctermfg=48  guifg=48
-  hi def    dircolorsColor49    ctermfg=49  guifg=49
-  hi def    dircolorsColor50    ctermfg=50  guifg=50
-  hi def    dircolorsColor51    ctermfg=51  guifg=51
-  hi def    dircolorsColor52    ctermfg=52  guifg=52
-  hi def    dircolorsColor53    ctermfg=53  guifg=53
-  hi def    dircolorsColor54    ctermfg=54  guifg=54
-  hi def    dircolorsColor55    ctermfg=55  guifg=55
-  hi def    dircolorsColor56    ctermfg=56  guifg=56
-  hi def    dircolorsColor57    ctermfg=57  guifg=57
-  hi def    dircolorsColor58    ctermfg=58  guifg=58
-  hi def    dircolorsColor59    ctermfg=59  guifg=59
-  hi def    dircolorsColor60    ctermfg=60  guifg=60
-  hi def    dircolorsColor61    ctermfg=61  guifg=61
-  hi def    dircolorsColor62    ctermfg=62  guifg=62
-  hi def    dircolorsColor63    ctermfg=63  guifg=63
-  hi def    dircolorsColor64    ctermfg=64  guifg=64
-  hi def    dircolorsColor65    ctermfg=65  guifg=65
-  hi def    dircolorsColor66    ctermfg=66  guifg=66
-  hi def    dircolorsColor67    ctermfg=67  guifg=67
-  hi def    dircolorsColor68    ctermfg=68  guifg=68
-  hi def    dircolorsColor69    ctermfg=69  guifg=69
-  hi def    dircolorsColor70    ctermfg=70  guifg=70
-  hi def    dircolorsColor71    ctermfg=71  guifg=71
-  hi def    dircolorsColor72    ctermfg=72  guifg=72
-  hi def    dircolorsColor73    ctermfg=73  guifg=73
-  hi def    dircolorsColor74    ctermfg=74  guifg=74
-  hi def    dircolorsColor75    ctermfg=75  guifg=75
-  hi def    dircolorsColor76    ctermfg=76  guifg=76
-  hi def    dircolorsColor77    ctermfg=77  guifg=77
-  hi def    dircolorsColor78    ctermfg=78  guifg=78
-  hi def    dircolorsColor79    ctermfg=79  guifg=79
-  hi def    dircolorsColor80    ctermfg=80  guifg=80
-  hi def    dircolorsColor81    ctermfg=81  guifg=81
-  hi def    dircolorsColor82    ctermfg=82  guifg=82
-  hi def    dircolorsColor83    ctermfg=83  guifg=83
-  hi def    dircolorsColor84    ctermfg=84  guifg=84
-  hi def    dircolorsColor85    ctermfg=85  guifg=85
-  hi def    dircolorsColor86    ctermfg=86  guifg=86
-  hi def    dircolorsColor87    ctermfg=87  guifg=87
-  hi def    dircolorsColor88    ctermfg=88  guifg=88
-  hi def    dircolorsColor89    ctermfg=89  guifg=89
-  hi def    dircolorsColor90    ctermfg=90  guifg=90
-  hi def    dircolorsColor91    ctermfg=91  guifg=91
-  hi def    dircolorsColor92    ctermfg=92  guifg=92
-  hi def    dircolorsColor93    ctermfg=93  guifg=93
-  hi def    dircolorsColor94    ctermfg=94  guifg=94
-  hi def    dircolorsColor95    ctermfg=95  guifg=95
-  hi def    dircolorsColor96    ctermfg=96  guifg=96
-  hi def    dircolorsColor97    ctermfg=97  guifg=97
-  hi def    dircolorsColor98    ctermfg=98  guifg=98
-  hi def    dircolorsColor99    ctermfg=99  guifg=99
-  hi def    dircolorsColor100   ctermfg=100 guifg=100
-  hi def    dircolorsColor101   ctermfg=101 guifg=101
-  hi def    dircolorsColor102   ctermfg=102 guifg=102
-  hi def    dircolorsColor103   ctermfg=103 guifg=103
-  hi def    dircolorsColor104   ctermfg=104 guifg=104
-  hi def    dircolorsColor105   ctermfg=105 guifg=105
-  hi def    dircolorsColor106   ctermfg=106 guifg=106
-  hi def    dircolorsColor107   ctermfg=107 guifg=107
-  hi def    dircolorsColor108   ctermfg=108 guifg=108
-  hi def    dircolorsColor109   ctermfg=109 guifg=109
-  hi def    dircolorsColor110   ctermfg=110 guifg=110
-  hi def    dircolorsColor111   ctermfg=111 guifg=111
-  hi def    dircolorsColor112   ctermfg=112 guifg=112
-  hi def    dircolorsColor113   ctermfg=113 guifg=113
-  hi def    dircolorsColor114   ctermfg=114 guifg=114
-  hi def    dircolorsColor115   ctermfg=115 guifg=115
-  hi def    dircolorsColor116   ctermfg=116 guifg=116
-  hi def    dircolorsColor117   ctermfg=117 guifg=117
-  hi def    dircolorsColor118   ctermfg=118 guifg=118
-  hi def    dircolorsColor119   ctermfg=119 guifg=119
-  hi def    dircolorsColor120   ctermfg=120 guifg=120
-  hi def    dircolorsColor121   ctermfg=121 guifg=121
-  hi def    dircolorsColor122   ctermfg=122 guifg=122
-  hi def    dircolorsColor123   ctermfg=123 guifg=123
-  hi def    dircolorsColor124   ctermfg=124 guifg=124
-  hi def    dircolorsColor125   ctermfg=125 guifg=125
-  hi def    dircolorsColor126   ctermfg=126 guifg=126
-  hi def    dircolorsColor127   ctermfg=127 guifg=127
-  hi def    dircolorsColor128   ctermfg=128 guifg=128
-  hi def    dircolorsColor129   ctermfg=129 guifg=129
-  hi def    dircolorsColor130   ctermfg=130 guifg=130
-  hi def    dircolorsColor131   ctermfg=131 guifg=131
-  hi def    dircolorsColor132   ctermfg=132 guifg=132
-  hi def    dircolorsColor133   ctermfg=133 guifg=133
-  hi def    dircolorsColor134   ctermfg=134 guifg=134
-  hi def    dircolorsColor135   ctermfg=135 guifg=135
-  hi def    dircolorsColor136   ctermfg=136 guifg=136
-  hi def    dircolorsColor137   ctermfg=137 guifg=137
-  hi def    dircolorsColor138   ctermfg=138 guifg=138
-  hi def    dircolorsColor139   ctermfg=139 guifg=139
-  hi def    dircolorsColor140   ctermfg=140 guifg=140
-  hi def    dircolorsColor141   ctermfg=141 guifg=141
-  hi def    dircolorsColor142   ctermfg=142 guifg=142
-  hi def    dircolorsColor143   ctermfg=143 guifg=143
-  hi def    dircolorsColor144   ctermfg=144 guifg=144
-  hi def    dircolorsColor145   ctermfg=145 guifg=145
-  hi def    dircolorsColor146   ctermfg=146 guifg=146
-  hi def    dircolorsColor147   ctermfg=147 guifg=147
-  hi def    dircolorsColor148   ctermfg=148 guifg=148
-  hi def    dircolorsColor149   ctermfg=149 guifg=149
-  hi def    dircolorsColor150   ctermfg=150 guifg=150
-  hi def    dircolorsColor151   ctermfg=151 guifg=151
-  hi def    dircolorsColor152   ctermfg=152 guifg=152
-  hi def    dircolorsColor153   ctermfg=153 guifg=153
-  hi def    dircolorsColor154   ctermfg=154 guifg=154
-  hi def    dircolorsColor155   ctermfg=155 guifg=155
-  hi def    dircolorsColor156   ctermfg=156 guifg=156
-  hi def    dircolorsColor157   ctermfg=157 guifg=157
-  hi def    dircolorsColor158   ctermfg=158 guifg=158
-  hi def    dircolorsColor159   ctermfg=159 guifg=159
-  hi def    dircolorsColor160   ctermfg=160 guifg=160
-  hi def    dircolorsColor161   ctermfg=161 guifg=161
-  hi def    dircolorsColor162   ctermfg=162 guifg=162
-  hi def    dircolorsColor163   ctermfg=163 guifg=163
-  hi def    dircolorsColor164   ctermfg=164 guifg=164
-  hi def    dircolorsColor165   ctermfg=165 guifg=165
-  hi def    dircolorsColor166   ctermfg=166 guifg=166
-  hi def    dircolorsColor167   ctermfg=167 guifg=167
-  hi def    dircolorsColor168   ctermfg=168 guifg=168
-  hi def    dircolorsColor169   ctermfg=169 guifg=169
-  hi def    dircolorsColor170   ctermfg=170 guifg=170
-  hi def    dircolorsColor171   ctermfg=171 guifg=171
-  hi def    dircolorsColor172   ctermfg=172 guifg=172
-  hi def    dircolorsColor173   ctermfg=173 guifg=173
-  hi def    dircolorsColor174   ctermfg=174 guifg=174
-  hi def    dircolorsColor175   ctermfg=175 guifg=175
-  hi def    dircolorsColor176   ctermfg=176 guifg=176
-  hi def    dircolorsColor177   ctermfg=177 guifg=177
-  hi def    dircolorsColor178   ctermfg=178 guifg=178
-  hi def    dircolorsColor179   ctermfg=179 guifg=179
-  hi def    dircolorsColor180   ctermfg=180 guifg=180
-  hi def    dircolorsColor181   ctermfg=181 guifg=181
-  hi def    dircolorsColor182   ctermfg=182 guifg=182
-  hi def    dircolorsColor183   ctermfg=183 guifg=183
-  hi def    dircolorsColor184   ctermfg=184 guifg=184
-  hi def    dircolorsColor185   ctermfg=185 guifg=185
-  hi def    dircolorsColor186   ctermfg=186 guifg=186
-  hi def    dircolorsColor187   ctermfg=187 guifg=187
-  hi def    dircolorsColor188   ctermfg=188 guifg=188
-  hi def    dircolorsColor189   ctermfg=189 guifg=189
-  hi def    dircolorsColor190   ctermfg=190 guifg=190
-  hi def    dircolorsColor191   ctermfg=191 guifg=191
-  hi def    dircolorsColor192   ctermfg=192 guifg=192
-  hi def    dircolorsColor193   ctermfg=193 guifg=193
-  hi def    dircolorsColor194   ctermfg=194 guifg=194
-  hi def    dircolorsColor195   ctermfg=195 guifg=195
-  hi def    dircolorsColor196   ctermfg=196 guifg=196
-  hi def    dircolorsColor197   ctermfg=197 guifg=197
-  hi def    dircolorsColor198   ctermfg=198 guifg=198
-  hi def    dircolorsColor199   ctermfg=199 guifg=199
-  hi def    dircolorsColor200   ctermfg=200 guifg=200
-  hi def    dircolorsColor201   ctermfg=201 guifg=201
-  hi def    dircolorsColor202   ctermfg=202 guifg=202
-  hi def    dircolorsColor203   ctermfg=203 guifg=203
-  hi def    dircolorsColor204   ctermfg=204 guifg=204
-  hi def    dircolorsColor205   ctermfg=205 guifg=205
-  hi def    dircolorsColor206   ctermfg=206 guifg=206
-  hi def    dircolorsColor207   ctermfg=207 guifg=207
-  hi def    dircolorsColor208   ctermfg=208 guifg=208
-  hi def    dircolorsColor209   ctermfg=209 guifg=209
-  hi def    dircolorsColor210   ctermfg=210 guifg=210
-  hi def    dircolorsColor211   ctermfg=211 guifg=211
-  hi def    dircolorsColor212   ctermfg=212 guifg=212
-  hi def    dircolorsColor213   ctermfg=213 guifg=213
-  hi def    dircolorsColor214   ctermfg=214 guifg=214
-  hi def    dircolorsColor215   ctermfg=215 guifg=215
-  hi def    dircolorsColor216   ctermfg=216 guifg=216
-  hi def    dircolorsColor217   ctermfg=217 guifg=217
-  hi def    dircolorsColor218   ctermfg=218 guifg=218
-  hi def    dircolorsColor219   ctermfg=219 guifg=219
-  hi def    dircolorsColor220   ctermfg=220 guifg=220
-  hi def    dircolorsColor221   ctermfg=221 guifg=221
-  hi def    dircolorsColor222   ctermfg=222 guifg=222
-  hi def    dircolorsColor223   ctermfg=223 guifg=223
-  hi def    dircolorsColor224   ctermfg=224 guifg=224
-  hi def    dircolorsColor225   ctermfg=225 guifg=225
-  hi def    dircolorsColor226   ctermfg=226 guifg=226
-  hi def    dircolorsColor227   ctermfg=227 guifg=227
-  hi def    dircolorsColor228   ctermfg=228 guifg=228
-  hi def    dircolorsColor229   ctermfg=229 guifg=229
-  hi def    dircolorsColor230   ctermfg=230 guifg=230
-  hi def    dircolorsColor231   ctermfg=231 guifg=231
-  hi def    dircolorsColor232   ctermfg=232 guifg=232
-  hi def    dircolorsColor233   ctermfg=233 guifg=233
-  hi def    dircolorsColor234   ctermfg=234 guifg=234
-  hi def    dircolorsColor235   ctermfg=235 guifg=235
-  hi def    dircolorsColor236   ctermfg=236 guifg=236
-  hi def    dircolorsColor237   ctermfg=237 guifg=237
-  hi def    dircolorsColor238   ctermfg=238 guifg=238
-  hi def    dircolorsColor239   ctermfg=239 guifg=239
-  hi def    dircolorsColor240   ctermfg=240 guifg=240
-  hi def    dircolorsColor241   ctermfg=241 guifg=241
-  hi def    dircolorsColor242   ctermfg=242 guifg=242
-  hi def    dircolorsColor243   ctermfg=243 guifg=243
-  hi def    dircolorsColor244   ctermfg=244 guifg=244
-  hi def    dircolorsColor245   ctermfg=245 guifg=245
-  hi def    dircolorsColor246   ctermfg=246 guifg=246
-  hi def    dircolorsColor247   ctermfg=247 guifg=247
-  hi def    dircolorsColor248   ctermfg=248 guifg=248
-  hi def    dircolorsColor249   ctermfg=249 guifg=249
-  hi def    dircolorsColor250   ctermfg=250 guifg=250
-  hi def    dircolorsColor251   ctermfg=251 guifg=251
-  hi def    dircolorsColor252   ctermfg=252 guifg=252
-  hi def    dircolorsColor253   ctermfg=253 guifg=253
-  hi def    dircolorsColor254   ctermfg=254 guifg=254
-  hi def    dircolorsColor255   ctermfg=255 guifg=255
+elseif &t_Co == 256 || has("gui_running")
+  hi def    dircolorsColor0     ctermfg=0   guifg=Black
+  hi def    dircolorsColor1     ctermfg=1   guifg=DarkRed
+  hi def    dircolorsColor2     ctermfg=2   guifg=DarkGreen
+  hi def    dircolorsColor3     ctermfg=3   guifg=DarkYellow
+  hi def    dircolorsColor4     ctermfg=4   guifg=DarkBlue
+  hi def    dircolorsColor5     ctermfg=5   guifg=DarkMagenta
+  hi def    dircolorsColor6     ctermfg=6   guifg=DarkCyan
+  hi def    dircolorsColor7     ctermfg=7   guifg=Gray
+  hi def    dircolorsColor8     ctermfg=8   guifg=DarkGray
+  hi def    dircolorsColor9     ctermfg=9   guifg=Red
+  hi def    dircolorsColor10    ctermfg=10  guifg=Green
+  hi def    dircolorsColor11    ctermfg=11  guifg=Yellow
+  hi def    dircolorsColor12    ctermfg=12  guifg=Blue
+  hi def    dircolorsColor13    ctermfg=13  guifg=Magenta
+  hi def    dircolorsColor14    ctermfg=14  guifg=Cyan
+  hi def    dircolorsColor15    ctermfg=15  guifg=White
+  hi def    dircolorsColor16    ctermfg=16  guifg=#000000
+  hi def    dircolorsColor17    ctermfg=17  guifg=#00005f
+  hi def    dircolorsColor18    ctermfg=18  guifg=#000087
+  hi def    dircolorsColor19    ctermfg=19  guifg=#0000af
+  hi def    dircolorsColor20    ctermfg=20  guifg=#0000d7
+  hi def    dircolorsColor21    ctermfg=21  guifg=#0000ff
+  hi def    dircolorsColor22    ctermfg=22  guifg=#005f00
+  hi def    dircolorsColor23    ctermfg=23  guifg=#005f5f
+  hi def    dircolorsColor24    ctermfg=24  guifg=#005f87
+  hi def    dircolorsColor25    ctermfg=25  guifg=#005faf
+  hi def    dircolorsColor26    ctermfg=26  guifg=#005fd7
+  hi def    dircolorsColor27    ctermfg=27  guifg=#005fff
+  hi def    dircolorsColor28    ctermfg=28  guifg=#008700
+  hi def    dircolorsColor29    ctermfg=29  guifg=#00875f
+  hi def    dircolorsColor30    ctermfg=30  guifg=#008787
+  hi def    dircolorsColor31    ctermfg=31  guifg=#0087af
+  hi def    dircolorsColor32    ctermfg=32  guifg=#0087d7
+  hi def    dircolorsColor33    ctermfg=33  guifg=#0087ff
+  hi def    dircolorsColor34    ctermfg=34  guifg=#00af00
+  hi def    dircolorsColor35    ctermfg=35  guifg=#00af5f
+  hi def    dircolorsColor36    ctermfg=36  guifg=#00af87
+  hi def    dircolorsColor37    ctermfg=37  guifg=#00afaf
+  hi def    dircolorsColor38    ctermfg=38  guifg=#00afd7
+  hi def    dircolorsColor39    ctermfg=39  guifg=#00afff
+  hi def    dircolorsColor40    ctermfg=40  guifg=#00d700
+  hi def    dircolorsColor41    ctermfg=41  guifg=#00d75f
+  hi def    dircolorsColor42    ctermfg=42  guifg=#00d787
+  hi def    dircolorsColor43    ctermfg=43  guifg=#00d7af
+  hi def    dircolorsColor44    ctermfg=44  guifg=#00d7d7
+  hi def    dircolorsColor45    ctermfg=45  guifg=#00d7ff
+  hi def    dircolorsColor46    ctermfg=46  guifg=#00ff00
+  hi def    dircolorsColor47    ctermfg=47  guifg=#00ff5f
+  hi def    dircolorsColor48    ctermfg=48  guifg=#00ff87
+  hi def    dircolorsColor49    ctermfg=49  guifg=#00ffaf
+  hi def    dircolorsColor50    ctermfg=50  guifg=#00ffd7
+  hi def    dircolorsColor51    ctermfg=51  guifg=#00ffff
+  hi def    dircolorsColor52    ctermfg=52  guifg=#5f0000
+  hi def    dircolorsColor53    ctermfg=53  guifg=#5f005f
+  hi def    dircolorsColor54    ctermfg=54  guifg=#5f0087
+  hi def    dircolorsColor55    ctermfg=55  guifg=#5f00af
+  hi def    dircolorsColor56    ctermfg=56  guifg=#5f00d7
+  hi def    dircolorsColor57    ctermfg=57  guifg=#5f00ff
+  hi def    dircolorsColor58    ctermfg=58  guifg=#5f5f00
+  hi def    dircolorsColor59    ctermfg=59  guifg=#5f5f5f
+  hi def    dircolorsColor60    ctermfg=60  guifg=#5f5f87
+  hi def    dircolorsColor61    ctermfg=61  guifg=#5f5faf
+  hi def    dircolorsColor62    ctermfg=62  guifg=#5f5fd7
+  hi def    dircolorsColor63    ctermfg=63  guifg=#5f5fff
+  hi def    dircolorsColor64    ctermfg=64  guifg=#5f8700
+  hi def    dircolorsColor65    ctermfg=65  guifg=#5f875f
+  hi def    dircolorsColor66    ctermfg=66  guifg=#5f8787
+  hi def    dircolorsColor67    ctermfg=67  guifg=#5f87af
+  hi def    dircolorsColor68    ctermfg=68  guifg=#5f87d7
+  hi def    dircolorsColor69    ctermfg=69  guifg=#5f87ff
+  hi def    dircolorsColor70    ctermfg=70  guifg=#5faf00
+  hi def    dircolorsColor71    ctermfg=71  guifg=#5faf5f
+  hi def    dircolorsColor72    ctermfg=72  guifg=#5faf87
+  hi def    dircolorsColor73    ctermfg=73  guifg=#5fafaf
+  hi def    dircolorsColor74    ctermfg=74  guifg=#5fafd7
+  hi def    dircolorsColor75    ctermfg=75  guifg=#5fafff
+  hi def    dircolorsColor76    ctermfg=76  guifg=#5fd700
+  hi def    dircolorsColor77    ctermfg=77  guifg=#5fd75f
+  hi def    dircolorsColor78    ctermfg=78  guifg=#5fd787
+  hi def    dircolorsColor79    ctermfg=79  guifg=#5fd7af
+  hi def    dircolorsColor80    ctermfg=80  guifg=#5fd7d7
+  hi def    dircolorsColor81    ctermfg=81  guifg=#5fd7ff
+  hi def    dircolorsColor82    ctermfg=82  guifg=#5fff00
+  hi def    dircolorsColor83    ctermfg=83  guifg=#5fff5f
+  hi def    dircolorsColor84    ctermfg=84  guifg=#5fff87
+  hi def    dircolorsColor85    ctermfg=85  guifg=#5fffaf
+  hi def    dircolorsColor86    ctermfg=86  guifg=#5fffd7
+  hi def    dircolorsColor87    ctermfg=87  guifg=#5fffff
+  hi def    dircolorsColor88    ctermfg=88  guifg=#870000
+  hi def    dircolorsColor89    ctermfg=89  guifg=#87005f
+  hi def    dircolorsColor90    ctermfg=90  guifg=#870087
+  hi def    dircolorsColor91    ctermfg=91  guifg=#8700af
+  hi def    dircolorsColor92    ctermfg=92  guifg=#8700d7
+  hi def    dircolorsColor93    ctermfg=93  guifg=#8700ff
+  hi def    dircolorsColor94    ctermfg=94  guifg=#875f00
+  hi def    dircolorsColor95    ctermfg=95  guifg=#875f5f
+  hi def    dircolorsColor96    ctermfg=96  guifg=#875f87
+  hi def    dircolorsColor97    ctermfg=97  guifg=#875faf
+  hi def    dircolorsColor98    ctermfg=98  guifg=#875fd7
+  hi def    dircolorsColor99    ctermfg=99  guifg=#875fff
+  hi def    dircolorsColor100   ctermfg=100 guifg=#878700
+  hi def    dircolorsColor101   ctermfg=101 guifg=#87875f
+  hi def    dircolorsColor102   ctermfg=102 guifg=#878787
+  hi def    dircolorsColor103   ctermfg=103 guifg=#8787af
+  hi def    dircolorsColor104   ctermfg=104 guifg=#8787d7
+  hi def    dircolorsColor105   ctermfg=105 guifg=#8787ff
+  hi def    dircolorsColor106   ctermfg=106 guifg=#87af00
+  hi def    dircolorsColor107   ctermfg=107 guifg=#87af5f
+  hi def    dircolorsColor108   ctermfg=108 guifg=#87af87
+  hi def    dircolorsColor109   ctermfg=109 guifg=#87afaf
+  hi def    dircolorsColor110   ctermfg=110 guifg=#87afd7
+  hi def    dircolorsColor111   ctermfg=111 guifg=#87afff
+  hi def    dircolorsColor112   ctermfg=112 guifg=#87d700
+  hi def    dircolorsColor113   ctermfg=113 guifg=#87d75f
+  hi def    dircolorsColor114   ctermfg=114 guifg=#87d787
+  hi def    dircolorsColor115   ctermfg=115 guifg=#87d7af
+  hi def    dircolorsColor116   ctermfg=116 guifg=#87d7d7
+  hi def    dircolorsColor117   ctermfg=117 guifg=#87d7ff
+  hi def    dircolorsColor118   ctermfg=118 guifg=#87ff00
+  hi def    dircolorsColor119   ctermfg=119 guifg=#87ff5f
+  hi def    dircolorsColor120   ctermfg=120 guifg=#87ff87
+  hi def    dircolorsColor121   ctermfg=121 guifg=#87ffaf
+  hi def    dircolorsColor122   ctermfg=122 guifg=#87ffd7
+  hi def    dircolorsColor123   ctermfg=123 guifg=#87ffff
+  hi def    dircolorsColor124   ctermfg=124 guifg=#af0000
+  hi def    dircolorsColor125   ctermfg=125 guifg=#af005f
+  hi def    dircolorsColor126   ctermfg=126 guifg=#af0087
+  hi def    dircolorsColor127   ctermfg=127 guifg=#af00af
+  hi def    dircolorsColor128   ctermfg=128 guifg=#af00d7
+  hi def    dircolorsColor129   ctermfg=129 guifg=#af00ff
+  hi def    dircolorsColor130   ctermfg=130 guifg=#af5f00
+  hi def    dircolorsColor131   ctermfg=131 guifg=#af5f5f
+  hi def    dircolorsColor132   ctermfg=132 guifg=#af5f87
+  hi def    dircolorsColor133   ctermfg=133 guifg=#af5faf
+  hi def    dircolorsColor134   ctermfg=134 guifg=#af5fd7
+  hi def    dircolorsColor135   ctermfg=135 guifg=#af5fff
+  hi def    dircolorsColor136   ctermfg=136 guifg=#af8700
+  hi def    dircolorsColor137   ctermfg=137 guifg=#af875f
+  hi def    dircolorsColor138   ctermfg=138 guifg=#af8787
+  hi def    dircolorsColor139   ctermfg=139 guifg=#af87af
+  hi def    dircolorsColor140   ctermfg=140 guifg=#af87d7
+  hi def    dircolorsColor141   ctermfg=141 guifg=#af87ff
+  hi def    dircolorsColor142   ctermfg=142 guifg=#afaf00
+  hi def    dircolorsColor143   ctermfg=143 guifg=#afaf5f
+  hi def    dircolorsColor144   ctermfg=144 guifg=#afaf87
+  hi def    dircolorsColor145   ctermfg=145 guifg=#afafaf
+  hi def    dircolorsColor146   ctermfg=146 guifg=#afafd7
+  hi def    dircolorsColor147   ctermfg=147 guifg=#afafff
+  hi def    dircolorsColor148   ctermfg=148 guifg=#afd700
+  hi def    dircolorsColor149   ctermfg=149 guifg=#afd75f
+  hi def    dircolorsColor150   ctermfg=150 guifg=#afd787
+  hi def    dircolorsColor151   ctermfg=151 guifg=#afd7af
+  hi def    dircolorsColor152   ctermfg=152 guifg=#afd7d7
+  hi def    dircolorsColor153   ctermfg=153 guifg=#afd7ff
+  hi def    dircolorsColor154   ctermfg=154 guifg=#afff00
+  hi def    dircolorsColor155   ctermfg=155 guifg=#afff5f
+  hi def    dircolorsColor156   ctermfg=156 guifg=#afff87
+  hi def    dircolorsColor157   ctermfg=157 guifg=#afffaf
+  hi def    dircolorsColor158   ctermfg=158 guifg=#afffd7
+  hi def    dircolorsColor159   ctermfg=159 guifg=#afffff
+  hi def    dircolorsColor160   ctermfg=160 guifg=#d70000
+  hi def    dircolorsColor161   ctermfg=161 guifg=#d7005f
+  hi def    dircolorsColor162   ctermfg=162 guifg=#d70087
+  hi def    dircolorsColor163   ctermfg=163 guifg=#d700af
+  hi def    dircolorsColor164   ctermfg=164 guifg=#d700d7
+  hi def    dircolorsColor165   ctermfg=165 guifg=#d700ff
+  hi def    dircolorsColor166   ctermfg=166 guifg=#d75f00
+  hi def    dircolorsColor167   ctermfg=167 guifg=#d75f5f
+  hi def    dircolorsColor168   ctermfg=168 guifg=#d75f87
+  hi def    dircolorsColor169   ctermfg=169 guifg=#d75faf
+  hi def    dircolorsColor170   ctermfg=170 guifg=#d75fd7
+  hi def    dircolorsColor171   ctermfg=171 guifg=#d75fff
+  hi def    dircolorsColor172   ctermfg=172 guifg=#d78700
+  hi def    dircolorsColor173   ctermfg=173 guifg=#d7875f
+  hi def    dircolorsColor174   ctermfg=174 guifg=#d78787
+  hi def    dircolorsColor175   ctermfg=175 guifg=#d787af
+  hi def    dircolorsColor176   ctermfg=176 guifg=#d787d7
+  hi def    dircolorsColor177   ctermfg=177 guifg=#d787ff
+  hi def    dircolorsColor178   ctermfg=178 guifg=#d7af00
+  hi def    dircolorsColor179   ctermfg=179 guifg=#d7af5f
+  hi def    dircolorsColor180   ctermfg=180 guifg=#d7af87
+  hi def    dircolorsColor181   ctermfg=181 guifg=#d7afaf
+  hi def    dircolorsColor182   ctermfg=182 guifg=#d7afd7
+  hi def    dircolorsColor183   ctermfg=183 guifg=#d7afff
+  hi def    dircolorsColor184   ctermfg=184 guifg=#d7d700
+  hi def    dircolorsColor185   ctermfg=185 guifg=#d7d75f
+  hi def    dircolorsColor186   ctermfg=186 guifg=#d7d787
+  hi def    dircolorsColor187   ctermfg=187 guifg=#d7d7af
+  hi def    dircolorsColor188   ctermfg=188 guifg=#d7d7d7
+  hi def    dircolorsColor189   ctermfg=189 guifg=#d7d7ff
+  hi def    dircolorsColor190   ctermfg=190 guifg=#d7ff00
+  hi def    dircolorsColor191   ctermfg=191 guifg=#d7ff5f
+  hi def    dircolorsColor192   ctermfg=192 guifg=#d7ff87
+  hi def    dircolorsColor193   ctermfg=193 guifg=#d7ffaf
+  hi def    dircolorsColor194   ctermfg=194 guifg=#d7ffd7
+  hi def    dircolorsColor195   ctermfg=195 guifg=#d7ffff
+  hi def    dircolorsColor196   ctermfg=196 guifg=#ff0000
+  hi def    dircolorsColor197   ctermfg=197 guifg=#ff005f
+  hi def    dircolorsColor198   ctermfg=198 guifg=#ff0087
+  hi def    dircolorsColor199   ctermfg=199 guifg=#ff00af
+  hi def    dircolorsColor200   ctermfg=200 guifg=#ff00d7
+  hi def    dircolorsColor201   ctermfg=201 guifg=#ff00ff
+  hi def    dircolorsColor202   ctermfg=202 guifg=#ff5f00
+  hi def    dircolorsColor203   ctermfg=203 guifg=#ff5f5f
+  hi def    dircolorsColor204   ctermfg=204 guifg=#ff5f87
+  hi def    dircolorsColor205   ctermfg=205 guifg=#ff5faf
+  hi def    dircolorsColor206   ctermfg=206 guifg=#ff5fd7
+  hi def    dircolorsColor207   ctermfg=207 guifg=#ff5fff
+  hi def    dircolorsColor208   ctermfg=208 guifg=#ff8700
+  hi def    dircolorsColor209   ctermfg=209 guifg=#ff875f
+  hi def    dircolorsColor210   ctermfg=210 guifg=#ff8787
+  hi def    dircolorsColor211   ctermfg=211 guifg=#ff87af
+  hi def    dircolorsColor212   ctermfg=212 guifg=#ff87d7
+  hi def    dircolorsColor213   ctermfg=213 guifg=#ff87ff
+  hi def    dircolorsColor214   ctermfg=214 guifg=#ffaf00
+  hi def    dircolorsColor215   ctermfg=215 guifg=#ffaf5f
+  hi def    dircolorsColor216   ctermfg=216 guifg=#ffaf87
+  hi def    dircolorsColor217   ctermfg=217 guifg=#ffafaf
+  hi def    dircolorsColor218   ctermfg=218 guifg=#ffafd7
+  hi def    dircolorsColor219   ctermfg=219 guifg=#ffafff
+  hi def    dircolorsColor220   ctermfg=220 guifg=#ffd700
+  hi def    dircolorsColor221   ctermfg=221 guifg=#ffd75f
+  hi def    dircolorsColor222   ctermfg=222 guifg=#ffd787
+  hi def    dircolorsColor223   ctermfg=223 guifg=#ffd7af
+  hi def    dircolorsColor224   ctermfg=224 guifg=#ffd7d7
+  hi def    dircolorsColor225   ctermfg=225 guifg=#ffd7ff
+  hi def    dircolorsColor226   ctermfg=226 guifg=#ffff00
+  hi def    dircolorsColor227   ctermfg=227 guifg=#ffff5f
+  hi def    dircolorsColor228   ctermfg=228 guifg=#ffff87
+  hi def    dircolorsColor229   ctermfg=229 guifg=#ffffaf
+  hi def    dircolorsColor230   ctermfg=230 guifg=#ffffd7
+  hi def    dircolorsColor231   ctermfg=231 guifg=#ffffff
+  hi def    dircolorsColor232   ctermfg=232 guifg=#080808
+  hi def    dircolorsColor233   ctermfg=233 guifg=#121212
+  hi def    dircolorsColor234   ctermfg=234 guifg=#1c1c1c
+  hi def    dircolorsColor235   ctermfg=235 guifg=#262626
+  hi def    dircolorsColor236   ctermfg=236 guifg=#303030
+  hi def    dircolorsColor237   ctermfg=237 guifg=#3a3a3a
+  hi def    dircolorsColor238   ctermfg=238 guifg=#444444
+  hi def    dircolorsColor239   ctermfg=239 guifg=#4e4e4e
+  hi def    dircolorsColor240   ctermfg=240 guifg=#585858
+  hi def    dircolorsColor241   ctermfg=241 guifg=#626262
+  hi def    dircolorsColor242   ctermfg=242 guifg=#6c6c6c
+  hi def    dircolorsColor243   ctermfg=243 guifg=#767676
+  hi def    dircolorsColor244   ctermfg=244 guifg=#808080
+  hi def    dircolorsColor245   ctermfg=245 guifg=#8a8a8a
+  hi def    dircolorsColor246   ctermfg=246 guifg=#949494
+  hi def    dircolorsColor247   ctermfg=247 guifg=#9e9e9e
+  hi def    dircolorsColor248   ctermfg=248 guifg=#a8a8a8
+  hi def    dircolorsColor249   ctermfg=249 guifg=#b2b2b2
+  hi def    dircolorsColor250   ctermfg=250 guifg=#bcbcbc
+  hi def    dircolorsColor251   ctermfg=251 guifg=#c6c6c6
+  hi def    dircolorsColor252   ctermfg=252 guifg=#d0d0d0
+  hi def    dircolorsColor253   ctermfg=253 guifg=#dadada
+  hi def    dircolorsColor254   ctermfg=254 guifg=#e4e4e4
+  hi def    dircolorsColor255   ctermfg=255 guifg=#eeeeee
 else
   hi def link dircolorsNumber     Number
 endif
diff --git a/runtime/syntax/ldapconf.vim b/runtime/syntax/ldapconf.vim
new file mode 100644
index 0000000..70ddaab
--- /dev/null
+++ b/runtime/syntax/ldapconf.vim
@@ -0,0 +1,338 @@
+" Vim syntax file
+" Language:         ldap.conf(5) configuration file.
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-12-11
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword ldapconfTodo          contained TODO FIXME XXX NOTE
+
+syn region  ldapconfComment       display oneline start='^\s*#' end='$'
+      \                           contains=ldapconfTodo,
+      \                                    @Spell
+
+syn match   ldapconfBegin         display '^'
+      \                           nextgroup=ldapconfOption,
+      \                                     ldapconfDeprOption,
+      \                                     ldapconfComment
+
+syn case    ignore
+
+syn keyword ldapconfOption        contained URI 
+      \                           nextgroup=ldapconfURI
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           BASE
+      \                           BINDDN
+      \                           nextgroup=ldapconfDNAttrType
+      \                           skipwhite
+
+syn keyword ldapconfDeprOption    contained 
+      \                           HOST
+      \                           nextgroup=ldapconfHost
+      \                           skipwhite
+
+syn keyword ldapconfDeprOption    contained
+      \                           PORT
+      \                           nextgroup=ldapconfPort
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           REFERRALS
+      \                           nextgroup=ldapconfBoolean
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           SIZELIMIT
+      \                           TIMELIMIT
+      \                           nextgroup=ldapconfInteger
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           DEREF
+      \                           nextgroup=ldapconfDerefWhen
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           SASL_MECH
+      \                           nextgroup=ldapconfSASLMechanism
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           SASL_REALM
+      \                           nextgroup=ldapconfSASLRealm
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           SASL_AUTHCID
+      \                           SASL_AUTHZID
+      \                           nextgroup=ldapconfSASLAuthID
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           SASL_SECPROPS
+      \                           nextgroup=ldapconfSASLSecProps
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           TLS_CACERT
+      \                           TLS_CERT
+      \                           TLS_KEY
+      \                           TLS_RANDFILE
+      \                           nextgroup=ldapconfFilename
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           TLS_CACERTDIR
+      \                           nextgroup=ldapconfPath
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           TLS_CIPHER_SUITE
+      \                           nextgroup=@ldapconfTLSCipher
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           TLS_REQCERT
+      \                           nextgroup=ldapconfTLSCertCheck
+      \                           skipwhite
+
+syn keyword ldapconfOption        contained
+      \                           TLS_CRLCHECK
+      \                           nextgroup=ldapconfTLSCRLCheck
+      \                           skipwhite
+
+syn case    match
+
+syn match   ldapconfURI           contained display
+      \                           'ldaps\=://[^[:space:]:]\+\%(:\d\+\)\='
+      \                           nextgroup=ldapconfURI
+      \                           skipwhite
+
+" LDAP Distinguished Names are defined in Section 3 of RFC 2253:
+" http://www.ietf.org/rfc/rfc2253.txt.
+syn match   ldapconfDNAttrType    contained display
+      \                           '\a[a-zA-Z0-9-]\+\|\d\+\%(\.\d\+\)*'
+      \                           nextgroup=ldapconfDNAttrTypeEq
+
+syn match   ldapconfDNAttrTypeEq  contained display
+      \                           '='
+      \                           nextgroup=ldapconfDNAttrValue
+
+syn match   ldapconfDNAttrValue   contained display
+      \                           '\%([^,=+<>#;\\"]\|\\\%([,=+<>#;\\"]\|\x\x\)\)*\|#\%(\x\x\)\+\|"\%([^\\"]\|\\\%([,=+<>#;\\"]\|\x\x\)\)*"'
+      \                           nextgroup=ldapconfDNSeparator
+
+syn match   ldapconfDNSeparator   contained display
+      \                           '[+,]'
+      \                           nextgroup=ldapconfDNAttrType
+
+syn match   ldapconfHost          contained display
+      \                           '[^[:space:]:]\+\%(:\d\+\)\='
+      \                           nextgroup=ldapconfHost
+      \                           skipwhite
+
+syn match   ldapconfPort          contained display
+      \                           '\d\+'
+
+syn keyword ldapconfBoolean       contained
+      \                           on
+      \                           true
+      \                           yes
+      \                           off
+      \                           false
+      \                           no
+
+syn match   ldapconfInteger       contained display
+      \                           '\d\+'
+
+syn keyword ldapconfDerefWhen     contained
+      \                           never
+      \                           searching
+      \                           finding
+      \                           always
+
+" Taken from http://www.iana.org/assignments/sasl-mechanisms.
+syn keyword ldapconfSASLMechanism contained
+      \                           KERBEROS_V4
+      \                           GSSAPI
+      \                           SKEY
+      \                           EXTERNAL
+      \                           ANONYMOUS
+      \                           OTP
+      \                           PLAIN
+      \                           SECURID
+      \                           NTLM
+      \                           NMAS_LOGIN
+      \                           NMAS_AUTHEN
+      \                           KERBEROS_V5
+
+syn match   ldapconfSASLMechanism contained display
+      \                           'CRAM-MD5\|GSS-SPNEGO\|DIGEST-MD5\|9798-[UM]-\%(RSA-SHA1-ENC\|\%(EC\)\=DSA-SHA1\)\|NMAS-SAMBA-AUTH'
+
+" TODO: I have been unable to find a definition for a SASL realm,
+" authentication identity, and proxy authorization identity.
+syn match   ldapconfSASLRealm     contained display
+      \                           '\S\+'
+
+syn match   ldapconfSASLAuthID    contained display
+      \                           '\S\+'
+
+syn keyword ldapconfSASLSecProps  contained
+      \                           none
+      \                           noplain
+      \                           noactive
+      \                           nodict
+      \                           noanonymous
+      \                           forwardsec
+      \                           passcred
+      \                           nextgroup=ldapconfSASLSecPSep
+
+syn keyword ldapconfSASLSecProps  contained
+      \                           minssf
+      \                           maxssf
+      \                           maxbufsize
+      \                           nextgroup=ldapconfSASLSecPEq
+
+syn match   ldapconfSASLSecPEq    contained display
+      \                           '='
+      \                           nextgroup=ldapconfSASLSecFactor
+
+syn match   ldapconfSASLSecFactor contained display
+      \                           '\d\+'
+      \                           nextgroup=ldapconfSASLSecPSep
+
+syn match   ldapconfSASLSecPSep   contained display
+      \                           ','
+      \                           nextgroup=ldapconfSASLSecProps
+
+syn match   ldapconfFilename      contained display
+      \                           '.\+'
+
+syn match   ldapconfPath          contained display
+      \                           '.\+'
+
+" Defined in openssl-ciphers(1).
+" TODO: Should we include the stuff under CIPHER SUITE NAMES?
+syn cluster ldapconfTLSCipher     contains=ldapconfTLSCipherOp,
+      \                                    ldapconfTLSCipherName,
+      \                                    ldapconfTLSCipherSort
+
+syn match   ldapconfTLSCipherOp   contained display
+      \                           '[+!-]'
+      \                           nextgroup=ldapconfTLSCipherName
+
+syn keyword ldapconfTLSCipherName contained
+      \                           DEFAULT
+      \                           COMPLEMENTOFDEFAULT
+      \                           ALL
+      \                           COMPLEMENTOFALL
+      \                           HIGH
+      \                           MEDIUM
+      \                           LOW
+      \                           EXP
+      \                           EXPORT
+      \                           EXPORT40
+      \                           EXPORT56
+      \                           eNULL
+      \                           NULL
+      \                           aNULL
+      \                           kRSA
+      \                           RSA
+      \                           kEDH
+      \                           kDHr
+      \                           kDHd
+      \                           aRSA
+      \                           aDSS
+      \                           DSS
+      \                           aDH
+      \                           kFZA
+      \                           aFZA
+      \                           eFZA
+      \                           FZA
+      \                           TLSv1
+      \                           SSLv3
+      \                           SSLv2
+      \                           DH
+      \                           ADH
+      \                           AES
+      \                           3DES
+      \                           DES
+      \                           RC4
+      \                           RC2
+      \                           IDEA
+      \                           MD5
+      \                           SHA1
+      \                           SHA
+      \                           Camellia
+      \                           nextgroup=ldapconfTLSCipherSep
+
+syn match   ldapconfTLSCipherSort contained display
+      \                           '@STRENGTH'
+      \                           nextgroup=ldapconfTLSCipherSep
+
+syn match   ldapconfTLSCipherSep  contained display
+      \                           '[:, ]'
+      \                           nextgroup=@ldapconfTLSCipher
+
+syn keyword ldapconfTLSCertCheck  contained
+      \                           never
+      \                           allow
+      \                           try
+      \                           demand
+      \                           hard
+
+syn keyword ldapconfTLSCRLCheck   contained
+      \                           none
+      \                           peer
+      \                           all
+
+hi def link ldapconfTodo          Todo
+hi def link ldapconfComment       Comment
+hi def link ldapconfOption        Keyword
+hi def link ldapconfDeprOption    Error
+hi def link ldapconfString        String
+hi def link ldapconfURI           ldapconfString
+hi def link ldapconfDNAttrType    Identifier
+hi def link ldapconfOperator      Operator
+hi def link ldapconfEq            ldapconfOperator
+hi def link ldapconfDNAttrTypeEq  ldapconfEq
+hi def link ldapconfValue         ldapconfString
+hi def link ldapconfDNAttrValue   ldapconfValue
+hi def link ldapconfSeparator     ldapconfOperator
+hi def link ldapconfDNSeparator   ldapconfSeparator
+hi def link ldapconfHost          ldapconfURI
+hi def link ldapconfNumber        Number
+hi def link ldapconfPort          ldapconfNumber
+hi def link ldapconfBoolean       Boolean
+hi def link ldapconfInteger       ldapconfNumber
+hi def link ldapconfType          Type
+hi def link ldapconfDerefWhen     ldapconfType
+hi def link ldapconfDefine        Define
+hi def link ldapconfSASLMechanism ldapconfDefine
+hi def link ldapconfSASLRealm     ldapconfURI
+hi def link ldapconfSASLAuthID    ldapconfValue
+hi def link ldapconfSASLSecProps  ldapconfType
+hi def link ldapconfSASLSecPEq    ldapconfEq
+hi def link ldapconfSASLSecFactor ldapconfNumber
+hi def link ldapconfSASLSecPSep   ldapconfSeparator
+hi def link ldapconfFilename      ldapconfString
+hi def link ldapconfPath          ldapconfFilename
+hi def link ldapconfTLSCipherOp   ldapconfOperator
+hi def link ldapconfTLSCipherName ldapconfDefine
+hi def link ldapconfSpecial       Special
+hi def link ldapconfTLSCipherSort ldapconfSpecial
+hi def link ldapconfTLSCipherSep  ldapconfSeparator
+hi def link ldapconfTLSCertCheck  ldapconfType
+hi def link ldapconfTLSCRLCheck   ldapconfType
+
+let b:current_syntax = "ldapconf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save