Skip to content

jackielii/neo-tree-bufferline.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

neo-tree-bufferline.nvim

Status: usable TODO

show pinned buffers as a neo-tree panel

Install via lazy.nvim:

  {
    "nvim-neo-tree/neo-tree.nvim",
    branch = "v3.x",
    dependencies = {
      "nvim-lua/plenary.nvim",
      "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
      "MunifTanjim/nui.nvim",
      "3rd/image.nvim",              -- Optional image support in preview window: See `# Preview Mode` for more information
      "jackielii/neo-tree-bufferline.nvim"
    },
    cmd = "Neotree",
  }

image

with edgy:

  {
    "folke/edgy.nvim",
    event = "VeryLazy",
    -- stylua: ignore
    keys = {
      { "<leader>ue", function() require("edgy").toggle() end, desc = "Edgy Toggle" },
      { "<leader>uE", function() require("edgy").select() end, desc = "Edgy Select Window" },
    },
    opts = {
      -- stylua: ignore
      keys = {
        -- increase width
        ["<M-L>"] = function(win) win:resize("width", 2) end,
        -- decrease width
        ["<M-H>"] = function(win) win:resize("width", -2) end,
        -- increase height
        ["<M-J>"] = function(win) win:resize("height", 2) end,
        -- decrease height
        ["<M-K>"] = function(win) win:resize("height", -2) end,
      },
      animate = { enabled = false },
      left = {
        {
          title = "Neo-Tree",
          ft = "neo-tree",
          filter = function(buf)
            return vim.b[buf].neo_tree_source == "filesystem"
          end,
          pinned = true,
          open = function()
            vim.api.nvim_input("<esc><space>f")
          end,
          size = { height = 0.5 },
        },
        {
          title = "Pinned Buffers",
          ft = "neo-tree",
          filter = function(buf)
            return vim.b[buf].neo_tree_source == "pinned-buffers"
          end,
          pinned = true,
          open = "Neotree position=top pinned-buffers",
          size = { height = 0.2 },
        },

	...

TODO

  • empty pinned buffers seems to still display a line
  • bufferline to merge akinsho/bufferline.nvim#858. Using monkey patch for now
  • numbering not correct. Probably need to pull bufferline state
  • removing buffer not refreshing or maybe we want to keep it?
  • order not updating when moving buffer
  • rename buffer not handled

About

show pinned buffers as a neo-tree panel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages