225 lines
7.0 KiB
Lua
225 lines
7.0 KiB
Lua
-- Now don't forget to initialize lualine
|
||
return {
|
||
-- {
|
||
-- "nvim-lualine/lualine.nvim",
|
||
-- dependencies = { "nvim-tree/nvim-web-devicons" },
|
||
-- config = function()
|
||
-- local lualine = require("lualine")
|
||
-- local colors = {
|
||
-- bg = "#202328",
|
||
-- fg = "#bbc2cf",
|
||
-- yellow = "#ECBE7B",
|
||
-- cyan = "#008080",
|
||
-- darkblue = "#081633",
|
||
-- green = "#98be65",
|
||
-- orange = "#FF8800",
|
||
-- violet = "#a9a1e1",
|
||
-- magenta = "#c678dd",
|
||
-- blue = "#51afef",
|
||
-- red = "#ec5f67",
|
||
-- }
|
||
--
|
||
-- local conditions = {
|
||
-- buffer_not_empty = function()
|
||
-- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
||
-- end,
|
||
-- hide_in_width = function()
|
||
-- return vim.fn.winwidth(0) > 80
|
||
-- end,
|
||
-- check_git_workspace = function()
|
||
-- local filepath = vim.fn.expand("%:p:h")
|
||
-- local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
||
-- return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||
-- end,
|
||
-- }
|
||
--
|
||
-- -- Config
|
||
-- local config = {
|
||
-- options = {
|
||
-- -- Disable sections and component separators
|
||
-- component_separators = "",
|
||
-- section_separators = "",
|
||
-- theme = 'auto'
|
||
-- -- theme = {
|
||
-- -- -- We are going to use lualine_c an lualine_x as left and
|
||
-- -- -- right section. Both are highlighted by c theme . So we
|
||
-- -- -- are just setting default looks o statusline
|
||
-- -- normal = { c = { fg = colors.fg, bg = colors.bg } },
|
||
-- -- inactive = { c = { fg = colors.fg, bg = colors.bg } },
|
||
-- -- },
|
||
-- },
|
||
-- sections = {
|
||
-- -- these are to remove the defaults
|
||
-- lualine_a = {},
|
||
-- lualine_b = {},
|
||
-- lualine_y = {},
|
||
-- lualine_z = {},
|
||
-- -- These will be filled later
|
||
-- lualine_c = {},
|
||
-- lualine_x = {},
|
||
-- },
|
||
-- inactive_sections = {
|
||
-- -- these are to remove the defaults
|
||
-- lualine_a = {},
|
||
-- lualine_b = {},
|
||
-- lualine_y = {},
|
||
-- lualine_z = {},
|
||
-- lualine_c = {},
|
||
-- lualine_x = {},
|
||
-- },
|
||
-- }
|
||
--
|
||
-- -- Inserts a component in lualine_c at left section
|
||
-- local function ins_left(component)
|
||
-- table.insert(config.sections.lualine_c, component)
|
||
-- end
|
||
--
|
||
-- -- Inserts a component in lualine_x at right section
|
||
-- local function ins_right(component)
|
||
-- table.insert(config.sections.lualine_x, component)
|
||
-- end
|
||
--
|
||
-- ins_left({
|
||
-- function()
|
||
-- return "▊"
|
||
-- end,
|
||
-- color = { fg = colors.blue }, -- Sets highlighting of component
|
||
-- padding = { left = 0, right = 1 }, -- We don't need space before this
|
||
-- })
|
||
--
|
||
-- ins_left({
|
||
-- -- mode component
|
||
-- function()
|
||
-- return ""
|
||
-- end,
|
||
-- color = function()
|
||
-- -- auto change color according to neovims mode
|
||
-- local mode_color = {
|
||
-- n = colors.red,
|
||
-- i = colors.green,
|
||
-- v = colors.blue,
|
||
-- [""] = colors.blue,
|
||
-- V = colors.blue,
|
||
-- c = colors.magenta,
|
||
-- no = colors.red,
|
||
-- s = colors.orange,
|
||
-- S = colors.orange,
|
||
-- [""] = colors.orange,
|
||
-- ic = colors.yellow,
|
||
-- R = colors.violet,
|
||
-- Rv = colors.violet,
|
||
-- cv = colors.red,
|
||
-- ce = colors.red,
|
||
-- r = colors.cyan,
|
||
-- rm = colors.cyan,
|
||
-- ["r?"] = colors.cyan,
|
||
-- ["!"] = colors.red,
|
||
-- t = colors.red,
|
||
-- }
|
||
-- return { fg = mode_color[vim.fn.mode()] }
|
||
-- end,
|
||
-- padding = { right = 1 },
|
||
-- })
|
||
--
|
||
-- ins_left({
|
||
-- -- filesize component
|
||
-- "filesize",
|
||
-- cond = conditions.buffer_not_empty,
|
||
-- })
|
||
--
|
||
-- ins_left({
|
||
-- "filename",
|
||
-- cond = conditions.buffer_not_empty,
|
||
-- color = { fg = colors.magenta, gui = "bold" },
|
||
-- })
|
||
--
|
||
-- ins_left({ "location" })
|
||
--
|
||
-- ins_left({ "progress", color = { fg = colors.fg, gui = "bold" } })
|
||
--
|
||
-- ins_left({
|
||
-- "diagnostics",
|
||
-- sources = { "nvim_diagnostic" },
|
||
-- symbols = { error = " ", warn = " ", info = " " },
|
||
-- diagnostics_color = {
|
||
-- error = { fg = colors.red },
|
||
-- warn = { fg = colors.yellow },
|
||
-- info = { fg = colors.cyan },
|
||
-- },
|
||
-- })
|
||
--
|
||
-- -- Insert mid section. You can make any number of sections in neovim :)
|
||
-- -- for lualine it's any number greater then 2
|
||
-- ins_left({
|
||
-- function()
|
||
-- return "%="
|
||
-- end,
|
||
-- })
|
||
--
|
||
-- ins_left({
|
||
-- -- Lsp server name .
|
||
-- function()
|
||
-- local msg = "No Active Lsp"
|
||
-- local buf_ft = vim.api.nvim_get_option_value("filetype", { buf = 0 })
|
||
-- local clients = vim.lsp.get_clients()
|
||
-- if next(clients) == nil then
|
||
-- return msg
|
||
-- end
|
||
-- for _, client in ipairs(clients) do
|
||
-- local filetypes = client.config.filetypes
|
||
-- if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||
-- return client.name
|
||
-- end
|
||
-- end
|
||
-- return msg
|
||
-- end,
|
||
-- icon = " LSP:",
|
||
-- color = { fg = "#ffffff", gui = "bold" },
|
||
-- })
|
||
--
|
||
-- -- Add components to right sections
|
||
-- ins_right({
|
||
-- "o:encoding", -- option component same as &encoding in viml
|
||
-- fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
||
-- cond = conditions.hide_in_width,
|
||
-- color = { fg = colors.green, gui = "bold" },
|
||
-- })
|
||
--
|
||
-- -- ins_right({
|
||
-- -- "fileformat",
|
||
-- -- fmt = string.upper,
|
||
-- -- icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
|
||
-- -- color = { fg = colors.green, gui = "bold" },
|
||
-- -- })
|
||
--
|
||
-- ins_right({
|
||
-- "branch",
|
||
-- icon = "",
|
||
-- color = { fg = colors.violet, gui = "bold" },
|
||
-- })
|
||
--
|
||
-- ins_right({
|
||
-- "diff",
|
||
-- -- Is it me or the symbol for modified us really weird
|
||
-- symbols = { added = " ", modified = " ", removed = " " },
|
||
-- diff_color = {
|
||
-- added = { fg = colors.green },
|
||
-- modified = { fg = colors.orange },
|
||
-- removed = { fg = colors.red },
|
||
-- },
|
||
-- cond = conditions.hide_in_width,
|
||
-- })
|
||
--
|
||
-- ins_right({
|
||
-- function()
|
||
-- return "▊"
|
||
-- end,
|
||
-- color = { fg = colors.blue },
|
||
-- padding = { left = 1 },
|
||
-- })
|
||
--
|
||
-- lualine.setup(config)
|
||
-- end,
|
||
-- },
|
||
}
|