nvim/lua/cosmic/plugins/lualine/init.lua
Matthew Leong daaafc1f8d
Lazy.nvim (#88)
* feat: init lazy.nvim

* refactor: easy plugin init

* feat: user defined plugins

* refactor: clean up user config

* refactor: clean up lsp plugins

* fix: lsp signature

* fix: null ls user config

* feat: replace commands

* feat: optimize lazy loading

* fix: lsp_signature working

* fix: documentation hover/sig help

* fix: autopairs

* feat: clean up luasnips

* fix auto complete

* moar laziness

* feat: add markdown_inline to ensured_installed for TS

* clean up

* clean up auto-session
2022-12-29 08:34:17 -08:00

100 lines
2.6 KiB
Lua

local user_config = require('cosmic.core.user')
local utils = require('cosmic.utils')
local lsp_utils = require('cosmic.utils.lsp')
local icons = require('cosmic.utils.icons')
local custom_sections = {
branch = { 'b:gitsigns_head', icon = icons.branch },
diff = {
'diff',
source = utils.diff_source(),
symbols = {
added = icons.diff_add .. ' ',
modified = icons.diff_modified .. ' ',
removed = icons.diff_remove .. ' ',
},
},
shortenedFilePath = {
'filename',
path = 0,
symbols = {
modified = icons.diff_modified,
},
},
relativeFilePath = {
'filename',
path = 1,
symbols = {
modified = icons.diff_modified,
},
},
}
return {
'nvim-lualine/lualine.nvim',
lazy = false,
config = function()
require('lualine').setup(utils.merge({
options = {
theme = 'tokyonight',
},
sections = {
lualine_a = { 'mode' },
lualine_b = {
{
'filetype',
icon_only = true,
padding = {
left = 1,
right = 0,
},
separator = '',
},
custom_sections.shortenedFilePath,
},
lualine_c = { custom_sections.diff },
lualine_x = { 'diagnostics' },
lualine_y = { lsp_utils.get_lsp_status_str },
lualine_z = { 'location', 'progress' },
},
inactive_sections = {
lualine_a = {},
lualine_b = {
{
'filetype',
icon_only = true,
padding = {
left = 1,
right = 0,
},
separator = '',
},
custom_sections.shortenedFilePath,
},
lualine_c = { custom_sections.diff },
lualine_x = { 'diagnostics' },
lualine_y = { 'location', 'progress' },
lualine_z = {},
},
winbar = {
lualine_a = { utils.get_short_cwd },
lualine_b = { custom_sections.branch },
lualine_c = { custom_sections.relativeFilePath },
lualine_x = { 'filetype' },
lualine_y = {},
lualine_z = {},
},
inactive_winbar = {
lualine_a = { utils.get_short_cwd },
lualine_b = { custom_sections.branch },
lualine_c = { custom_sections.relativeFilePath },
lualine_x = { 'filetype' },
lualine_y = {},
lualine_z = {},
},
extensions = { 'quickfix', 'fugitive', 'nvim-tree' },
}, user_config.plugins.lualine or {}))
end,
dependencies = { 'nvim-tree/nvim-web-devicons' },
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'lualine'),
}