[[plugins]]
repo = 'Shougo/ddu.vim'
hook_add = '''
  augroup StartDdu
    autocmd!
    " ~/dotfiles/nvim/denops/vimrc/plugins/ddu.ts
    autocmd User DenopsPluginPost:vimrc call denops#request('vimrc', 'ddu_setup', [])
  augroup END
'''

[[plugins]]
repo = 'Shougo/ddu-commands.vim'
lazy = 1
on_cmd = 'Ddu'

[[plugins]]
repo = 'Shougo/ddu-ui-ff'
[plugins.ftplugin]
ddu-ff = '''
  nnoremap <buffer><silent> <CR>
  \ <Cmd>call ddu#ui#do_action('itemAction')<CR>
  nnoremap <buffer><silent> ,
  \ <Cmd>call ddu#ui#do_action('toggleSelectItem')<CR>j
  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> p
  \ <Cmd>call ddu#ui#do_action('preview')<CR>
  nnoremap <buffer><silent> a
  \ <Cmd>call ddu#ui#do_action('chooseAction')<CR>
  nnoremap <buffer><silent> c
  \ <Cmd>call ddu#ui#do_action('itemAction', {'name': 'cd'})<CR>
  nnoremap <buffer><silent> d
  \ <Cmd>call ddu#ui#do_action('itemAction', {'name': 'delete'})<CR>
  nnoremap <buffer><silent> e
  \ <Cmd>call ddu#ui#do_action('itemAction', {'name': 'edit'})<CR>
  nnoremap <buffer> o
  \ <Cmd>call ddu#ui#do_action('expandItem',
  \ {'mode': 'toggle'})<CR>
  nnoremap <buffer> O
  \ <Cmd>call ddu#ui#do_action('expandItem',
  \ {'maxLevel': -1})<CR>

  nnoremap <buffer><silent> E
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'open', 'params': {'command': 'vsplit'}})<CR>
  nnoremap <buffer><silent> t
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'open', 'params': {'command': 'tabedit'}})<CR>
  nnoremap <buffer><silent> S
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'open', 'params': {'command': 'split'}})<CR>
'''
ddu-ff-filter = '''
  nnoremap <buffer><silent> q <Cmd>call ddu#ui#do_action('closeFilterWindow')<CR>
  inoremap <buffer><silent> <CR> <Esc><Cmd>call ddu#ui#do_action('closeFilterWindow')<CR>
  inoremap <buffer><silent> <C-o> <Esc><Cmd>call ddu#ui#do_action('closeFilterWindow')<CR>
'''

