소스 검색

Add bad hack for project specific settings

Andrew Swistak 7 년 전
부모
커밋
88e7cf7fa4
1개의 변경된 파일21개의 추가작업 그리고 0개의 파일을 삭제
  1. 21 0
      vimrc

+ 21 - 0
vimrc

@@ -484,3 +484,24 @@ let g:python3_host_prog = '/bin/python'
 let g:OmniSharp_server_path = '/opt/omnisharp-roslyn/OmniSharp.exe'
 let g:OmniSharp_server_use_mono = 1
 let g:syntastic_cs_checkers = ['code_checker']
+
+" Source project specific settings from .git/project.vim if the file exists
+" this kinda sucks because
+"   a) depends on fugutive
+"   b) will only source one .git/project.vim ever, per vim instance
+autocmd BufEnter,VimEnter * call s:MaybeRunProjectSettings(expand("<amatch>"))
+
+let g:custom_project_settings_loaded = 0
+function! s:MaybeRunProjectSettings(file)
+  if g:custom_project_settings_loaded == 1
+    return
+  endif
+
+  let git_dir = fugitive#extract_git_dir(@%)
+  if git_dir != ""
+    if filereadable(git_dir.'/project.vim')
+      exec "source ".(git_dir.'/project.vim')
+    endif
+  endif
+  let g:custom_project_settings_loaded = 1
+endfunction