add LoadProject() to load project-specific config files

This commit is contained in:
Josh Holtrop 2012-12-09 13:58:53 -05:00
parent 95cd09ba39
commit ca00541a05

25
vimrc
View File

@ -102,4 +102,29 @@ if has("autocmd")
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
autocmd BufEnter * call LoadProject()
endif " has("autocmd")
"==============================================================================
" Functions
"==============================================================================
" LoadProject - Searches for and loads project specific settings
function! LoadProject()
let projfile = findfile("project.vim", ".;")
if projfile != ""
let projfile_path = fnamemodify(projfile, ":p:h")
silent! exec "cd " . projfile_path
exec "source " . fnameescape(projfile)
else
let projdir = finddir("project.vim", ".;")
if projdir != ""
let projdir_path = fnamemodify(projdir, ":p:h:h")
silent! exec "cd " . projdir_path
for f in split(glob(projdir . '/*.vim'), '\n')
exec 'source ' . fnameescape(f)
endfor
endif
endif
endfunction