feat: add lir.nvim again (#3038)

This commit is contained in:
Christian Chiarulli 2022-09-19 11:44:04 -04:00 committed by GitHub
parent 68fdbaa51d
commit a331ef711b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 161 additions and 3 deletions

View file

@ -10,6 +10,36 @@ function M.load_defaults()
user_config_file = user_config_file:gsub("\\", "/") user_config_file = user_config_file:gsub("\\", "/")
end end
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = {
"Jaq",
"qf",
"help",
"man",
"lspinfo",
"spectre_panel",
"lir",
"DressingSelect",
"tsplayground",
"Markdown",
},
callback = function()
vim.cmd [[
nnoremap <silent> <buffer> q :close<CR>
nnoremap <silent> <buffer> <esc> :close<CR>
set nobuflisted
]]
end,
})
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = { "lir" },
callback = function()
vim.opt_local.number = false
vim.opt_local.relativenumber = false
end,
})
local definitions = { local definitions = {
{ {
"TextYankPost", "TextYankPost",

View file

@ -9,6 +9,7 @@ local builtins = {
"lvim.core.telescope", "lvim.core.telescope",
"lvim.core.treesitter", "lvim.core.treesitter",
"lvim.core.nvimtree", "lvim.core.nvimtree",
"lvim.core.lir",
"lvim.core.project", "lvim.core.project",
"lvim.core.bufferline", "lvim.core.bufferline",
"lvim.core.autopairs", "lvim.core.autopairs",

117
lua/lvim/core/lir.lua Normal file
View file

@ -0,0 +1,117 @@
local M = {}
local Log = require "lvim.core.log"
M.config = function()
lvim.builtin.lir = {
active = true,
on_config_done = nil,
}
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
function M.setup()
if lvim.builtin.nvimtree.active then
Log:warn "Unable to configure lir while nvimtree is active! Please set 'lvim.builtin.nvimtree.active=false'"
return
end
local status_ok, lir = pcall(require, "lir")
if not status_ok then
return
end
lir.setup(lvim.builtin.lir.setup)
require("nvim-web-devicons").set_icon(lvim.builtin.lir.icons)
if lvim.builtin.lir.on_config_done then
lvim.builtin.lir.on_config_done(lir)
end
end
return M

View file

@ -15,7 +15,7 @@ M.config = function()
motions = false, -- adds help for motions motions = false, -- adds help for motions
text_objects = false, -- help for text objects triggered after entering an operator text_objects = false, -- help for text objects triggered after entering an operator
windows = false, -- default bindings on <c-w> windows = false, -- default bindings on <c-w>
nav = true, -- misc bindings to work with windows nav = false, -- misc bindings to work with windows
z = false, -- bindings for folds, spelling and others prefixed with z z = false, -- bindings for folds, spelling and others prefixed with z
g = false, -- bindings for prefixed with g g = false, -- bindings for prefixed with g
}, },

View file

@ -20,7 +20,7 @@ function plugin_loader.init(opts)
package_root = opts.package_root or join_paths(vim.fn.stdpath "data", "site", "pack"), package_root = opts.package_root or join_paths(vim.fn.stdpath "data", "site", "pack"),
compile_path = compile_path, compile_path = compile_path,
snapshot_path = snapshot_path, snapshot_path = snapshot_path,
max_jobs = 40, max_jobs = 100,
log = { level = "warn" }, log = { level = "warn" },
git = { git = {
clone_timeout = 300, clone_timeout = 300,

View file

@ -139,7 +139,14 @@ local core_plugins = {
end, end,
disable = not lvim.builtin.nvimtree.active, disable = not lvim.builtin.nvimtree.active,
}, },
-- Lir
{
"christianchiarulli/lir.nvim",
config = function()
require("lvim.core.lir").setup()
end,
disable = not lvim.builtin.lir.active,
},
{ {
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",

View file

@ -35,6 +35,9 @@
"gitsigns.nvim": { "gitsigns.nvim": {
"commit": "d7e0bcb" "commit": "d7e0bcb"
}, },
"lir.nvim": {
"commit": "7d8c6c4"
},
"lua-dev.nvim": { "lua-dev.nvim": {
"commit": "fd7a18e" "commit": "fd7a18e"
}, },