diff options
author | Christian Segundo | 2024-02-18 08:19:51 +0100 |
---|---|---|
committer | Christian Segundo | 2024-02-18 08:19:51 +0100 |
commit | 85d7d7c082bd84d3c701ceec3d477ee37db5c827 (patch) | |
tree | b78f09285c5120783f94cf9c2465a46439af2b71 /lua/plugins/extra/feline.lua | |
parent | 7869bf2c310fbed680abd01d45a17057f857bf30 (diff) | |
download | config-85d7d7c082bd84d3c701ceec3d477ee37db5c827.tar.gz |
bootstrap
Diffstat (limited to 'lua/plugins/extra/feline.lua')
-rw-r--r-- | lua/plugins/extra/feline.lua | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/lua/plugins/extra/feline.lua b/lua/plugins/extra/feline.lua new file mode 100644 index 0000000..037db34 --- /dev/null +++ b/lua/plugins/extra/feline.lua @@ -0,0 +1,84 @@ +return { + { + "feline-nvim/feline.nvim", + dependencies = { "nvim-navic", "catppuccin", "nvim-tree/nvim-web-devicons" }, + config = function() + local ctp_feline = require("catppuccin.groups.integrations.feline") + ctp_feline.setup({ + assets = { + left_separator = "", + right_separator = "", + }, + }) + + local catpuccin_components = ctp_feline.get() + require("feline").setup({ components = catpuccin_components }) + + local catpuccin_winbar_components = { active = { {}, {}, {} }, inactive = {} } + --catpuccin_winbar_components.inactive = catpuccin_components.inactive + + -- Removes the mode_icon and its left padding + --table.remove(catpuccin_components.active[1], 2) + --table.remove(catpuccin_components.active[1], 1) + --local catpuccin_winbar_components = catpuccin_components + + --local yaml_schema_component = { + --provider = function() + --local schema = require("yaml-companion").get_buf_schema(0) + --return schema.result[1].name + --end, + --enabled = function() + --local enabled = catpuccin_components.active[3][1].enabled + --if vim.bo.filetype == "yaml" and enabled then + --return true + --end + --end, + --hl = catpuccin_components.active[3][1].hl, + --left_sep = catpuccin_components.active[3][1].left_sep, + --right_sep = catpuccin_components.active[3][1].right_sep, + --} + + local navic_component = { + provider = function() + local location = require("nvim-navic").get_location() + if location == "" then + return location + end + return "> " .. require("nvim-navic").get_location() + end, + enabled = function() + local ok, navic = pcall(require, "nvim-navic") + if ok then + return navic.is_available() + end + end, + hl = { + bg = require("catppuccin.palettes").get_palette().base, + fg = catpuccin_components.active[3][1].hl.fg, + }, + } + + --table.insert(catpuccin_components.active[3], 1, yaml_schema_component) + -- Overwrite the useless LSP component + --catpuccin_components.active[3][2] = yaml_schema_component + + -- this is a hack to properly align the next component + catpuccin_winbar_components.active[1][1] = { + provider = function() + return " " + end, + hl = { + bg = require("catppuccin.palettes").get_palette().base, + fg = require("catppuccin.palettes").get_palette().base, + }, + } + + catpuccin_winbar_components.active[1][2] = navic_component + catpuccin_winbar_components.inactive = catpuccin_winbar_components.active + + require("feline").winbar.setup({ + components = catpuccin_winbar_components, + }) + end, + }, +} |