Thank you for the nice plugin.
When running "lsp_documentSymbol", There are only Namespace and Class name, no methods.
"lsp_definition" is looks working smooth. And when using with Rust, It looks working.
Can I fix this issue by the settings?
This is my settings. below:
let line = &lines - 4
let column = &columns - 4
let win_border = 'rounded'
let win_height = float2nr(line * 0.8)
let win_width = float2nr(column * 0.8)
let win_col = float2nr((column - win_width) / 2)
let win_row = float2nr(win_height / 2)
let preview_height = line - win_height - 1
let preview_width = win_width
let preview_col = win_col
let preview_row = float2nr(preview_height / 2)
call ddu#custom#patch_global({
\ 'ui': 'ff',
\ 'uiParams': {
\ 'ff': {
\ 'ignoreEmpty': v:true,
\ 'split': 'floating',
\ 'startAutoAction': v:true,
\ 'autoAction': { 'name': 'preview', 'delay': 0, },
\ 'prompt': '> ',
\ 'startFilter': v:true,
\ 'filterSplitDirection': 'floating',
\ 'filterFloatingPosition': 'bottom',
\ 'floatingBorder': win_border,
\ 'winHeight': win_height,
\ 'winWidth': win_width,
\ 'winRow': win_row,
\ 'winCol': win_col,
\ 'previewFloating': v:true,
\ 'previewFloatingBorder': win_border,
\ 'previewHeight': preview_height,
\ 'previewWidth': preview_width,
\ 'previewRow': preview_row,
\ 'previewCol': preview_col,
\ },
\ 'filer': {
\ 'split': 'floating',
\ 'floatingBorder': win_border,
\ 'winHeight': win_height,
\ 'winWidth': win_width,
\ 'winRow': win_row,
\ 'winCol': win_col,
\ 'previewFloating': v:true,
\ 'previewFloatingBorder': win_border,
\ 'previewHeight': preview_height,
\ 'previewWidth': preview_width,
\ 'previewRow': preview_row,
\ 'previewCol': preview_col,
\ },
\ },
\ 'sourceOptions': {
\ '_': {
\ 'matchers': ['matcher_fzf'],
\ 'sorters': ['sorter_fzf'],
\ 'ignoreCase': v:true,
\ },
\ 'file': {
\ 'columns': ['icon_filename'],
\ },
\ 'line': {
\ 'sorters': [],
\ },
\ },
\ 'filterParams': {
\ 'matcher_fzf': {
\ 'highlightMatched': 'Search',
\ },
\ },
\ 'kindOptions': {
\ 'file': {
\ 'defaultAction': 'open',
\ },
\ 'word': {
\ 'defaultAction': 'append',
\ },
\ 'lsp': {
\ 'defaultAction': 'open',
\ },
\ 'lsp_codeAction': {
\ 'defaultAction': 'apply',
\ },
\ },
\ 'actionOptions': {
\ 'narrow': {
\ 'quit': v:true,
\ },
\ },
\})
call ddu#custom#patch_local('file_rec', {
\ 'sources': [{
\ 'name':'file_rec',
\ 'params': {
\ 'ignoredDirectories': ['.git', 'var', 'node_modules', ]
\ },
\ }],
\})
call ddu#custom#patch_local('grep', {
\ 'sourceParams' : {
\ 'rg' : {
\ 'args': ['--column', '--no-heading', '--color', 'never', '-i'],
\ },
\ },
\ 'uiParams': {
\ 'ff': {
\ 'startFilter': v:false,
\ }
\ },
\ 'resume': v:true,
\ })
call ddu#custom#patch_local('lsp_documentSymbol', {
\ 'sources': [{
\ 'name':'lsp_documentSymbol',
\ 'params': {
\ 'clientName': 'vim-lsp',
\ },
\ }],
\ 'sourceOptions': {
\ 'lsp': {
\ 'volatile': v:true,
\ },
\ },
\ 'uiParams': {
\ 'ff': {
\ 'ignoreEmpty': v:false,
\ },
\ },
\})
call ddu#custom#patch_local('lsp_definition', {
\ 'sources': [{
\ 'name':'lsp_definition',
\ 'params': {
\ 'clientName': 'vim-lsp',
\ },
\ }],
\ 'uiParams': {
\ 'ff': {
\ 'immediateAction': 'open',
\ },
\ },
\})
nnoremap <Leader>b <Cmd>Ddu buffer -ui-param-ff-startFilter=v:false<CR>
nnoremap <Leader>o <Cmd>Ddu line<CR>
nnoremap <Leader>r <Cmd>Ddu register -ui-param-ff-startFilter=v:false<CR>
nnoremap <Leader>f <Cmd>Ddu -name=file_rec<CR>
nnoremap <Leader>g <Cmd>Ddu rg -name=grep -source-param-rg-input='`'Pattern: '->input('<cword>'->expand())`'<CR>
nnoremap <C-g> <Cmd>Ddu -name=grep<CR>
nnoremap <C-n> <Cmd>call ddu#ui#multi_actions(['cursorNext', 'itemAction'], 'grep')<CR>
nnoremap <C-p> <Cmd>call ddu#ui#multi_actions(['cursorPrevious', 'itemAction'], 'grep')<CR>
nnoremap <Leader>ls <Cmd>Ddu -name=lsp_documentSymbol<CR>
nnoremap <Leader>lj <Cmd>Ddu -name=lsp_definition<CR>
"--------------------
" FF
"--------------------
autocmd FileType ddu-ff call s:ddu_ff_settings()
function! s:ddu_ff_settings() abort
nnoremap <buffer><silent> <CR> <Cmd>call ddu#ui#do_action('itemAction')<CR>
nnoremap <buffer><silent> s <Cmd>call ddu#ui#do_action('toggleSelectItem')<CR>
nnoremap <buffer><silent> i <Cmd>call ddu#ui#do_action('openFilterWindow')<CR>
nnoremap <buffer><silent> q <Cmd>call ddu#ui#do_action('quit')<CR>
nnoremap <buffer><silent> <C-g> <Cmd>call ddu#ui#do_action('quit')<CR>
endfunction
autocmd FileType ddu-ff-filter call s:ddu_filter_my_settings()
function! s:ddu_filter_my_settings() abort
inoremap <buffer> <C-n> <Nop>
inoremap <buffer> <C-p> <Nop>
nnoremap <buffer> <CR> :q<CR>
nnoremap <buffer> q :q<CR>
inoremap <buffer> <CR> <ESC>:q<CR>
inoremap <buffer> jj <ESC>:q<CR>
inoremap <buffer> jk <ESC>:q<CR>
inoremap <buffer> kj <ESC>:q<CR>
inoremap <buffer> kk <ESC>:q<CR>
endfunction