neovim/lua/plugins/setup.lua

106 lines
2.3 KiB
Lua

return require("packer").startup(function(use)
use({ "wbthomason/packer.nvim" })
-- 主题
use({ "folke/tokyonight.nvim" })
-- 文件树
use({
"nvim-tree/nvim-tree.lua",
requires = {
"nvim-tree/nvim-web-devicons", -- optional, for file icons
},
tag = "nightly", -- optional, updated every week. (see issue #1193)
})
-- 状态栏
use({
"nvim-lualine/lualine.nvim",
requires = { "kyazdani42/nvim-web-devicons", opt = true },
})
-- tab 栏
use({
"akinsho/bufferline.nvim",
requires = "kyazdani42/nvim-web-devicons",
tag = "v3.*",
})
-- 标签补全
use({ "windwp/nvim-autopairs" })
-- 通知
use({ "rcarriga/nvim-notify" })
-- 自动保存
use({ "Pocco81/auto-save.nvim" })
-- 首页
use({
"goolord/alpha-nvim",
requires = { "nvim-tree/nvim-web-devicons" },
config = function()
require("alpha").setup(require("alpha.themes.startify").config)
end,
})
-- 搜索
use({
"nvim-telescope/telescope.nvim",
tag = "0.1.1",
requires = {
{ "nvim-lua/plenary.nvim" },
{ "nvim-treesitter/nvim-treesitter" },
{ "kdheepak/lazygit.nvim" },
},
})
-- 代码高亮
use({
"nvim-treesitter/nvim-treesitter",
run = ":TSUpdate",
})
-- 缩进线
use({ "lukas-reineke/indent-blankline.nvim" })
-- 注释管理
use({
"numToStr/Comment.nvim",
config = function()
require("Comment").setup()
end,
})
-- git管理
use({ "lewis6991/gitsigns.nvim" })
-- 重命名
use({
"filipdutescu/renamer.nvim",
branch = "master",
requires = { { "nvim-lua/plenary.nvim" } },
})
-- 终端管理
use({ "akinsho/toggleterm.nvim", tag = "*" })
-- LSP管理器
use({
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"neovim/nvim-lspconfig",
})
-- 格式化
use({ "jose-elias-alvarez/null-ls.nvim" })
-- 项目管理
use({ "ahmedkhalf/project.nvim" })
-- 优化启动速度
use({ "lewis6991/impatient.nvim" })
-- TODO 管理
use({
"folke/todo-comments.nvim",
requires = "nvim-lua/plenary.nvim",
})
-- golang ide
use({
"ray-x/go.nvim",
"ray-x/guihua.lua", -- recommended if need floating window support
})
-- 自动完成相关
use({
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/nvim-cmp",
"hrsh7th/cmp-vsnip",
"hrsh7th/vim-vsnip",
})
vim.opt.completeopt = { "menu", "menuone", "noselect" }
end)