feat various: fzf, formatting, dependencies script
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
local M = {}
|
||||
|
||||
cmdsList = nil
|
||||
|
||||
function M.checkCommand(cmd, desc)
|
||||
local toRun = ""
|
||||
|
||||
if IS_UNIX then
|
||||
toRun = "command -v " .. cmd
|
||||
else
|
||||
toRun = "where " .. cmd
|
||||
end
|
||||
|
||||
local p = io.popen(toRun)
|
||||
local output = p:read("*l")
|
||||
p:close()
|
||||
|
||||
if output == nil and desc ~= nil and desc ~= "" then
|
||||
print(cmd .. " [" .. desc .. "] - not found!")
|
||||
elseif output == nil then
|
||||
print(cmd .. " - not found!")
|
||||
else
|
||||
print(cmd .. " - ok")
|
||||
end
|
||||
end
|
||||
|
||||
function M.run()
|
||||
for i, cmd in ipairs(cmdsList) do
|
||||
M.checkCommand(cmd.cmd, cmd.desc)
|
||||
end
|
||||
end
|
||||
|
||||
function M.setup(cmds)
|
||||
IS_UNIX = package.config:sub(1, 1) ~= "\\"
|
||||
cmdsList = cmds
|
||||
vim.api.nvim_create_user_command("DependenciesCheck", M.run, {})
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,9 @@
|
||||
require('check_dependencies').setup({
|
||||
{cmd = "git", desc="git"},
|
||||
|
||||
-- fzf dependencies
|
||||
{cmd = "fzf", desc="fuzzy finder"},
|
||||
{cmd = "fd", desc="better find"},
|
||||
{cmd = "bat", desc="cat alternative"},
|
||||
})
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
require("conform").setup({
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
},
|
||||
})
|
||||
+42
-1
@@ -1 +1,42 @@
|
||||
vim.keymap.set('n', '<leader>f', '<cmd>FzfLua<cr>')
|
||||
vim.keymap.set("n", "<leader>fz", "<cmd>FzfLua<cr>")
|
||||
vim.keymap.set("n", "<leader>ff", "<cmd>FzfLua files<cr>")
|
||||
vim.keymap.set("n", "<leader>fg", "<cmd>FzfLua live_grep<cr>")
|
||||
vim.keymap.set("n", "<leader>fr", "<cmd>FzfLua resume<cr>")
|
||||
vim.keymap.set("n", "<leader>fb", "<cmd>FzfLua buffers<cr>")
|
||||
|
||||
require("fzf-lua").setup({
|
||||
defaults = {
|
||||
formatter = "path.dirname_first",
|
||||
},
|
||||
winopts = {
|
||||
fullscreen = true,
|
||||
preview = {
|
||||
default = "bat",
|
||||
vertical = "down:60%",
|
||||
horizontal = "right:50%",
|
||||
layout = "vertical",
|
||||
},
|
||||
},
|
||||
keymap = {
|
||||
fzf = {
|
||||
["ctrl-z"] = "abort",
|
||||
["ctrl-u"] = "unix-line-discard",
|
||||
["ctrl-f"] = "half-page-down",
|
||||
["ctrl-b"] = "half-page-up",
|
||||
["ctrl-a"] = "beginning-of-line",
|
||||
["ctrl-e"] = "end-of-line",
|
||||
["alt-a"] = "toggle-all",
|
||||
["alt-g"] = "first",
|
||||
["alt-G"] = "last",
|
||||
["ctrl-k"] = "up",
|
||||
["ctrl-j"] = "down",
|
||||
|
||||
-- Only valid with fzf previewers (bat/cat/git/etc)
|
||||
["f3"] = "toggle-preview-wrap",
|
||||
["f4"] = "toggle-preview",
|
||||
["ctrl-q"] = "select-all+accept",
|
||||
-- ["<S-e>"] = "preview-page-down",
|
||||
-- ["<S-y>"] = "preview-page-up",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -8,3 +8,6 @@ require('config.oil')
|
||||
require('config.autopairs')
|
||||
require('config.fzf')
|
||||
require('config.indent_blank_line')
|
||||
require('config.conform')
|
||||
|
||||
require('config.check_dependencies')
|
||||
|
||||
+27
-33
@@ -1,42 +1,43 @@
|
||||
vim.api.nvim_create_user_command('W', "update", { nargs='?'})
|
||||
vim.api.nvim_create_user_command("W", "update", { nargs = "?" })
|
||||
|
||||
local bind = vim.keymap.set
|
||||
|
||||
vim.g.mapleader = ","
|
||||
|
||||
bind('n', '<leader>v', '<cmd>vsp<cr><C-w>l', { desc = 'Vertical split' })
|
||||
bind('n', '<leader>e', '<cmd>e .<cr><cmd>set relativenumber<cr>', { desc = 'Netrw file manager' })
|
||||
bind("n", "<leader>v", "<cmd>vsp<cr><C-w>l", { desc = "Vertical split" })
|
||||
bind("n", "<leader>e", "<cmd>e .<cr><cmd>set relativenumber<cr>", { desc = "Netrw file manager" })
|
||||
|
||||
-- Buffer navigation
|
||||
bind('n', '<M-l>', '<cmd>bp<cr>', { desc = 'Buffer previous' })
|
||||
bind('n', '<M-h>', '<cmd>bn<cr>', { desc = 'Buffer next' })
|
||||
bind('n', '<M-Down>', '<cmd>CloseOpenBuff<cr>', { desc = 'Buffer close' })
|
||||
bind("n", "<M-l>", "<cmd>bp<cr>", { desc = "Buffer previous" })
|
||||
bind("n", "<M-h>", "<cmd>bn<cr>", { desc = "Buffer next" })
|
||||
bind("n", "<M-Down>", "<cmd>CloseOpenBuff<cr>", { desc = "Buffer close" })
|
||||
|
||||
-- Buffer resize
|
||||
bind('n', '<leader>+', '<cmd>vertical resize +5<cr>', { desc = 'Buffer increase size' })
|
||||
bind('n', '<leader>-', '<cmd>vertical resize -5<cr>', { desc = 'Buffer decrease size' })
|
||||
bind("n", "<leader>+", "<cmd>vertical resize +5<cr>", { desc = "Buffer increase size" })
|
||||
bind("n", "<leader>-", "<cmd>vertical resize -5<cr>", { desc = "Buffer decrease size" })
|
||||
|
||||
-- Tab movements
|
||||
bind('n', '<C-M-n>', '<cmd>tabnew<cr>', { desc = 'New tab' })
|
||||
bind('n', '<C-M-Down>', '<cmd>tabclose<cr>', { desc = 'Close tab' })
|
||||
bind('n', '<C-M-l>', '<cmd>tabnext<cr>', { desc = 'Next tab' })
|
||||
bind('n', '<C-M-h>', '<cmd>tabprevious<cr>', { desc = 'Previous tab' })
|
||||
bind("n", "<C-M-n>", "<cmd>tabnew<cr>", { desc = "New tab" })
|
||||
bind("n", "<C-M-Down>", "<cmd>tabclose<cr>", { desc = "Close tab" })
|
||||
bind("n", "<C-M-l>", "<cmd>tabnext<cr>", { desc = "Next tab" })
|
||||
bind("n", "<C-M-h>", "<cmd>tabprevious<cr>", { desc = "Previous tab" })
|
||||
|
||||
-- Movements into buffer
|
||||
bind('n', "<C-d>", "<C-d>zz", { desc = 'Center cursor after page down' })
|
||||
bind('n', "<C-u>", "<C-u>zz", { desc = 'Center cursor after page up' })
|
||||
bind("n", "<C-d>", "<C-d>zz", { desc = "Center cursor after page down" })
|
||||
bind("n", "<C-u>", "<C-u>zz", { desc = "Center cursor after page up" })
|
||||
|
||||
-- Move lines in visual mode
|
||||
bind('v', 'K', ":m '<-2<cr>gv=gv", { desc = 'Move highlighted lines up' })
|
||||
bind('v', 'J', ":m '>+1<cr>gv=gv", { desc = 'Move highlighted lines down' })
|
||||
bind("v", "K", ":m '<-2<cr>gv=gv", { desc = "Move highlighted lines up" })
|
||||
bind("v", "J", ":m '>+1<cr>gv=gv", { desc = "Move highlighted lines down" })
|
||||
|
||||
-- Text cleaning
|
||||
bind('n', '<leader>w', '<cmd>%s/\\s\\+$/<cr><cmd>nohlsearch<cr>', { desc = 'Delete white spaces at end of each line' })
|
||||
bind("n", "<leader>w", "<cmd>%s/\\s\\+$/<cr><cmd>nohlsearch<cr>", { desc = "Delete white spaces at end of each line" })
|
||||
|
||||
-- Quick fix list
|
||||
bind('n', '<leader>cc', '<cmd>cclose<cr>')
|
||||
bind('n', '<leader>co', '<cmd>copen<cr>')
|
||||
bind("n", "<leader>cc", "<cmd>cclose<cr>")
|
||||
bind("n", "<leader>co", "<cmd>copen<cr>")
|
||||
|
||||
-- Oil vim
|
||||
vim.keymap.set("n", "<M-1>", function()
|
||||
local dir = vim.fn.expand("%:p:h")
|
||||
if dir == "" then
|
||||
@@ -45,18 +46,11 @@ vim.keymap.set("n", "<M-1>", function()
|
||||
require("oil").open(dir)
|
||||
end, { desc = "Open Oil in current file directory" })
|
||||
|
||||
-- Telescope
|
||||
-- bind('n', '<leader>ff', '<cmd>Telescope find_files<cr>')
|
||||
-- bind('n', '<leader>fg', '<cmd>Telescope live_grep<cr>')
|
||||
-- bind('n', '<leader>fg', require("telescope").extensions.live_grep_args.live_grep_args, { noremap = true })
|
||||
-- bind('n', '<leader>fb', '<cmd>Telescope buffers<cr>')
|
||||
-- bind('n', '<leader>fh', '<cmd>Telescope help_tags<cr>')
|
||||
|
||||
-- Testing funcs
|
||||
-- vim.api.nvim_create_user_command('MyFuncs', require('my_funcs').reopen, { nargs='?'})
|
||||
-- bind('n', '<leader>r', '<cmd>MyFuncs<cr>')
|
||||
|
||||
-- vim.api.nvim_create_user_command('MyFuncsPP', require('my_funcs').print_path, { nargs='?'})
|
||||
-- bind('n', '<leader>pp', '<cmd>MyFuncsPP<cr>')
|
||||
-- bind({'n', 'i'}, '<C-w>', '<cmd>w<cr>', { desc = 'Save with CTRL+s' })
|
||||
-- Conform
|
||||
vim.api.nvim_create_user_command("FormatConform", function(opts)
|
||||
require("conform").format()
|
||||
end, {
|
||||
desc = "Format current buffer",
|
||||
})
|
||||
|
||||
bind("n", "<leader><C-M-l>", "<cmd>FormatConform<cr>")
|
||||
|
||||
@@ -6,4 +6,5 @@ vim.pack.add({
|
||||
{ src = "https://github.com/windwp/nvim-autopairs", name = "nvim-autopairs" },
|
||||
{ src = "https://github.com/ibhagwan/fzf-lua", name = "fzf-lua" },
|
||||
{ src = "https://github.com/lukas-reineke/indent-blankline.nvim", name = "indent-blankline.nvim" },
|
||||
{ src = "https://github.com/stevearc/conform.nvim", name = "conform.nvim" },
|
||||
})
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
"rev": "e068ab5f8261f23f6f71ffd8791ae40315b77b9c",
|
||||
"src": "https://github.com/catppuccin/nvim"
|
||||
},
|
||||
"conform.nvim": {
|
||||
"rev": "619363c30309d29ffa631e67c8183f2a72caa373",
|
||||
"src": "https://github.com/stevearc/conform.nvim"
|
||||
},
|
||||
"fzf-lua": {
|
||||
"rev": "39da6060d53659acf3ec118200bc48721b29b8fd",
|
||||
"src": "https://github.com/ibhagwan/fzf-lua"
|
||||
|
||||
Reference in New Issue
Block a user