[[plugins]]
repo = 'Shougo/ddu-ui-filer'
[plugins.ftplugin]
ddu-filer = '''
  nnoremap <buffer> ,
  \ <Cmd>call ddu#ui#do_action('toggleSelectItem')<CR>j
  nnoremap <buffer> *
  \ <Cmd>call ddu#ui#do_action('toggleAllItems')<CR>
  nnoremap <buffer> a
  \ <Cmd>call ddu#ui#do_action('chooseAction')<CR>
  nnoremap <buffer> q
  \ <Cmd>call ddu#ui#do_action('quit')<CR>
  nnoremap <buffer> o
  \ <Cmd>call ddu#ui#do_action('expandItem',
  \ {'mode': 'toggle'})<CR>
  nnoremap <buffer> O
  \ <Cmd>call ddu#ui#do_action('expandItem',
  \ {'maxLevel': -1})<CR>
  "nnoremap <buffer> O
  "\ <Cmd>call ddu#ui#do_action('collapseItem')<CR>
  nnoremap <buffer> c
  \ <Cmd>call ddu#ui#multi_actions([
  \ ['itemAction', {'name': 'copy'}],
  \ ['clearSelectAllItems'],
  \ ])<CR>
  nnoremap <buffer> d
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'trash'})<CR>
  nnoremap <buffer> D
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'delete'})<CR>
  nnoremap <buffer> m
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'move'})<CR>
  nnoremap <buffer> r
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'rename'})<CR>
  nnoremap <buffer> x
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'executeSystem'})<CR>
  nnoremap <buffer> P
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'paste'})<CR>
  nnoremap <buffer> K
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'newDirectory'})<CR>
  nnoremap <buffer> N
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'newFile'})<CR>
  nnoremap <buffer> ~
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'narrow', 'params': {'path': expand('~')}})<CR>
  nnoremap <buffer> h
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'narrow', 'params': {'path': ".."}})<CR>
  nnoremap <buffer> I
  \ <Cmd>call ddu#ui#do_action('itemAction',
  \ {'name': 'narrow', 'params': {'path':
  \  fnamemodify(input('New cwd: ', b:ddu_ui_filer_path, 'dir'), ':p')}})<CR>
  nnoremap <buffer> >
  \ <Cmd>call ddu#ui#do_action('updateOptions', {
  \   'sourceOptions': {
  \     'file': {
  \       'matchers': <SID>toggle_hidden('file'),
  \     },
  \   },
  \ })<CR>
  nnoremap <buffer> <C-l>
  \ <Cmd>call ddu#ui#do_action('checkItems')<CR>
  nnoremap <buffer><expr> <CR>
  \ get(ddu#ui#get_item(), 'isTree', v:false) ?
  \ "<Cmd>call ddu#ui#do_action('itemAction', #{ name: 'narrow' })<CR>" :
  \ "<Cmd>call ddu#ui#do_action('itemAction', #{ name: 'open' })<CR>"
  nnoremap <buffer><expr> l
  \ get(ddu#ui#get_item(), 'isTree', v:false) ?
  \ "<Cmd>call ddu#ui#do_action('itemAction', #{ name: 'narrow' })<CR>" :
  \ "<Cmd>call ddu#ui#do_action('itemAction', #{ name: 'open' })<CR>"
  function! s:toggle_hidden(name)
    let current = ddu#custom#get_current(b:ddu_ui_name)
    let source_options = get(current, 'sourceOptions', {})
    let source_options_name = get(source_options, a:name, {})
    let matchers = get(source_options_name, 'matchers', [])
    return empty(matchers) ? ['matcher_hidden'] : []
  endfunction
'''

[[plugins]]
repo = 'Shougo/ddu-source-file_old'

[[plugins]]
repo = 'Shougo/ddu-source-line'

[[plugins]]
repo = 'Shougo/ddu-source-file'

[[plugins]]
repo = 'Shougo/ddu-source-action'

[[plugins]]
repo = 'Shougo/ddu-source-file_rec'

[[plugins]]
repo = 'yuki-yano/ddu-filter-fzf'

[[plugins]]
repo = 'Shougo/ddu-kind-file'

[[plugins]]
repo = 'Shougo/ddu-filter-matcher_substring'

[[plugins]]
repo = 'matsui54/ddu-source-file_external'

[[plugins]]
repo = 'matsui54/ddu-source-help'

[[plugins]]
repo = 'matsui54/ddu-source-man'

[[plugins]]
repo = 'matsui54/ddu-filter-fzy'

[[plugins]]
repo = 'matsui54/ddu-source-command_history'

[[plugins]]
repo = 'matsui54/ddu-source-highlight'

[[plugins]]
repo = 'shun/ddu-source-buffer'

[[plugins]]
repo = 'shun/ddu-source-rg'

[[plugins]]
repo = "gamoutatsumi/ddu-source-nvim-lsp"

[[plugins]]
repo = "4513ECHO/ddu-source-source"

[[plugins]]
repo = 'matsui54/ddu-source-dein_update'

[[plugins]]
repo = 'matsui54/ddu-vim-ui-select'

[[plugins]]
repo = 'Shougo/ddu-column-filename'

[[plugins]]
repo = "Milly/ddu-filter-kensaku"

[[plugins]]
repo = "lambdalisue/kensaku.vim"

[[plugins]]
repo = 'ryota2357/ddu-column-icon_filename'