init
This commit is contained in:
parent
c3d1fb646a
commit
67d9542ca5
22 changed files with 611 additions and 221 deletions
|
@ -1,24 +0,0 @@
|
|||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
|
||||
-- Please read that file to know all available options :(
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
theme = "onedark",
|
||||
|
||||
-- hl_override = {
|
||||
-- Comment = { italic = true },
|
||||
-- ["@comment"] = { italic = true },
|
||||
-- },
|
||||
}
|
||||
|
||||
-- M.nvdash = { load_on_startup = true }
|
||||
-- M.ui = {
|
||||
-- tabufline = {
|
||||
-- lazyload = false
|
||||
-- }
|
||||
--}
|
||||
|
||||
return M
|
38
lua/config/lazy.lua
Normal file
38
lua/config/lazy.lua
Normal file
|
@ -0,0 +1,38 @@
|
|||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system { "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
vim.g.mapleader = "`"
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
require("config.settings").init()
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup {
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "habamax" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
change_detection = { notify = false },
|
||||
}
|
28
lua/config/settings.lua
Normal file
28
lua/config/settings.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
local m = {}
|
||||
|
||||
m.init = function()
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.showmode = false
|
||||
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.updatetime = 50
|
||||
|
||||
vim.opt.wrap = false
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.mouse = ""
|
||||
|
||||
vim.opt.fillchars = { eob = " " }
|
||||
|
||||
vim.o.clipboard = "unnamed"
|
||||
end
|
||||
|
||||
return m
|
|
@ -1,15 +0,0 @@
|
|||
local options = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
-- css = { "prettier" },
|
||||
-- html = { "prettier" },
|
||||
},
|
||||
|
||||
-- format_on_save = {
|
||||
-- -- These options will be passed to conform.format()
|
||||
-- timeout_ms = 500,
|
||||
-- lsp_fallback = true,
|
||||
-- },
|
||||
}
|
||||
|
||||
return options
|
|
@ -1,47 +0,0 @@
|
|||
return {
|
||||
defaults = { lazy = true },
|
||||
install = { colorscheme = { "nvchad" } },
|
||||
|
||||
ui = {
|
||||
icons = {
|
||||
ft = "",
|
||||
lazy = " ",
|
||||
loaded = "",
|
||||
not_loaded = "",
|
||||
},
|
||||
},
|
||||
|
||||
performance = {
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"2html_plugin",
|
||||
"tohtml",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"gzip",
|
||||
"logipat",
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"matchit",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tutor",
|
||||
"rplugin",
|
||||
"syntax",
|
||||
"synmenu",
|
||||
"optwin",
|
||||
"compiler",
|
||||
"bugreport",
|
||||
"ftplugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
-- load defaults i.e lua_lsp
|
||||
require("nvchad.configs.lspconfig").defaults()
|
||||
|
||||
local lspconfig = require "lspconfig"
|
||||
|
||||
-- EXAMPLE
|
||||
local servers = { "html", "cssls" }
|
||||
local nvlsp = require "nvchad.configs.lspconfig"
|
||||
|
||||
-- lsps with default config
|
||||
for _, lsp in ipairs(servers) do
|
||||
lspconfig[lsp].setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
}
|
||||
end
|
||||
|
||||
-- configuring single server, example: typescript
|
||||
-- lspconfig.ts_ls.setup {
|
||||
-- on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
-- capabilities = nvlsp.capabilities,
|
||||
-- }
|
|
@ -1,10 +0,0 @@
|
|||
require "nvchad.mappings"
|
||||
|
||||
-- add yours here
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map("i", "jk", "<ESC>")
|
||||
|
||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
|
@ -1,6 +0,0 @@
|
|||
require "nvchad.options"
|
||||
|
||||
-- add yours here!
|
||||
|
||||
-- local o = vim.o
|
||||
-- o.cursorlineopt ='both' -- to enable cursorline!
|
12
lua/plugins/conform.lua
Normal file
12
lua/plugins/conform.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
cpp = { "clang-format" },
|
||||
},
|
||||
format_on_save = { timeout_ms = 500, lsp_format = "fallback" },
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
opts = require "configs.conform",
|
||||
},
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require "configs.lspconfig"
|
||||
end,
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "nvim-treesitter/nvim-treesitter",
|
||||
-- opts = {
|
||||
-- ensure_installed = {
|
||||
-- "vim", "lua", "vimdoc",
|
||||
-- "html", "css"
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
}
|
42
lua/plugins/keybinds.lua
Normal file
42
lua/plugins/keybinds.lua
Normal file
|
@ -0,0 +1,42 @@
|
|||
return {
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
keys = {
|
||||
{
|
||||
"<leader>\\",
|
||||
function()
|
||||
require("which-key").show { global = false }
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
{
|
||||
"K",
|
||||
":m '<-2<CR>gv=gv",
|
||||
mode = "v",
|
||||
},
|
||||
{
|
||||
"J",
|
||||
":m '>+1<CR>gv=gv",
|
||||
mode = "v",
|
||||
},
|
||||
{
|
||||
"<C-d>",
|
||||
"<C-d>zz",
|
||||
desc = "Half page jump center",
|
||||
},
|
||||
{
|
||||
"<C-u>",
|
||||
"<C-u>zz",
|
||||
desc = "Half page jump center",
|
||||
},
|
||||
{
|
||||
"<leader>p",
|
||||
'"_dP',
|
||||
desc = "Stolen from prime",
|
||||
mode = "x",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
204
lua/plugins/lspconfig.lua
Normal file
204
lua/plugins/lspconfig.lua
Normal file
|
@ -0,0 +1,204 @@
|
|||
return {
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
{ "hrsh7th/cmp-cmdline" },
|
||||
{ "hrsh7th/cmp-path" },
|
||||
{ "hrsh7th/cmp-buffer" },
|
||||
{
|
||||
"ray-x/lsp_signature.nvim",
|
||||
event = "InsertEnter",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua", -- only load on lua files
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
opts = {
|
||||
ensure_installed = { "lua_ls", "rust_analyzer", "clangd", "zls" },
|
||||
handlers = {
|
||||
function(server_name)
|
||||
vim.opt.signcolumn = "yes"
|
||||
local navic = require "nvim-navic"
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
require("lsp_signature").on_attach({}, bufnr)
|
||||
if client.server_capabilities.documentSymbolProvider then
|
||||
navic.attach(client, bufnr)
|
||||
end
|
||||
end
|
||||
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
|
||||
require("lspconfig")[server_name].setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"onsails/lspkind.nvim",
|
||||
config = function()
|
||||
require("lspkind").init { preset = "codicons" }
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
config = function()
|
||||
local cmp = require "cmp"
|
||||
local lspkind = require "lspkind"
|
||||
|
||||
cmp.setup {
|
||||
formatting = {
|
||||
format = lspkind.cmp_format {
|
||||
mode = "symbol", -- show only symbol annotations
|
||||
maxwidth = {
|
||||
menu = 50, -- leading text (labelDetails)
|
||||
abbr = 50, -- actual suggestion item
|
||||
},
|
||||
ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first)
|
||||
show_labelDetails = true, -- show labelDetails in menu. Disabled by default
|
||||
|
||||
before = function(entry, vim_item)
|
||||
local highlights_info = require("colorful-menu").cmp_highlights(entry)
|
||||
|
||||
-- highlight_info is nil means we are missing the ts parser, it's
|
||||
-- better to fallback to use default `vim_item.abbr`. What this plugin
|
||||
-- offers is two fields: `vim_item.abbr_hl_group` and `vim_item.abbr`.
|
||||
if highlights_info ~= nil then
|
||||
vim_item.abbr_hl_group = highlights_info.highlights
|
||||
vim_item.abbr = highlights_info.text
|
||||
end
|
||||
|
||||
return vim_item
|
||||
end,
|
||||
},
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{
|
||||
name = "lazydev",
|
||||
group_index = 0, -- set group index to 0 to skip loading LuaLS completions
|
||||
},
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.snippet.expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert {
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<CR>"] = cmp.mapping.confirm { select = true }, -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
},
|
||||
}
|
||||
|
||||
cmp.setup.cmdline({ "/", "?" }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{ name = "buffer" },
|
||||
},
|
||||
})
|
||||
|
||||
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||
cmp.setup.cmdline(":", {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "path" },
|
||||
}, {
|
||||
{ name = "cmdline" },
|
||||
}),
|
||||
matching = { disallow_symbol_nonprefix_matching = false },
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
lazy = false,
|
||||
keys = {
|
||||
{
|
||||
"ca",
|
||||
vim.lsp.buf.code_action,
|
||||
desc = "LSP: [C]ode Action",
|
||||
},
|
||||
{
|
||||
"<leader>rr",
|
||||
vim.lsp.buf.rename,
|
||||
desc = "LSP rename",
|
||||
},
|
||||
{
|
||||
"<leader>lh",
|
||||
vim.lsp.buf.hover,
|
||||
desc = "[L]sp: Hover",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
vim.opt.signcolumn = "yes"
|
||||
local navic = require "nvim-navic"
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
if client.server_capabilities.documentSymbolProvider then
|
||||
navic.attach(client, bufnr)
|
||||
end
|
||||
end
|
||||
|
||||
vim.filetype.add {
|
||||
extension = {
|
||||
hlsl = "hlsl",
|
||||
},
|
||||
}
|
||||
|
||||
if not require("lspconfig.configs").hlsl_tools then
|
||||
require("lspconfig.configs").hlsl_tools = {
|
||||
default_config = {
|
||||
cmd = "/home/hstasonis/.config/nvim/vendor/shader-language-server",
|
||||
on_new_config = function(new_config, _)
|
||||
new_config.cmd_env.LD_LIBRARY_PATH = "/home/hstasonis/.config/nvim/vendor"
|
||||
end,
|
||||
},
|
||||
single_file_support = true,
|
||||
filetypes = { "hlsl" },
|
||||
}
|
||||
end
|
||||
|
||||
-- Set it up as usual
|
||||
require("lspconfig.configs").hlsl_tools.setup {
|
||||
on_attach = on_attach,
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
config = function()
|
||||
require("mason").setup {}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"SmiteshP/nvim-navic",
|
||||
config = function()
|
||||
vim.o.winbar = "%{%v:lua.require'nvim-navic'.get_location()%}"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"j-hui/fidget.nvim",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"xzbdmw/colorful-menu.nvim",
|
||||
config = function()
|
||||
-- You don't need to set these options.
|
||||
require("colorful-menu").setup {}
|
||||
end,
|
||||
},
|
||||
}
|
11
lua/plugins/mini.lua
Normal file
11
lua/plugins/mini.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
return {
|
||||
{
|
||||
"echasnovski/mini.nvim",
|
||||
enabled = true,
|
||||
config = function()
|
||||
require("mini.statusline").setup()
|
||||
require("mini.pairs").setup()
|
||||
require("mini.ai").setup()
|
||||
end,
|
||||
},
|
||||
}
|
13
lua/plugins/notes.lua
Normal file
13
lua/plugins/notes.lua
Normal file
|
@ -0,0 +1,13 @@
|
|||
return {
|
||||
{
|
||||
"stevearc/oil.nvim",
|
||||
---@module 'oil'
|
||||
---@type oil.SetupOpts
|
||||
opts = {},
|
||||
-- Optional dependencies
|
||||
dependencies = { { "echasnovski/mini.icons", opts = {} } },
|
||||
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
|
||||
-- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
|
||||
lazy = false,
|
||||
},
|
||||
}
|
106
lua/plugins/telescope.lua
Normal file
106
lua/plugins/telescope.lua
Normal file
|
@ -0,0 +1,106 @@
|
|||
return {
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
keys = {
|
||||
{
|
||||
"<leader><Tab>",
|
||||
function()
|
||||
require("trouble").next { jump = true, skip_groups = true }
|
||||
end,
|
||||
},
|
||||
{
|
||||
"<leader><esc>",
|
||||
function()
|
||||
require("trouble").prev { jump = true, skip_groups = true }
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.8",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
keys = {
|
||||
{
|
||||
"<leader>dd",
|
||||
function()
|
||||
require("telescope.builtin").diagnostics()
|
||||
end,
|
||||
desc = "[D]iagnostics",
|
||||
},
|
||||
{
|
||||
"gd",
|
||||
function()
|
||||
require("telescope.builtin").lsp_definitions()
|
||||
end,
|
||||
desc = "LSP def",
|
||||
},
|
||||
{
|
||||
"gr",
|
||||
function()
|
||||
require("telescope.builtin").lsp_references()
|
||||
end,
|
||||
desc = "[L]SP, Find [R]eferences",
|
||||
},
|
||||
{
|
||||
"<leader>ws",
|
||||
function()
|
||||
require("telescope.builtin").lsp_workspace_symbols()
|
||||
end,
|
||||
desc = "LSP, [W]orkspace [S]ymbols",
|
||||
},
|
||||
{
|
||||
"gi",
|
||||
function()
|
||||
require("telescope.builtin").lsp_implementations()
|
||||
end,
|
||||
desc = "[L]sp, [I]mplementations",
|
||||
},
|
||||
{
|
||||
"gt",
|
||||
function()
|
||||
require("telescope.builtin").lsp_type_definitions()
|
||||
end,
|
||||
desc = "[L]SP, Type Definitions",
|
||||
},
|
||||
{
|
||||
"<leader>ff",
|
||||
function()
|
||||
local builtin = require "telescope.builtin"
|
||||
builtin.find_files()
|
||||
end,
|
||||
desc = "Telescope: Find files",
|
||||
},
|
||||
{
|
||||
"<leader>fg",
|
||||
function()
|
||||
local builtin = require "telescope.builtin"
|
||||
builtin.buffers()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"<leader>fg",
|
||||
function()
|
||||
local builtin = require "telescope.builtin"
|
||||
builtin.live_grep()
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
config = function()
|
||||
local builtin = require "telescope.builtin"
|
||||
local open_with_trouble = require("trouble.sources.telescope").open
|
||||
|
||||
-- Search with telescope and open with trouble
|
||||
local telescope = require "telescope"
|
||||
telescope.setup {
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = { ["<c-t>"] = open_with_trouble },
|
||||
n = { ["<c-t>"] = open_with_trouble },
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
28
lua/plugins/treesitter.lua
Normal file
28
lua/plugins/treesitter.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
local configs = require "nvim-treesitter.configs"
|
||||
|
||||
configs.setup {
|
||||
ensure_installed = {
|
||||
"c",
|
||||
"lua",
|
||||
"vim",
|
||||
"vimdoc",
|
||||
"query",
|
||||
"markdown",
|
||||
"json",
|
||||
"javascript",
|
||||
"cpp",
|
||||
"hlsl",
|
||||
"jsdoc",
|
||||
},
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
95
lua/plugins/ui.lua
Normal file
95
lua/plugins/ui.lua
Normal file
|
@ -0,0 +1,95 @@
|
|||
return {
|
||||
{
|
||||
"ramojus/mellifluous.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
enabled = true,
|
||||
config = function()
|
||||
require("mellifluous").setup {
|
||||
colorset = "alduin",
|
||||
} -- optional, see configuration section.
|
||||
|
||||
vim.cmd [[ colorscheme mellifluous ]]
|
||||
end,
|
||||
},
|
||||
{
|
||||
"datsfilipe/vesper.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
enabled = false,
|
||||
config = function()
|
||||
require("vesper").setup {
|
||||
transparent = false,
|
||||
}
|
||||
|
||||
vim.cmd [[ colorscheme vesper ]]
|
||||
end,
|
||||
},
|
||||
{
|
||||
"AlexvZyl/nordic.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
enabled = false,
|
||||
config = function()
|
||||
require("nordic").load {
|
||||
bright_border = true,
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
version = "*",
|
||||
lazy = false,
|
||||
dependencies = { "nvim-tree/nvim-web-devicons", "datsfilipe/vesper.nvim" },
|
||||
keys = {
|
||||
{
|
||||
"<leader>[",
|
||||
":BufferLineCyclePrev<CR>",
|
||||
desc = "Go back a buffer",
|
||||
},
|
||||
{
|
||||
"<leader>]",
|
||||
":BufferLineCycleNext<CR>",
|
||||
desc = "Go to the next buffer",
|
||||
},
|
||||
{
|
||||
"<leader>-",
|
||||
":BufferLineCloseLeft<CR>",
|
||||
desc = "Bufferline: Close left",
|
||||
},
|
||||
{
|
||||
"<leader>+",
|
||||
":BufferLineCloseOthers<CR>",
|
||||
desc = "Bufferline: Close others",
|
||||
},
|
||||
{
|
||||
"<leader>_",
|
||||
":BufferLineCloseRight<CR>",
|
||||
desc = "Bufferline: Close right",
|
||||
},
|
||||
{
|
||||
"<leader>=",
|
||||
":BufDel<CR>",
|
||||
desc = "Close current buffer",
|
||||
},
|
||||
},
|
||||
|
||||
opts = {
|
||||
diagnostics = "nvim_lsp",
|
||||
|
||||
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||
local icon = level:match "error" and " " or " "
|
||||
return " " .. icon .. count
|
||||
end,
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("bufferline").setup {
|
||||
options = opts,
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ojroques/nvim-bufdel",
|
||||
opts = {},
|
||||
},
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue