1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
local M = {}
M.config = function()
local status_ok, lir = pcall(require, "lir")
if not status_ok then
return
end
local actions = require "lir.actions"
local mark_actions = require "lir.mark.actions"
local clipboard_actions = require "lir.clipboard.actions"
lir.setup {
show_hidden_files = false,
devicons_enable = true,
mappings = {
["l"] = actions.edit,
["<CR>"] = actions.edit,
["<C-s>"] = actions.split,
["v"] = actions.vsplit,
["<C-t>"] = actions.tabedit,
["h"] = actions.up,
["q"] = actions.quit,
["A"] = actions.mkdir,
["a"] = actions.newfile,
["r"] = actions.rename,
["@"] = actions.cd,
["Y"] = actions.yank_path,
["i"] = actions.toggle_show_hidden,
["d"] = actions.delete,
["J"] = function()
mark_actions.toggle_mark()
vim.cmd "normal! j"
end,
["c"] = clipboard_actions.copy,
["x"] = clipboard_actions.cut,
["p"] = clipboard_actions.paste,
},
float = {
winblend = 0,
curdir_window = {
enable = false,
highlight_dirname = true,
},
-- -- You can define a function that returns a table to be passed as the third
-- -- argument of nvim_open_win().
win_opts = function()
local width = math.floor(vim.o.columns * 0.7)
local height = math.floor(vim.o.lines * 0.7)
return {
border = "rounded",
width = width,
height = height,
-- row = 1,
-- col = math.floor((vim.o.columns - width) / 2),
}
end,
},
hide_cursor = false,
on_init = function()
-- use visual mode
vim.api.nvim_buf_set_keymap(
0,
"x",
"J",
':<C-u>lua require"lir.mark.actions".toggle_mark("v")<CR>',
{ noremap = true, silent = true }
)
-- echo cwd
-- vim.api.nvim_echo({ { vim.fn.expand "%:p", "Normal" } }, false, {})
end,
}
-- custom folder icon
require("nvim-web-devicons").set_icon {
lir_folder_icon = {
icon = "",
-- color = "#7ebae4",
-- color = "#569CD6",
color = "#42A5F5",
name = "LirFolderNode",
},
}
end
return M
|