151 lines
6.0 KiB
Lua
151 lines
6.0 KiB
Lua
return {
|
|
{"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
|
|
}
|
|
},
|
|
{"catppuccin/nvim", lazy=true, name="catppuccin"},
|
|
{
|
|
"folke/twilight.nvim",
|
|
opts = {
|
|
dimming = {
|
|
alpha = 0.25, -- amount of dimming
|
|
-- we try to get the foreground from the highlight groups or fallback color
|
|
color = { "Normal", "#ffffff" },
|
|
term_bg = "#000000", -- if guibg=NONE, this will be used to calculate text color
|
|
inactive = false, -- when true, other windows will be fully dimmed (unless they contain the same buffer)
|
|
},
|
|
context = 10, -- amount of lines we will try to show around the current line
|
|
treesitter = true, -- use treesitter when available for the filetype
|
|
-- treesitter is used to automatically expand the visible text,
|
|
-- but you can further control the types of nodes that should always be fully expanded
|
|
expand = { -- for treesitter, we we always try to expand to the top-most ancestor with these types
|
|
"function",
|
|
"method",
|
|
"table",
|
|
"if_statement",
|
|
},
|
|
exclude = {}, -- exclude these filetypes
|
|
}
|
|
},
|
|
{"folke/zen-mode.nvim", opts={
|
|
window = {
|
|
backdrop = 0.95, -- shade the backdrop of the Zen window. Set to 1 to keep the same as Normal
|
|
-- height and width can be:
|
|
-- * an absolute number of cells when > 1
|
|
-- * a percentage of the width / height of the editor when <= 1
|
|
-- * a function that returns the width or the height
|
|
width = 120, -- width of the Zen window
|
|
height = 1, -- height of the Zen window
|
|
-- by default, no options are changed for the Zen window
|
|
-- uncomment any of the options below, or add other vim.wo options you want to apply
|
|
options = {
|
|
-- signcolumn = "no", -- disable signcolumn
|
|
-- number = false, -- disable number column
|
|
-- relativenumber = false, -- disable relative numbers
|
|
-- cursorline = false, -- disable cursorline
|
|
-- cursorcolumn = false, -- disable cursor column
|
|
-- foldcolumn = "0", -- disable fold column
|
|
-- list = false, -- disable whitespace characters
|
|
},
|
|
},
|
|
plugins = {
|
|
-- disable some global vim options (vim.o...)
|
|
-- comment the lines to not apply the options
|
|
options = {
|
|
enabled = true,
|
|
ruler = false, -- disables the ruler text in the cmd line area
|
|
showcmd = false, -- disables the command in the last line of the screen
|
|
-- you may turn on/off statusline in zen mode by setting 'laststatus'
|
|
-- statusline will be shown only if 'laststatus' == 3
|
|
laststatus = 0, -- turn off the statusline in zen mode
|
|
},
|
|
twilight = { enabled = true }, -- enable to start Twilight when zen mode opens
|
|
gitsigns = { enabled = false }, -- disables git signs
|
|
tmux = { enabled = false }, -- disables the tmux statusline
|
|
-- this will change the font size on kitty when in zen mode
|
|
-- to make this work, you need to set the following kitty options:
|
|
-- - allow_remote_control socket-only
|
|
-- - listen_on unix:/tmp/kitty
|
|
kitty = {
|
|
enabled = true,
|
|
font = "+4", -- font size increment
|
|
},
|
|
-- this will change the font size on alacritty when in zen mode
|
|
-- requires Alacritty Version 0.10.0 or higher
|
|
-- uses `alacritty msg` subcommand to change font size
|
|
alacritty = {
|
|
enabled = false,
|
|
font = "14", -- font size
|
|
},
|
|
-- this will change the font size on wezterm when in zen mode
|
|
-- See alse also the Plugins/Wezterm section in this projects README
|
|
wezterm = {
|
|
enabled = true,
|
|
-- can be either an absolute font size or the number of incremental steps
|
|
font = "+4", -- (10% increase per step)
|
|
},
|
|
},
|
|
}},
|
|
{
|
|
"akinsho/bufferline.nvim",
|
|
event = "VeryLazy",
|
|
keys = {
|
|
{ "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle Pin" },
|
|
{ "<leader>bP", "<Cmd>BufferLineGroupClose ungrouped<CR>", desc = "Delete Non-Pinned Buffers" },
|
|
{ "<leader>br", "<Cmd>BufferLineCloseRight<CR>", desc = "Delete Buffers to the Right" },
|
|
{ "<leader>bl", "<Cmd>BufferLineCloseLeft<CR>", desc = "Delete Buffers to the Left" },
|
|
{ "<S-h>", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev Buffer" },
|
|
{ "<S-l>", "<cmd>BufferLineCycleNext<cr>", desc = "Next Buffer" },
|
|
{ "[b", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev Buffer" },
|
|
{ "]b", "<cmd>BufferLineCycleNext<cr>", desc = "Next Buffer" },
|
|
{ "[B", "<cmd>BufferLineMovePrev<cr>", desc = "Move buffer prev" },
|
|
{ "]B", "<cmd>BufferLineMoveNext<cr>", desc = "Move buffer next" },
|
|
},
|
|
opts = {
|
|
options = {
|
|
-- stylua: ignore
|
|
-- close_command = function(n) Snacks.bufdelete(n) end,
|
|
-- stylua: ignore
|
|
-- right_mouse_command = function(n) Snacks.bufdelete(n) end,
|
|
diagnostics = "nvim_lsp",
|
|
always_show_bufferline = false,
|
|
-- diagnostics_indicator = function(_, _, diag)
|
|
-- local icons = LazyVim.config.icons.diagnostics
|
|
-- local ret = (diag.error and icons.Error .. diag.error .. " " or "")
|
|
-- .. (diag.warning and icons.Warn .. diag.warning or "")
|
|
-- return vim.trim(ret)
|
|
-- end,
|
|
offsets = {
|
|
{
|
|
filetype = "neo-tree",
|
|
text = "Neo-tree",
|
|
highlight = "Directory",
|
|
text_align = "left",
|
|
},
|
|
},
|
|
-- ---@param opts bufferline.IconFetcherOpts
|
|
-- get_element_icon = function(opts)
|
|
-- return LazyVim.config.icons.ft[opts.filetype]
|
|
-- end,
|
|
},
|
|
},
|
|
config = function(_, opts)
|
|
require("bufferline").setup(opts)
|
|
-- Fix bufferline when restoring a session
|
|
vim.api.nvim_create_autocmd({ "BufAdd", "BufDelete" }, {
|
|
callback = function()
|
|
vim.schedule(function()
|
|
pcall(nvim_bufferline)
|
|
end)
|
|
end,
|
|
})
|
|
end,
|
|
},
|
|
{"rhysd/committia.vim"},
|
|
}
|