79 lines
1.8 KiB
Lua
79 lines
1.8 KiB
Lua
|
local winwidth = 30
|
||
|
|
||
|
-- Toggle width.
|
||
|
local toggle_width = function()
|
||
|
local max = winwidth * 2
|
||
|
local cur_width = vim.fn.winwidth(0)
|
||
|
local half = math.floor((winwidth + (max - winwidth) / 2) + 0.4)
|
||
|
local new_width = winwidth
|
||
|
if cur_width == winwidth then
|
||
|
new_width = half
|
||
|
elseif cur_width == half then
|
||
|
new_width = max
|
||
|
else
|
||
|
new_width = winwidth
|
||
|
end
|
||
|
vim.cmd(new_width .. ' wincmd |')
|
||
|
end
|
||
|
|
||
|
return {
|
||
|
-- Change builtin plugins' options
|
||
|
{
|
||
|
'nvim-neo-tree/neo-tree.nvim',
|
||
|
keys = {
|
||
|
{
|
||
|
'<F5>',
|
||
|
'<cmd>Neotree filesystem left toggle dir=./<CR>',
|
||
|
desc = 'Explorer NeoTree Toggle',
|
||
|
},
|
||
|
},
|
||
|
-- FIXME: Delete the damn event handler, keep the file window open when I
|
||
|
-- tell it to!
|
||
|
event_handlers = {nil},
|
||
|
window = {
|
||
|
width = winwidth,
|
||
|
mappings = {
|
||
|
['q'] = 'close_window',
|
||
|
['?'] = 'noop',
|
||
|
['<Space>'] = 'noop',
|
||
|
|
||
|
['g?'] = 'show_help',
|
||
|
['<2-LeftMouse>'] = 'open',
|
||
|
['<CR>'] = 'open_with_window_picker',
|
||
|
['l'] = 'open_drop',
|
||
|
['h'] = 'close_node',
|
||
|
['C'] = 'close_node',
|
||
|
['<C-c>'] = 'set_root',
|
||
|
['z'] = 'close_all_nodes',
|
||
|
['<C-r>'] = 'refresh',
|
||
|
|
||
|
['s'] = 'noop',
|
||
|
['sv'] = 'open_split',
|
||
|
['sg'] = 'open_vsplit',
|
||
|
['st'] = 'open_tabnew',
|
||
|
|
||
|
['c'] = { 'copy', config = { show_path = 'relative' } },
|
||
|
['m'] = { 'move', config = { show_path = 'relative' } },
|
||
|
['a'] = { 'add', nowait = true, config = { show_path = 'relative' } },
|
||
|
['N'] = { 'add_directory', config = { show_path = 'relative' } },
|
||
|
['d'] = 'noop',
|
||
|
['dd'] = 'delete',
|
||
|
['r'] = 'rename',
|
||
|
['y'] = 'copy_to_clipboard',
|
||
|
['x'] = 'cut_to_clipboard',
|
||
|
['P'] = 'paste_from_clipboard',
|
||
|
['<S-Tab>'] = 'prev_source',
|
||
|
['<Tab>'] = 'next_source',
|
||
|
|
||
|
['p'] = {
|
||
|
'toggle_preview',
|
||
|
nowait = true,
|
||
|
config = { use_float = true },
|
||
|
},
|
||
|
|
||
|
['w'] = toggle_width,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|