neovim refactor

This commit is contained in:
kiri committed 2026-09-04 19:49:42 +02:00
1 parent b12c211a69
commit 883f9d26c2
25 files changed
+1154 -880

No files matched your search

@@ -1,67 +1,52 @@
require("lz.n").load({
{
"theme-loader",
event = "VimEnter",
load = function()
local settings = require("nix-info").settings
local theme_code = settings.themeSetup
require("kanagawa").setup({
dimInactive = true,
colors = {
theme = {
all = {
ui = { bg_gutter = "none" },
},
},
},
})
vim.cmd.colorscheme("kanagawa-wave")
local func, err = loadstring(theme_code)
if func then
func()
else
print("Error loading theme code: " .. err)
end
end,
},
{
"kulala.nvim",
after = function()
require("kulala").setup({
global_keymaps = true,
global_keymaps_prefix = "<leader>R",
})
end,
},
require("lz.n").load({
{
"lualine.nvim",
event = "VimEnter",
after = function()
local filename = {
"filename",
path = 1,
symbols = {
modified = "●",
readonly = "",
unnamed = "[No Name]",
},
}
local navic = require("nvim-navic")
local breadcrumb = function()
if not navic.is_available() then
return ""
end
local location = navic.get_location()
if vim.fn.strdisplaywidth(location) <= 60 then
return location
end
while vim.fn.strdisplaywidth(location) > 59 do
location = vim.fn.strcharpart(location, 0, vim.fn.strchars(location) - 1)
end
return location .. "…"
end
require("lualine").setup({
options = {
icons_enabled = true,
globalstatus = false,
theme = "kanagawa",
component_separators = "",
section_separators = "",
theme = "kanagawa",
globalstatus = true,
},
sections = {
lualine_a = { "mode" },
lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = { filename },
lualine_x = { "lsp_status" },
lualine_y = { "progress" },
lualine_b = { "branch" },
lualine_c = { { "filename", path = 1 }, breadcrumb },
lualine_x = { "diagnostics" },
lualine_y = { "filetype" },
lualine_z = { "location" },
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = { filename },
lualine_x = {},
lualine_y = {},
lualine_z = {},
},
})
end,
},
@@ -78,17 +63,9 @@ require("lz.n").load({
changedelete = { text = "~" },
untracked = { text = "┆" },
},
signs_staged_enable = true,
on_attach = function(bufnr)
local gs = package.loaded.gitsigns
local map = function(mode, lhs, rhs, desc, opts)
opts = opts or {}
opts.buffer = bufnr
opts.desc = desc
vim.keymap.set(mode, lhs, rhs, opts)
end
map("n", "]h", function()
local gs = require("gitsigns")
vim.keymap.set("n", "]h", function()
if vim.wo.diff then
return "]h"
end
@@ -96,9 +73,8 @@ require("lz.n").load({
gs.nav_hunk("next")
end)
return "<Ignore>"
end, "Next git hunk", { expr = true })
map("n", "[h", function()
end, { buffer = bufnr, desc = "Next git hunk", expr = true })
vim.keymap.set("n", "[h", function()
if vim.wo.diff then
return "[h"
end
@@ -106,20 +82,7 @@ require("lz.n").load({
gs.nav_hunk("prev")
end)
return "<Ignore>"
end, "Previous git hunk", { expr = true })
map("n", "<leader>hp", gs.preview_hunk, "Git [H]unk [P]review")
map("n", "<leader>hs", gs.stage_hunk, "Git [H]unk [S]tage")
map("n", "<leader>hr", gs.reset_hunk, "Git [H]unk [R]eset")
map("n", "<leader>hu", gs.undo_stage_hunk, "Git [H]unk [U]ndo stage")
map("n", "<leader>hS", gs.stage_buffer, "Git [H]unk [S]tage buffer")
map("n", "<leader>hR", gs.reset_buffer, "Git [H]unk [R]eset buffer")
map("v", "<leader>hs", function()
gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
end, "Git [H]unk [S]tage")
map("v", "<leader>hr", function()
gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
end, "Git [H]unk [R]eset")
end, { buffer = bufnr, desc = "Previous git hunk", expr = true })
end,
})
end,
@@ -127,36 +90,28 @@ require("lz.n").load({
{
"zen-mode.nvim",
cmd = "ZenMode",
keys = {
{ "<leader>uz", "<cmd>ZenMode<cr>", desc = "Toggle zen mode" },
},
after = function()
require("zen-mode").setup({
window = {
options = {
linebreak = true,
},
},
})
require("zen-mode").setup({})
end,
},
{
"which-key.nvim",
event = "VimEnter",
before = function()
require("lz.n").trigger_load("mini.nvim")
end,
after = function()
require("which-key").setup({
preset = "modern",
delay = 200,
icons = {
mappings = true,
keys = {},
},
preset = "helix",
spec = {
{ "<leader>b", group = "[B]uffer" },
{ "<leader>s", group = "[S]earch" },
{ "<leader>t", group = "[T]oggle" },
{ "<leader>h", group = "Git [H]unk", mode = { "n", "v" } },
{ "<leader>b", group = "Buffers" },
{ "<leader>c", group = "Code" },
{ "<leader>d", group = "Diagnostics" },
{ "<leader>n", group = "Notes" },
{ "<leader>q", group = "Database" },
{ "<leader>r", group = "HTTP" },
{ "<leader>s", group = "Search" },
{ "<leader>u", group = "UI" },
},
})
end,