" HELPER FUNCTIONS
+if has('eval')
" Check if the given syntax group is available. Thanks to bairui in #vim on
" Freenode (2012-02-19 01:15 CET) for the try/catch silent highlight idea.
-if has('eval')
function! s:HasSyntaxGroup(group)
try
execute 'silent highlight ' . a:group
endtry
return 1
endfunction
+
+" Check if the given Vim version and patch is available.
+ function! s:HasVersionAndPatch(version, patch)
+ return v:version > a:version
+ \ || (v:version == a:version && has('patch' . a:patch))
+ endfunction
endif
" Don't break a line if was already longer then 'textwidth' when insert mode
" started.
set formatoptions+=l
+" Remove comment leader when joining lines where it makes sense.
+if <SID>HasVersionAndPatch(703, 541)
+ set formatoptions+=j
+endif
" Allow virtual editing (cursor can be positioned anywhere, even when there is
" no character) in visual block mode.