This commit is contained in:
Mikhail Kilin
2026-06-21 16:22:06 +03:00
parent 698c953c55
commit 8cedd606f5
58 changed files with 4333 additions and 146 deletions

View File

@@ -18,7 +18,16 @@ map("n", "<C-Right>", ":vertical resize +2<CR>", { desc = "Increase window width
-- Buffers
map("n", "<S-l>", ":bnext<CR>", { desc = "Next buffer" })
map("n", "<S-h>", ":bprevious<CR>", { desc = "Previous buffer" })
map("n", "<leader>bd", ":bdelete<CR>", { desc = "Delete buffer" })
map("n", "<leader>bd", function()
local current = vim.api.nvim_get_current_buf()
local bufs = vim.tbl_filter(function(b)
return b.bufnr ~= current and vim.bo[b.bufnr].filetype ~= "neo-tree"
end, vim.fn.getbufinfo({ buflisted = 1 }))
if #bufs > 0 then
vim.api.nvim_set_current_buf(bufs[1].bufnr)
end
vim.cmd("bdelete " .. current)
end, { desc = "Delete buffer" })
-- Move lines up/down in visual mode
map("v", "J", ":m '>+1<CR>gv=gv", { desc = "Move selection down" })

View File

@@ -47,6 +47,14 @@ return {
{ "<leader>n", "<cmd>Neotree toggle<cr>", desc = "Toggle file explorer" },
},
opts = {
window = {
mappings = {
["l"] = "open",
["h"] = "close_node",
["<right>"] = "open",
["<left>"] = "close_node",
},
},
filesystem = {
filtered_items = {
visible = true,

View File

@@ -1,24 +1,23 @@
local layout = "EN"
local function update_layout()
vim.system({ "im-select" }, { text = true }, function(result)
if result.stdout then
layout = result.stdout:find("Russian") and "RU" or "EN"
end
end)
end
-- Update layout in background every second, never blocks UI
local timer = vim.loop.new_timer()
timer:start(0, 1000, vim.schedule_wrap(update_layout))
local function keyboard_layout()
local handle = io.popen("im-select")
if not handle then
return ""
end
local result = handle:read("*a")
handle:close()
if result:find("Russian") then
return "RU"
end
return "EN"
return layout
end
local function keyboard_layout_color()
local handle = io.popen("im-select")
if not handle then
return { bg = "#a6e3a1", fg = "#1e1e2e", gui = "bold" }
end
local result = handle:read("*a")
handle:close()
if result:find("Russian") then
if layout == "RU" then
return { bg = "#f38ba8", fg = "#1e1e2e", gui = "bold" }
end
return { bg = "#a6e3a1", fg = "#1e1e2e", gui = "bold" }