summaryrefslogtreecommitdiff
path: root/public/nvim/.nvim/lua/plugins/extra/feline.lua
diff options
context:
space:
mode:
authorChristian Segundo2023-10-12 15:29:11 +0200
committerChristian Segundo2023-10-12 15:29:11 +0200
commit542613a0f58ccb3722c93b4b68677d7b5053fd57 (patch)
tree04a940df3e75a4b4cbe53cc3392c4e1c63fc8c6f /public/nvim/.nvim/lua/plugins/extra/feline.lua
parent449a6f57a36862a8ff27b2a3cee0922f4e4d949e (diff)
downloaddotfiles-542613a0f58ccb3722c93b4b68677d7b5053fd57.tar.gz
Add nvim
Diffstat (limited to 'public/nvim/.nvim/lua/plugins/extra/feline.lua')
-rw-r--r--public/nvim/.nvim/lua/plugins/extra/feline.lua84
1 files changed, 84 insertions, 0 deletions
diff --git a/public/nvim/.nvim/lua/plugins/extra/feline.lua b/public/nvim/.nvim/lua/plugins/extra/feline.lua
new file mode 100644
index 0000000..037db34
--- /dev/null
+++ b/public/nvim/.nvim/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,
+ },
+}