comparison vim/vimrc @ 284:8d04d41d4903

Don't change the cwd when no project root markers have been found.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 02 Feb 2015 11:01:13 -0800
parents faa1f3bf14f6
children a29080fb35d9
comparison
equal deleted inserted replaced
281:897a6823d603 284:8d04d41d4903
579 return '' 579 return ''
580 endfunction 580 endfunction
581 581
582 function! s:SetProjectRootCwd() abort 582 function! s:SetProjectRootCwd() abort
583 let l:cur_file_dir = expand('%:p:h', 1) 583 let l:cur_file_dir = expand('%:p:h', 1)
584 if l:cur_file_dir =~ '\v^.+:(//|\\\\)' 584 if l:cur_file_dir =~ '\v^(\w+:)?(//|\\\\)'
585 " Don't do shit on filenames coming from the network or something.
585 return 586 return
586 endif 587 endif
588 let l:found_root = 0
587 let l:root = l:cur_file_dir 589 let l:root = l:cur_file_dir
588 let l:markers = [] 590 let l:markers = []
589 if exists('g:ctrlp_root_markers') 591 if exists('g:ctrlp_root_markers')
590 let l:markers += g:ctrlp_root_markers 592 let l:markers += g:ctrlp_root_markers
591 endif 593 endif
592 let l:markers += ['.git', '.hg', '.svn', '.bzr', '_darcs'] 594 let l:markers += ['.git', '.hg', '.svn', '.bzr', '_darcs']
593 for marker in l:markers 595 for marker in l:markers
594 let l:proj_root = s:FindProjectRoot(l:cur_file_dir, marker) 596 let l:proj_root = s:FindProjectRoot(l:cur_file_dir, marker)
595 if l:proj_root != '' 597 if l:proj_root != ''
596 let l:root = l:proj_root 598 let l:root = l:proj_root
599 let l:found_root = 1
597 break 600 break
598 endif 601 endif
599 endfor 602 endfor
600 execute 'lcd!' fnameescape(l:root) 603 if l:found_root
604 execute 'lcd!' fnameescape(l:root)
605 endif
601 endfunction 606 endfunction
602 607
603 function! s:ToggleNERDTree() abort 608 function! s:ToggleNERDTree() abort
604 let l:was_open = nerdtree#isTreeOpen() 609 let l:was_open = nerdtree#isTreeOpen()
605 NERDTreeToggle 610 NERDTreeToggle