Files
dotfiles/nvim/lua/plugins/lualine.lua
Mikhail Kilin 8cedd606f5 fixes
2026-06-21 16:22:06 +03:00

50 lines
1.2 KiB
Lua

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()
return layout
end
local function keyboard_layout_color()
if layout == "RU" then
return { bg = "#f38ba8", fg = "#1e1e2e", gui = "bold" }
end
return { bg = "#a6e3a1", fg = "#1e1e2e", gui = "bold" }
end
return {
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = {
options = {
theme = "auto",
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
},
sections = {
lualine_a = { "mode" },
lualine_b = {
{ keyboard_layout, color = keyboard_layout_color },
"branch",
"diff",
"diagnostics",
},
lualine_c = { { "filename", path = 1 } },
lualine_x = { "encoding", "filetype" },
lualine_y = { "progress" },
lualine_z = { "location" },
},
},
}