diff --git a/lazy-lock.json b/lazy-lock.json index 5aea9df..c64d5b0 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -30,6 +30,8 @@ "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, "gruvbox-baby": { "branch": "main", "commit": "ea71b4225d0140103d99748ca4a33ecf22c03f62" }, "gruvbox.nvim": { "branch": "main", "commit": "4176b0b720db0c90ab4030e5c1b4893faf41fd51" }, + "heirline-components.nvim": { "branch": "main", "commit": "da7d4f8f6ff5accaf2c26e488134e1e0b8f771a1" }, + "heirline.nvim": { "branch": "master", "commit": "03cff30d7e7d3ba6fdc00925f015822f79cef908" }, "indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" }, "kanagawa.nvim": { "branch": "master", "commit": "c19b9023842697ec92caf72cd3599f7dd7be4456" }, "lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" }, diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua new file mode 100644 index 0000000..3d2f2d5 --- /dev/null +++ b/lua/plugins/heirline.lua @@ -0,0 +1,54 @@ +return { + 'rebelot/heirline.nvim', + dependencies = { 'Zeioth/heirline-components.nvim' }, + opts = function() + local compon = require 'heirline-components.all' + return { + tabline = { -- UI upper bar + compon.component.tabline_conditional_padding(), + compon.component.tabline_buffers(), + compon.component.fill { hl = { bg = 'tabline_bg' } }, + compon.component.tabline_tabpages() + }, + winbar = { -- UI breadcrumbs bar + init = function(self) self.bufnr = vim.api.nvim_get_current_buf() end, + fallthrough = false, + compon.component.breadcrumbs_when_inactive(), + compon.component.breadcrumbs { hl = compon.hl.get_attributes('winbar', true) }, + }, + statuscolumn = { -- UI left column + init = function(self) self.bufnr = vim.api.nvim_get_current_buf() end, + compon.component.foldcolumn(), + compon.component.fill(), + compon.component.numbercolumn(), + compon.component.signcolumn(), + } or nil, + statusline = { -- UI statusbar + hl = { fg = 'fg', bg = 'bg' }, + compon.component.mode { mode_text = { pad_text = 'left' } }, + compon.component.git_branch(), + compon.component.file_info { filetype = false, filename = {}, file_modified = {}, file_read_only = {} }, + compon.component.git_diff(), + compon.component.diagnostics(), + compon.component.fill(), + compon.component.cmd_info { search_count = {} }, + compon.component.fill(), + -- compon.component.lsp(), + compon.component.compiler_state(), + compon.component.virtual_env(), + compon.component.file_encoding(), + compon.component.nav(), + }, + } + end, + config = function(_, opts) + local heirline = require 'heirline' + lib = require 'heirline-components.all' + + -- Setup + lib.init.subscribe_to_events() + heirline.load_colors(lib.hl.get_colors()) + heirline.setup(opts) + end, + enabled = false +}