mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 09:27:44 -04:00
Merge pull request #353 from genebean/bufferline-and-noice
Bufferline and noice and a few other tweaks
This commit is contained in:
commit
073fec195c
10 changed files with 199 additions and 11 deletions
|
|
@ -19,3 +19,13 @@ vim.keymap.set("n", "<leader>h", ":nohlsearch<CR>")
|
||||||
|
|
||||||
vim.wo.relativenumber = true
|
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"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
return{
|
|
||||||
"akinsho/bufferline.nvim",
|
|
||||||
version = "*",
|
|
||||||
dependencies = "nvim-tree/nvim-web-devicons",
|
|
||||||
event = "BufReadPre",
|
|
||||||
config = true
|
|
||||||
}
|
|
||||||
|
|
@ -27,5 +27,7 @@ return {
|
||||||
}
|
}
|
||||||
|
|
||||||
alpha.setup(dashboard.opts)
|
alpha.setup(dashboard.opts)
|
||||||
|
|
||||||
|
vim.cmd('autocmd User AlphaReady Neotree show')
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
49
modules/home-manager/files/nvim/lua/plugins/bufferline.lua
Normal file
49
modules/home-manager/files/nvim/lua/plugins/bufferline.lua
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
return {
|
||||||
|
"akinsho/bufferline.nvim",
|
||||||
|
after = "catppuccin",
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
|
version = "*",
|
||||||
|
config = function()
|
||||||
|
-- Get the color pallet of the theme flavor I am using
|
||||||
|
local color_palette = require("catppuccin.palettes").get_palette("frappe")
|
||||||
|
|
||||||
|
-- Set variables to use the color they'd use if the background was not transparent
|
||||||
|
local bg_highlight = color_palette.crust
|
||||||
|
local separator_fg = color_palette.crust
|
||||||
|
|
||||||
|
require("bufferline").setup({
|
||||||
|
highlights = require("catppuccin.groups.integrations.bufferline").get({
|
||||||
|
-- Copy settings from Catppuccin bufferline integration and override just the
|
||||||
|
-- part that is needed to make it look like it would if the background was not
|
||||||
|
-- set to transparent in catppuccin.lua
|
||||||
|
-- https://github.com/catppuccin/nvim/blob/main/lua/catppuccin/groups/integrations/bufferline.lua
|
||||||
|
custom = {
|
||||||
|
all = {
|
||||||
|
-- this makes the background behind the tabs contrast with the tabs themselves
|
||||||
|
fill = { bg = bg_highlight },
|
||||||
|
|
||||||
|
-- separators
|
||||||
|
-- I am only overriding the foreground as that is what makes the tabs look correct
|
||||||
|
separator = { fg = separator_fg },
|
||||||
|
separator_visible = { fg = separator_fg },
|
||||||
|
separator_selected = { fg = separator_fg },
|
||||||
|
offset_separator = { fg = separator_fg },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
options = {
|
||||||
|
mode = "buffers",
|
||||||
|
separator_style = "slant",
|
||||||
|
offsets = {
|
||||||
|
{
|
||||||
|
filetype = "neo-tree",
|
||||||
|
text = "File Explorer",
|
||||||
|
highlight = "Directory",
|
||||||
|
separator = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
diagnostics = "nvim_lsp",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
@ -18,6 +18,7 @@ return {
|
||||||
custom_highlights = function(colors)
|
custom_highlights = function(colors)
|
||||||
return {
|
return {
|
||||||
Comment = { fg = colors.subtext0 },
|
Comment = { fg = colors.subtext0 },
|
||||||
|
LineNr = { fg = colors.subtext0 },
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
|
||||||
65
modules/home-manager/files/nvim/lua/plugins/edgy.lua
Normal file
65
modules/home-manager/files/nvim/lua/plugins/edgy.lua
Normal file
|
|
@ -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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ return {
|
||||||
config = function()
|
config = function()
|
||||||
require("mason-lspconfig").setup({
|
require("mason-lspconfig").setup({
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
|
"lemminx", -- xml
|
||||||
"lua_ls", -- lua
|
"lua_ls", -- lua
|
||||||
"nil_ls", -- nix
|
"nil_ls", -- nix
|
||||||
"puppet", -- puppet
|
"puppet", -- puppet
|
||||||
|
|
@ -32,6 +33,11 @@ return {
|
||||||
local lspconfig = require("lspconfig")
|
local lspconfig = require("lspconfig")
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
|
|
||||||
|
lspconfig.lemminx.setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
lspconfig.lua_ls.setup({
|
lspconfig.lua_ls.setup({
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,6 @@ return {
|
||||||
hijack_netrw_behavior = "open_default",
|
hijack_netrw_behavior = "open_default",
|
||||||
},
|
},
|
||||||
follow_current_file = { enabled = true },
|
follow_current_file = { enabled = true },
|
||||||
source_selector = {
|
|
||||||
winbar = true,
|
|
||||||
statusline = false,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
61
modules/home-manager/files/nvim/lua/plugins/noice.lua
Normal file
61
modules/home-manager/files/nvim/lua/plugins/noice.lua
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
return {
|
||||||
|
"folke/noice.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
-- add any options here
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
-- OPTIONAL:
|
||||||
|
-- `nvim-notify` is only needed, if you want to use the notification view.
|
||||||
|
-- If not available, we use `mini` as the fallback
|
||||||
|
-- "rcarriga/nvim-notify",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("noice").setup({
|
||||||
|
cmdline = { enabled = true },
|
||||||
|
messages = { enabled = false },
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||||
|
override = {
|
||||||
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||||
|
["vim.lsp.util.stylize_markdown"] = true,
|
||||||
|
["cmp.entry.get_documentation"] = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
views = {
|
||||||
|
cmdline_popup = {
|
||||||
|
position = {
|
||||||
|
row = "50%",
|
||||||
|
col = "50%",
|
||||||
|
},
|
||||||
|
size = {
|
||||||
|
width = 60,
|
||||||
|
height = "auto",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
popupmenu = {
|
||||||
|
relative = "editor",
|
||||||
|
position = {
|
||||||
|
row = "61%",
|
||||||
|
col = "50%",
|
||||||
|
},
|
||||||
|
size = {
|
||||||
|
width = 60,
|
||||||
|
height = 10,
|
||||||
|
},
|
||||||
|
border = {
|
||||||
|
style = "rounded",
|
||||||
|
padding = { 0, 1 },
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
winhighlight = { Normal = "Normal", FloatBorder = "DiagnosticInfo" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
return {
|
||||||
|
"akinsho/toggleterm.nvim",
|
||||||
|
version = "*",
|
||||||
|
config = true,
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue