" hook_add {{{ nnoremap [Space]f Ddu \ -name=filer-`win_getid()` -ui=filer -resume \ file \ -source-option-file-path=`t:->get('ddu_ui_filer_path', getcwd())` \ -source-option-file-limitPath=`getcwd()` \ -source-option-file-columns=filename \ nnoremap [Space]v Ddu \ -name=filer-`win_getid()` -ui=filer -resume -sync \ file \ -source-option-file-path=`t:->get('ddu_ui_filer_path', getcwd())` \ -source-option-file-limitPath=`getcwd()` \ -source-option-file-columns=filename \ -ui-param-filer-autoResize \ -ui-param-filer-split=vertical \ " }}} " hook_source {{{ autocmd MyAutoCmd TabEnter,WinEnter,CursorHold,FocusGained * \ call ddu#ui#do_action('checkItems') " }}} " ddu-filer {{{ nnoremap \ call ddu#ui#do_action('toggleSelectItem') nnoremap * \ call ddu#ui#do_action('toggleAllItems') nnoremap i \ call ddu#ui#do_action('openFilterWindow') nnoremap a \ call ddu#ui#do_action('chooseAction') nnoremap A \ call ddu#ui#do_action('inputAction') nnoremap q \ call ddu#ui#do_action('quit') nnoremap o \ call ddu#ui#do_action('expandItem', \ #{ mode: 'toggle', isGrouped: v:true, isInTree: v:false }) nnoremap O \ call ddu#ui#do_action('expandItem', \ #{ maxLevel: -1 }) "nnoremap O " \ call ddu#ui#do_action('collapseItem') nnoremap c \ call ddu#ui#multi_actions([ \ ['itemAction', #{ name: 'copy' }], \ ['clearSelectAllItems'], \ ]) nnoremap d \ call ddu#ui#do_action('itemAction', \ #{ name: 'delete' }) nnoremap D \ call ddu#ui#do_action('itemAction', \ #{ name: 'trash' }) nnoremap m \ call ddu#ui#do_action('itemAction', \ #{ name: 'move' }) nnoremap r \ call ddu#ui#do_action('itemAction', \ #{ name: 'rename' }) nnoremap x \ call ddu#ui#do_action('itemAction', \ #{ name: 'executeSystem' }) nnoremap p \ call ddu#ui#do_action('itemAction', \ #{ name: 'paste' }) nnoremap P \ call ddu#ui#do_action('togglePreview') nnoremap K \ call ddu#ui#do_action('itemAction', \ #{ name: 'newDirectory' }) nnoremap N \ call ddu#ui#do_action('itemAction', \ #{ name: 'newFile' }) nnoremap L \ call ddu#ui#do_action('itemAction', \ #{ name: 'link' }) nnoremap u \ call ddu#ui#do_action('itemAction', \ #{ name: 'undo' }) nnoremap ~ \ call ddu#ui#do_action('itemAction', \ #{ name: 'narrow', params: #{ path: '~'->expand() } }) nnoremap = \ call ddu#ui#do_action('itemAction', \ #{ name: 'narrow', params: #{ path: getcwd() } }) nnoremap h \ call ddu#ui#do_action('itemAction', \ #{ name: 'narrow', params: #{ path: '..' } }) nnoremap H \ call ddu#start(#{ sources: [#{ name: 'path_history' }] }) nnoremap I \ call ddu#ui#do_action('itemAction', \ #{ \ name: 'narrow', \ params: #{ \ path: 'cwd: ' \ ->input(b:ddu_ui_filer_path, 'dir') \ ->fnamemodify(':p'), \ } \ }) nnoremap M \ call ddu#ui#multi_actions([ \ [ \ 'updateOptions', #{ \ uiParams: #{ \ filer: #{ \ fileFilter: 'fileFilter regexp: ' \ ->input(ddu#custom#get_current(b:ddu_ui_name) \ ->get('uiParams', {}) \ ->get('filer', {}) \ ->get('fileFilter', '')), \ }, \ }, \ }, \ ], \ [ \ 'redraw', #{ method: 'refreshItems' }, \ ], \ ]) nnoremap . \ call ddu#ui#multi_actions([ \ [ \ 'updateOptions', #{ \ sourceOptions: #{ \ file: #{ \ matchers: ToggleHidden('file'), \ }, \ }, \ }, \ ], \ [ \ 'redraw', #{ method: 'refreshItems' }, \ ], \ ]) nnoremap > \ call ddu#ui#do_action('updateOptions', #{ \ uiParams: #{ \ filer: #{ \ displayRoot: ToggleUiParam('filer', 'displayRoot'), \ }, \ }, \ }) \call ddu#ui#do_action('redraw') nnoremap < \ call ddu#ui#do_action('updateOptions', #{ \ uiParams: #{ \ filer: #{ \ split: 'vertical', \ }, \ }, \ }) \call ddu#ui#do_action('redraw') nnoremap \ call ddu#ui#do_action('redraw') nnoremap \ ddu#ui#get_item()->get('isTree', v:false) \ ? "call ddu#ui#do_action('itemAction', #{ name: 'narrow' })" \ : "call ddu#ui#do_action('itemAction', #{ name: 'open' })" nnoremap l \ ddu#ui#get_item()->get('isTree', v:false) \ ? "call ddu#ui#do_action('itemAction', #{ name: 'narrow' })" \ : "call ddu#ui#do_action('itemAction', #{ name: 'open' })" nnoremap <2-LeftMouse> \ ddu#ui#get_item()->get('isTree', v:false) \ ? "call ddu#ui#do_action('itemAction', #{ name: 'narrow' })" \ : "call ddu#ui#do_action('itemAction', #{ name: 'open' })" nnoremap gr \ call ddu#ui#do_action('itemAction', #{ name: 'grep' }) nnoremap t \ call ddu#ui#do_action('itemAction', #{ \ name: 'tabopen', \ params: #{ command: 'tabedit' }, \ }) nnoremap T \ call ddu#ui#do_action('cursorTreeTop') nnoremap B \ call ddu#ui#do_action('cursorTreeBottom') function! ToggleHidden(name) const check = ddu#custom#get_current(b:ddu_ui_name) \ ->get('sourceOptions', {}) \ ->get(a:name, {}) \ ->get('matchers', []) \ ->empty() return check ? ['matcher_hidden'] : [] endfunction function! ToggleUiParam(ui_name, param_name) return ddu#custom#get_current(b:ddu_ui_name) \ ->get('uiParams', {}) \ ->get(a:ui_name, {}) \ ->get(a:param_name, v:false) \ ? v:false : v:true endfunction " }}}