feat various: fzf, formatting, dependencies script

This commit is contained in:
Ian
2026-07-10 23:34:51 +02:00
parent 1f54f75f62
commit 44fdfa566d
8 changed files with 142 additions and 46 deletions
+39
View File
@@ -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
+9
View File
@@ -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"},
})
+5
View File
@@ -0,0 +1,5 @@
require("conform").setup({
formatters_by_ft = {
lua = { "stylua" },
},
})
+42 -1
View File
@@ -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",
},
},
})
+3
View File
@@ -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')
+32 -38
View File
@@ -1,62 +1,56 @@
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
dir = vim.loop.cwd()
end
require("oil").open(dir)
local dir = vim.fn.expand("%:p:h")
if dir == "" then
dir = vim.loop.cwd()
end
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>")
+8 -7
View File
@@ -1,9 +1,10 @@
vim.pack.add({
{ src = "https://github.com/catppuccin/nvim", name = "catppuccin" },
{ src = "https://github.com/neogitorg/neogit", name = "neogit" },
{ src = "https://github.com/stevearc/oil.nvim", name = "oil.nvim" },
{ src = "https://github.com/nvim-tree/nvim-web-devicons", name = "web-dev-devicons" },
{ 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/catppuccin/nvim", name = "catppuccin" },
{ src = "https://github.com/neogitorg/neogit", name = "neogit" },
{ src = "https://github.com/stevearc/oil.nvim", name = "oil.nvim" },
{ src = "https://github.com/nvim-tree/nvim-web-devicons", name = "web-dev-devicons" },
{ 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" },
})