feat: bufferline

This commit is contained in:
Yu Squire[ Yu, Tsung-Ying ] 2025-05-09 22:54:59 +08:00
parent 70e8e331c4
commit 3a06e074cf
14 changed files with 103 additions and 47 deletions

View File

@ -2,5 +2,8 @@
"diagnostics.globals": [ "diagnostics.globals": [
"vim", "vim",
"require" "require"
],
"diagnostics.disable": [
"different-requires"
] ]
} }

View File

@ -1,5 +1,14 @@
require("config.vimrc") require("config.vimrc")
require("config.lazy") require("config.lazy")
---@diagnostic disable-next-line: different-requires require("lazy").setup({
require("lazy").setup("plugins") spec = {
{ 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 },
})

View File

@ -1,10 +1,12 @@
{ {
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" }, "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
"blink.cmp": { "branch": "main", "commit": "4f38ce99a472932d5776337f08f7a8180f1f571a" }, "blink.cmp": { "branch": "main", "commit": "4f38ce99a472932d5776337f08f7a8180f1f571a" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "1bf070129c0b6f77cc23f6a2212dcdc868308c52" }, "catppuccin": { "branch": "main", "commit": "1bf070129c0b6f77cc23f6a2212dcdc868308c52" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
"marks.nvim": { "branch": "master", "commit": "bb25ae3f65f504379e3d08c8a02560b76eaf91e8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" },
"mason.nvim": { "branch": "main", "commit": "7c7318e8bae7e3536ef6b9e86b9e38e74f2e125e" }, "mason.nvim": { "branch": "main", "commit": "7c7318e8bae7e3536ef6b9e86b9e38e74f2e125e" },
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
@ -14,11 +16,13 @@
"nvim-dap": { "branch": "master", "commit": "8df427aeba0a06c6577dc3ab82de3076964e3b8d" }, "nvim-dap": { "branch": "master", "commit": "8df427aeba0a06c6577dc3ab82de3076964e3b8d" },
"nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" }, "nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" },
"nvim-lspconfig": { "branch": "master", "commit": "4bc481b6f0c0cf3671fc894debd0e00347089a4e" }, "nvim-lspconfig": { "branch": "master", "commit": "4bc481b6f0c0cf3671fc894debd0e00347089a4e" },
"nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
"nvim-treesitter": { "branch": "master", "commit": "28d480e0624b259095e56f353ec911f9f2a0f404" }, "nvim-treesitter": { "branch": "master", "commit": "28d480e0624b259095e56f353ec911f9f2a0f404" },
"nvim-web-devicons": { "branch": "master", "commit": "f1420728f59843eb2ef084406b3d0201a0a0932d" }, "nvim-web-devicons": { "branch": "master", "commit": "f1420728f59843eb2ef084406b3d0201a0a0932d" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"venv-selector.nvim": { "branch": "regexp", "commit": "c677caa1030808a9f90092e522de7cc20c1390dd" } "venv-selector.nvim": { "branch": "regexp", "commit": "c677caa1030808a9f90092e522de7cc20c1390dd" },
"window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" }
} }

View File

@ -21,15 +21,3 @@ vim.opt.rtp:prepend(lazypath)
vim.g.mapleader = " " vim.g.mapleader = " "
vim.g.maplocalleader = "\\" vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
{ 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 },
})

View File

@ -7,6 +7,10 @@ vim.keymap.set("n", "K", "5k")
vim.keymap.set("n", "//", ":noh<CR>") vim.keymap.set("n", "//", ":noh<CR>")
vim.keymap.set("n", "<Leader>w", ":w<CR>") vim.keymap.set("n", "<Leader>w", ":w<CR>")
vim.keymap.set("n", "<Leader>q", ":q<CR>") vim.keymap.set("n", "<Leader>q", ":q<CR>")
vim.keymap.set("n", "<C-j>", "<C-w>j")
vim.keymap.set("n", "<C-k>", "<C-w>k")
vim.keymap.set("n", "<C-h>", "<C-w>h")
vim.keymap.set("n", "<C-l>", "<C-w>l")
vim.keymap.set("v", "J", "5j") vim.keymap.set("v", "J", "5j")
vim.keymap.set("v", "K", "5k") vim.keymap.set("v", "K", "5k")

View File

