local sugar = require("comatools/sugar") local ddu_patch_global = sugar.ddu_patch_global local imap = sugar.imap local nmap = sugar.nmap ddu_patch_global({ ui = "ff", uiParams = { ff = { previewFloating = true, previewFloatingBorder = "single", split = "floating", }, }, }) -- ddu_patch_global({ -- uiParams = { -- filer = { -- split = "floating", -- }, -- }, -- }) -- ddu_patch_global({ -- ui = "filer", -- sourceOptions = { -- _ = { -- -- columns = {'filename'}, -- }, -- }, -- kindOptions = { -- file = { -- defaultAction = "open", -- }, -- }, -- }) -- call ddu#start({'sources': [ -- \ {'name': 'custom-list', -- \ 'params': {'texts': ['hello', 'world'], 'callbackId': id}}]}) -- キーマップでエラー。多分mapping絡み。頑張れ明日の自分 -- local nmap = function (map, cmd) -- local opts = { noremap = true, silent = true } -- vim.api.nvim_buf_set_keymap("n", map, cmd, opts) -- end -- local function ddu_keymap() -- nmap("", "call ddu#ui#ff#do_action('itemAction', {'name': 'open', 'params': {'command': 'vsplit'}})") -- nmap("i", "call ddu#ui#ff#do_action('openFilterWindow')") -- nmap("", "call ddu#ui#ff#do_action('itemAction', {'name': 'open', 'params': {'command': 'split'}})") -- nmap("o", "call ddu#ui#ff#do_action('openFilterWindow')") -- nmap("p", "call ddu#ui#ff#do_action('preview')") -- nmap("q", "call ddu#ui#ff#do_action('quit')") -- end -- vim.api.nvim_create_augroup( 'lua', {} ) -- vim.api.nvim_create_autocmd({"FileType"}, { -- group = 'lua', -- pattern = {"ddu-ff"}, -- callback = function () -- ddu_keymap() -- end -- }) vim.api.nvim_create_augroup("ddu", {}) function ddu_filter_my_settings(args) nmap("", "call ddu#ui#ff#do_action('itemAction')") nmap("q", "call ddu#ui#ff#do_action('quit')") nmap("", "call ddu#ui#ff#do_action('itemAction')") nmap("", [[call ddu#ui#ff#execute("call cursor(line('.')+1,0)")]]) nmap("", [[call ddu#ui#ff#execute("call cursor(line('.')-1,0)")]]) end function ddu_my_settings(args) imap("", [[call ddu#ui#ff#do_action('itemAction')]]) imap("", [[call ddu#ui#ff#execute("call cursor(line('.')+1,0)")]]) imap("", [[call ddu#ui#ff#execute("call cursor(line('.')-1,0)")]]) nmap("i", "call ddu#ui#ff#do_action('openFilterWindow')") nmap("q", "call ddu#ui#ff#do_action('quit')") end vim.cmd([[ function! s:ddu_ff_settings() abort nnoremap \ call ddu#ui#ff#do_action('itemAction') nnoremap \ call ddu#ui#ff#do_action('toggleSelectItem') nnoremap i \ call ddu#ui#ff#do_action('openFilterWindow') nnoremap q \ call ddu#ui#ff#do_action('quit') nnoremap p \ call ddu#ui#ff#do_action('preview') endfunction function! s:ddu_filter_my_settings() abort nnoremap \ call ddu#ui#ff#do_action('itemAction') inoremap \ call ddu#ui#ff#do_action('itemAction') inoremap \ call ddu#ui#ff#execute("call cursor(line('.')+1,0)") inoremap \ call ddu#ui#ff#execute("call cursor(line('.')-1,0)") nnoremap q \ call ddu#ui#ff#do_action('quit') endfunction function! s:ddu_filer_my_settings() abort nnoremap \ call ddu#ui#filer#do_action('itemAction') nnoremap \ call ddu#ui#filer#do_action('toggleSelectItem') nnoremap o \ call ddu#ui#filer#do_action('expandItem', \ {'mode': 'toggle'}) nnoremap q \ call ddu#ui#filer#do_action('quit') endfunction autocmd FileType ddu-ff-filter call s:ddu_filter_my_settings() autocmd FileType ddu-ff call s:ddu_ff_settings() autocmd FileType ddu-filer call s:ddu_filer_my_settings() ]])