1*3577c6faSBram Moolenaar" Vim filetype plugin 2*3577c6faSBram Moolenaar" Language: generic git output 3*3577c6faSBram Moolenaar" Maintainer: Tim Pope <[email protected]> 4*3577c6faSBram Moolenaar" Last Change: 2008 Feb 27 5*3577c6faSBram Moolenaar 6*3577c6faSBram Moolenaar" Only do this when not done yet for this buffer 7*3577c6faSBram Moolenaarif (exists("b:did_ftplugin")) 8*3577c6faSBram Moolenaar finish 9*3577c6faSBram Moolenaarendif 10*3577c6faSBram Moolenaarlet b:did_ftplugin = 1 11*3577c6faSBram Moolenaar 12*3577c6faSBram Moolenaarif !exists('b:git_dir') 13*3577c6faSBram Moolenaar if expand('%:p') =~# '\.git\>' 14*3577c6faSBram Moolenaar let b:git_dir = matchstr(expand('%:p'),'.*\.git\>') 15*3577c6faSBram Moolenaar elseif $GIT_DIR != '' 16*3577c6faSBram Moolenaar let b:git_dir = $GIT_DIR 17*3577c6faSBram Moolenaar endif 18*3577c6faSBram Moolenaar if has('win32') || has('win64') 19*3577c6faSBram Moolenaar let b:git_dir = substitute(b:git_dir,'\\','/','g') 20*3577c6faSBram Moolenaar endif 21*3577c6faSBram Moolenaarendif 22*3577c6faSBram Moolenaar 23*3577c6faSBram Moolenaarif exists('*shellescape') && exists('b:git_dir') && b:git_dir != '' 24*3577c6faSBram Moolenaar if b:git_dir =~# '/\.git$' " Not a bare repository 25*3577c6faSBram Moolenaar let &l:path = escape(fnamemodify(b:git_dir,':t'),'\, ').','.&l:path 26*3577c6faSBram Moolenaar endif 27*3577c6faSBram Moolenaar let &l:path = escape(b:git_dir,'\, ').','.&l:path 28*3577c6faSBram Moolenaar let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show' 29*3577c6faSBram Moolenaarelse 30*3577c6faSBram Moolenaar setlocal keywordprg=git\ show 31*3577c6faSBram Moolenaarendif 32*3577c6faSBram Moolenaar 33*3577c6faSBram Moolenaarsetlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','') 34*3577c6faSBram Moolenaarlet b:undo_ftplugin = "setl keywordprg< path< includeexpr<" 35