@ -0,0 +1,11 @@
local function setup()
vim.opt.termguicolors = true
require("bufferline").setup({})
end
return {
"akinsho/bufferline.nvim",
version = "*",
dependencies = "nvim-tree/nvim-web-devicons",
config = setup,
}

View File

@ -10,6 +10,7 @@ local function mason_setup()
"lua_ls", "lua_ls",
"pyright", "pyright",
"rust_analyzer", "rust_analyzer",
"tailwindcss",
"ts_ls", "ts_ls",
}, },
}) })
@ -24,6 +25,7 @@ local function nvim_lsp_setup()
vim.lsp.enable("lua_ls") vim.lsp.enable("lua_ls")
vim.lsp.enable("pyright") vim.lsp.enable("pyright")
vim.lsp.enable("rust_analyzer") vim.lsp.enable("rust_analyzer")
vim.lsp.enable("tailwindcss")
vim.lsp.enable("ts_ls") vim.lsp.enable("ts_ls")
vim.keymap.set("n", "<Leader><Enter>", vim.lsp.buf.hover, {}) vim.keymap.set("n", "<Leader><Enter>", vim.lsp.buf.hover, {})

View File

@ -151,11 +151,11 @@ local function setup()
-- Insert mid section. You can make any number of sections in neovim :) -- Insert mid section. You can make any number of sections in neovim :)
-- for lualine it's any number greater then 2 -- for lualine it's any number greater then 2
ins_left { -- ins_left {
function() -- function()
return '%=' -- return '%='
end, -- end,
} -- }
ins_left { ins_left {
-- Lsp server name . -- Lsp server name .

View File

@ -0,0 +1,5 @@
return {
"chentoast/marks.nvim",
event = "VeryLazy",
opts = {},
}

View File

@ -1,21 +1,28 @@
local function setup() local function setup()
require("neo-tree").setup({ require("neo-tree").setup({
close_if_last_window = true, close_if_last_window = true,
-- popup_border_style = "winborder", source_selector = {
winbar = false,
statusline = false,
},
window = {
position = "left",
width = 50,
},
filesystem = { filesystem = {
filtered_items = { filtered_items = {
hide_dotfiles = false, hide_dotfiles = false,
},
hide_by_name = { hide_by_name = {
".git", ".git",
"node_modules", "node_modules",
}, },
}, },
},
}) })
vim.keymap.set("n", "<Leader>j", ":Neotree filesystem reveal left<CR>") vim.keymap.set("n", "<Leader>j", ":Neotree filesystem reveal left<CR>")
vim.keymap.set("n", "<Leader>b", ":Neotree buffers toggle bottom<CR>") -- vim.keymap.set("n", "<Leader>k", ":Neotree buffers reveal left<CR>")
vim.keymap.set("n", "<Leader>J", ":Neotree filesystem close left<CR>") -- vim.keymap.set("n", "<Leader>l", ":Neotree git_status reveal left<CR>")
end end
return { return {
@ -29,4 +36,3 @@ return {
lazy = false, lazy = false,
config = setup, config = setup,
} }

View File

@ -6,7 +6,6 @@ local function setup()
null_ls.builtins.formatting.prettier, null_ls.builtins.formatting.prettier,
null_ls.builtins.formatting.black, null_ls.builtins.formatting.black,
null_ls.builtins.formatting.isort, null_ls.builtins.formatting.isort,
null_ls.builtins.diagnostics.eslint,
null_ls.builtins.completion.spell, null_ls.builtins.completion.spell,
}, },
}) })

View File

@ -0,0 +1,12 @@
local function setup()
local notify = require("notify")
notify.setup({
background_colour = "#282828",
})
vim.notify = notify
end
return {
"rcarriga/nvim-notify",
config = setup,
}

View File

@ -3,6 +3,7 @@ local function setup()
vim.keymap.set("n", "<Leader>t", ":ToggleTerm<CR>") vim.keymap.set("n", "<Leader>t", ":ToggleTerm<CR>")
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>") vim.keymap.set("t", "<Esc>", "<C-\\><C-n>")
vim.keymap.set("t", "jk", "<C-\\><C-n>")
end end
return { return {

View File

@ -0,0 +1,12 @@
local function setup()
require("window-picker").setup({
})
end
return {
"s1n7ax/nvim-window-picker",
name = "window-picker",
event = "VeryLazy",
version = "2.*",
config = setup,
}