Lines Matching refs:dict
58 function! s:Run(dict, rustc_args, args) argument
59 let exepath = a:dict.tmpdir.'/'.fnamemodify(a:dict.path, ':t:r')
64 let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path)
69 let pwd = a:dict.istemp ? a:dict.tmpdir : ''
93 function! s:Expand(dict, pretty, args) argument
102 let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path)
104 let pwd = a:dict.istemp ? a:dict.tmpdir : ''
121 let basename = fnamemodify(a:dict.path, ':t:r')
157 function! s:Emit(dict, type, args) argument
159 let output_path = a:dict.tmpdir.'/output'
163 let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path)
165 let pwd = a:dict.istemp ? a:dict.tmpdir : ''
190 let basename = fnamemodify(a:dict.path, ':t:r')
209 " Invokes func(dict, ...)
210 " Where {dict} is a dictionary with the following keys:
214 " 'istemp' - 1 if the path is a file inside of {dict.tmpdir} or 0 otherwise.
218 " {dict.path} may be a path to a file inside of {dict.tmpdir} or it may be the
219 " existing path of the current buffer. If the path is inside of {dict.tmpdir}
224 let dict = {}
228 let dict.path = expand('%')
229 let pathisempty = empty(dict.path)
232 let dict.tmpdir = tempname()
233 call mkdir(dict.tmpdir)
236 let dict.istemp = 1
243 let dict.tmpdir_relpath = filename
244 let dict.path = dict.tmpdir.'/'.filename
249 silent exe 'keepalt write! ' . fnameescape(dict.path)
254 let dict.istemp = 0
258 call call(a:func, [dict] + a:000)
266 if has_key(dict, 'tmpdir') | silent call s:RmDir(dict.tmpdir) | endif