2021-07-17 00:49:10 +02:00
|
|
|
function! aerial#fzf() abort
|
|
|
|
let l:labels = luaeval("require('aerial.fzf').get_labels()")
|
|
|
|
if type(l:labels) == type(v:null) && l:labels == v:null
|
|
|
|
return
|
|
|
|
endif
|
2023-07-11 17:37:07 +02:00
|
|
|
call fzf#run(fzf#wrap({
|
2021-07-17 00:49:10 +02:00
|
|
|
\ 'source': l:labels,
|
|
|
|
\ 'sink': funcref('aerial#goto_symbol'),
|
2024-01-14 18:32:39 +01:00
|
|
|
\ 'options': ['--prompt=Document symbols: ', '--layout=reverse-list'],
|
2023-07-11 17:37:07 +02:00
|
|
|
\ }))
|
2021-07-17 00:49:10 +02:00
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! aerial#goto_symbol(symbol) abort
|
|
|
|
call luaeval("require('aerial.fzf').goto_symbol(_A)", a:symbol)
|
|
|
|
endfunction
|