mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Last Modified: 2023-09-11 | ||
|  | 
 | ||
|  | function! cargo#quickfix#CmdPre() abort | ||
|  |     if &filetype ==# 'rust' && get(b:, 'current_compiler', '') ==# 'cargo' && | ||
|  |          \ &makeprg =~ '\V\^cargo\ \.\*' | ||
|  |         " Preserve the current directory, and 'lcd' to the nearest Cargo file. | ||
|  |         let b:rust_compiler_cargo_qf_has_lcd = haslocaldir() | ||
|  |         let b:rust_compiler_cargo_qf_prev_cd = getcwd() | ||
|  |         let b:rust_compiler_cargo_qf_prev_cd_saved = 1 | ||
|  |         let l:nearest = fnamemodify(cargo#nearestRootCargo(0), ':h') | ||
|  |         execute 'lchdir! '.l:nearest | ||
|  |     else | ||
|  |         let b:rust_compiler_cargo_qf_prev_cd_saved = 0 | ||
|  |     endif | ||
|  | endfunction | ||
|  | 
 | ||
|  | function! cargo#quickfix#CmdPost() abort | ||
|  |     if exists("b:rust_compiler_cargo_qf_prev_cd_saved") && b:rust_compiler_cargo_qf_prev_cd_saved | ||
|  |         " Restore the current directory. | ||
|  |         if b:rust_compiler_cargo_qf_has_lcd | ||
|  |             execute 'lchdir! '.b:rust_compiler_cargo_qf_prev_cd | ||
|  |         else | ||
|  |             execute 'chdir! '.b:rust_compiler_cargo_qf_prev_cd | ||
|  |         endif | ||
|  |         let b:rust_compiler_cargo_qf_prev_cd_saved = 0 | ||
|  |     endif | ||
|  | endfunction | ||
|  | 
 | ||
|  | " vim: set et sw=4 sts=4 ts=8: |