summaryrefslogtreecommitdiff
path: root/lua/plugins/extra/feline.lua
diff options
context:
space:
mode:
authorChristian Segundo2024-02-18 08:19:51 +0100
committerChristian Segundo2024-02-18 08:19:51 +0100
commit85d7d7c082bd84d3c701ceec3d477ee37db5c827 (patch)
treeb78f09285c5120783f94cf9c2465a46439af2b71 /lua/plugins/extra/feline.lua
parent7869bf2c310fbed680abd01d45a17057f857bf30 (diff)
downloadconfig-85d7d7c082bd84d3c701ceec3d477ee37db5c827.tar.gz
bootstrap
Diffstat (limited to 'lua/plugins/extra/feline.lua')
-rw-r--r--lua/plugins/extra/feline.lua84
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,
+ },
+}