1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
--
-- Status line configuration plugin
--
-- I use lualine, see https://github.com/nvim-lualine/lualine.nvim#configuring-lualine-in-initvim
vim.pack.add({
"https://github.com/nvim-tree/nvim-web-devicons",
"https://github.com/nvim-lualine/lualine.nvim",
})
local lualine = require("lualine")
local function spell_status()
if vim.o.spelllang == "fr" then
return "+S(fr)"
elseif vim.o.spelllang == "en_us" then
return "+S(en)"
elseif vim.o.spelllang == "en_us,fr" then
return "+S(en,fr)"
end
end
local function statuses()
return (vim.b.autoformat and "+F" or "") .. (vim.o.spell and spell_status() or "")
end
local lualine_sections = {
lualine_c = { statuses, "filename" },
lualine_x = { "encoding", "fileformat", "filetype", "lsp_status" },
}
-- Adjust colors when the theme (light/dark) changes
vim.api.nvim_create_autocmd("OptionSet", {
desc = "Adjust color scheme",
pattern = "background",
group = vim.g.dotfiles.augroup,
callback = function()
lualine.setup({
options = { theme = vim.o.background == "light" and "solarized_light" or "solarized_dark" },
sections = lualine_sections,
})
end,
})
lualine.setup({ options = { theme = "solarized_light" }, sections = lualine_sections })
vim.api.nvim_create_user_command("LualineConfig", function()
vim.notify(vim.inspect(lualine.get_config()))
end, { desc = "Show lualine configuration" })
|