Add fzf#vim#ag_raw function

Close #144
Close #27
This commit is contained in:
Junegunn Choi
2016-05-18 00:39:51 +09:00
parent a3c6a3629f
commit ecb3131d3f

View File

@@ -525,16 +525,21 @@ endfunction
" query, [[ag options], options]
function! fzf#vim#ag(query, ...)
let query = escape(empty(a:query) ? '^(?=.)' : a:query, '"\-')
let args = copy(a:000)
let ag_opts = len(args) > 1 ? remove(args, 0) : ''
let command = printf('%s "%s"', ag_opts, query)
return call('fzf#vim#ag_raw', insert(args, command, 0))
endfunction
" ag command suffix, [options]
function! fzf#vim#ag_raw(command_suffix, ...)
return s:fzf(fzf#vim#wrap({
\ 'source': printf('ag --nogroup --column --color %s "%s"',
\ ag_opts,
\ escape(empty(a:query) ? '^(?=.)' : a:query, '"\-')),
\ 'source': 'ag --nogroup --column --color '.a:command_suffix,
\ 'sink*': s:function('s:ag_handler'),
\ 'options': '--ansi --delimiter : --nth 4..,.. --prompt "Ag> " '.
\ '--multi --bind alt-a:select-all,alt-d:deselect-all '.
\ '--color hl:68,hl+:110'}), args)
\ '--color hl:68,hl+:110'}), a:000)
endfunction
" ------------------------------------------------------------------