diff --git a/modules/home-manager/files/nvim/lua/config/vim-options.lua b/modules/home-manager/files/nvim/lua/config/vim-options.lua index 730517d..f004b05 100644 --- a/modules/home-manager/files/nvim/lua/config/vim-options.lua +++ b/modules/home-manager/files/nvim/lua/config/vim-options.lua @@ -20,3 +20,12 @@ vim.keymap.set("n", "h", ":nohlsearch") vim.wo.relativenumber = true vim.o.termguicolors = true + +-- Tips from https://github.com/folke/edgy.nvim +-- views can only be fully collapsed with the global statusline +vim.opt.laststatus = 3 + +-- Default splitting will cause your main splits to jump when opening an edgebar. +-- To prevent this, set `splitkeep` to either `screen` or `topline`. +vim.opt.splitkeep = "screen" + diff --git a/modules/home-manager/files/nvim/lua/plugins/edgy.lua b/modules/home-manager/files/nvim/lua/plugins/edgy.lua new file mode 100644 index 0000000..27b5193 --- /dev/null +++ b/modules/home-manager/files/nvim/lua/plugins/edgy.lua @@ -0,0 +1,65 @@ +return { + "folke/edgy.nvim", + event = "VeryLazy", + opts = { + exit_when_last = true, + bottom = { + -- toggleterm / lazyterm at the bottom with a height of 40% of the screen + { + ft = "toggleterm", + size = { height = 0.2 }, + -- exclude floating windows + filter = function(buf, win) + return vim.api.nvim_win_get_config(win).relative == "" + end, + }, + "Trouble", + { ft = "qf", title = "QuickFix" }, + { + ft = "help", + size = { height = 20 }, + -- only show help buffers + filter = function(buf) + return vim.bo[buf].buftype == "help" + end, + }, + { ft = "spectre_panel", size = { height = 0.4 } }, + }, + left = { + -- Neo-tree filesystem always takes half the screen height + { + title = "Neo-Tree", + ft = "neo-tree", + filter = function(buf) + return vim.b[buf].neo_tree_source == "filesystem" + end, + size = { height = 0.5 }, + }, + { + title = "Neo-Tree Git", + ft = "neo-tree", + filter = function(buf) + return vim.b[buf].neo_tree_source == "git_status" + end, + pinned = true, + open = "Neotree position=right git_status", + }, + { + title = "Neo-Tree Buffers", + ft = "neo-tree", + filter = function(buf) + return vim.b[buf].neo_tree_source == "buffers" + end, + pinned = true, + open = "Neotree position=top buffers", + }, + { + ft = "Outline", + pinned = true, + open = "SymbolsOutlineOpen", + }, + -- any other neo-tree windows + "neo-tree", + }, + }, +} diff --git a/modules/home-manager/files/nvim/lua/plugins/neo-tree.lua b/modules/home-manager/files/nvim/lua/plugins/neo-tree.lua index bb2b2d1..ad2938c 100644 --- a/modules/home-manager/files/nvim/lua/plugins/neo-tree.lua +++ b/modules/home-manager/files/nvim/lua/plugins/neo-tree.lua @@ -19,10 +19,6 @@ return { hijack_netrw_behavior = "open_default", }, follow_current_file = { enabled = true }, - source_selector = { - winbar = true, - statusline = false, - }, }) end, } diff --git a/modules/home-manager/files/nvim/lua/plugins/toggleterm.lua b/modules/home-manager/files/nvim/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..22121c0 --- /dev/null +++ b/modules/home-manager/files/nvim/lua/plugins/toggleterm.lua @@ -0,0 +1,5 @@ +return { + "akinsho/toggleterm.nvim", + version = "*", + config = true, +}