nvim-config/lua/plugins.lua
2023-06-29 13:33:05 +08:00

211 lines
4.6 KiB
Lua

return require("packer").startup(function()
-- Packer can manage itself
use("wbthomason/packer.nvim")
-- lua 调试
use("rafcamlet/nvim-luapad")
------------------ themes --------------------------
-- use({
-- "navarasu/onedark.nvim",
-- })
use("folke/tokyonight.nvim")
use("sainnhe/everforest")
-----------------------------------------------------------------------------------------
-- a good terminal
-- 一个好的nvim内终端
use({ "akinsho/toggleterm.nvim", tag = "*" })
-- make live command
-- 实时命令
use({ "smjonas/live-command.nvim" })
-- lazygit support
-- 使用lazygit接口
use("kdheepak/lazygit.nvim")
----------------- markdown --------------------
-- markdown preview
-- markdown自动预览
use({
"iamcco/markdown-preview.nvim",
})
-- markdown flow and enhance
-- markdown 流程和增强
use({ "jakewvincent/mkdnflow.nvim" })
-- orgmode support
-- orgmode 支持
use({ "nvim-orgmode/orgmode" })
-- nvim-tree for file manage
-- use({
-- "kyazdani42/nvim-tree.lua",
-- requires = "kyazdani42/nvim-web-devicons",
-- })
use({
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
requires = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
},
})
-- vim dashboard
-- vim 开始界面
-- use({
-- "glepnir/dashboard-nvim",
-- event = "VimEnter",
-- -- config = function()
-- -- require("dashboard").setup({
-- -- -- config
-- -- })
-- -- end,
-- requires = { "nvim-tree/nvim-web-devicons" },
-- })
-- smooth neovim scroll
-- 顺滑的neovim滚动
-- use("karb94/neoscroll.nvim")
-- bufferline on the top
-- 顶部状态栏
use({ "akinsho/bufferline.nvim", tag = "v3.*", requires = "nvim-tree/nvim-web-devicons" })
-- 更方便的切换buffer
-- use({ "matbme/JABS.nvim" })
-- treesitter
use({
"nvim-treesitter/nvim-treesitter",
run = function()
require("nvim-treesitter.install").update({ with_sync = true })
end,
})
--------------------- file related -------------------------------
-- telescope
use({
"nvim-telescope/telescope.nvim",
requires = { { "nvim-lua/plenary.nvim" } },
})
-- telescope-file-browser
use({ "nvim-telescope/telescope-file-browser.nvim" })
-- create new file
-- 快捷创建新文件
use("Mohammed-Taher/AdvancedNewFile.nvim")
-- project
-- 项目管理
use({
"ahmedkhalf/project.nvim",
})
-- whick-key
use({
"folke/which-key.nvim",
})
--------------------- buffer related -----------------
-- indent-blankline
-- 竖向加竖线显示对齐
use({ "lukas-reineke/indent-blankline.nvim" })
-- comment
use({
"numToStr/Comment.nvim",
})
-- hop plugin
-- 快速跳转
use({
"phaazon/hop.nvim",
branch = "v2", -- optional but strongly recommended
})
-- lualine for bottom stausline
-- 底部状态栏
use({
"nvim-lualine/lualine.nvim",
requires = { "nvim-tree/nvim-web-devicons", opt = true },
})
-- notify
-- 弹窗消息通知
use({
"rcarriga/nvim-notify",
})
-- autopairs
-- 自动补全括号
use({
"windwp/nvim-autopairs",
})
-- coderunner
-- 代码运行
use({ "is0n/jaq-nvim" })
-- cmake support
-- cmake 支持
-- use("Civitasv/cmake-tools.nvim")
------------------- lsp --------------------------
-- mason for lsp dap linter and others
use({
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"neovim/nvim-lspconfig",
})
-- coc-nvim complete
-- use({ "neoclide/coc.nvim", branch = "release" })
-- null-ls for formatter and others
-- null-ls 用于格式化和其他
use({
"jose-elias-alvarez/null-ls.nvim",
})
-- -- 补全引擎
use("hrsh7th/nvim-cmp")
-- Snippet 引擎
use({ "L3MON4D3/LuaSnip" })
use("hrsh7th/vim-vsnip")
-- 补全源
use("hrsh7th/cmp-vsnip")
use({ "ray-x/lsp_signature.nvim" })
use({ "saadparwaiz1/cmp_luasnip" })
use("hrsh7th/cmp-nvim-lsp") -- { name = nvim_lsp }
use("hrsh7th/cmp-buffer") -- { name = 'buffer' },
use("hrsh7th/cmp-path") -- { name = 'path' }
use("hrsh7th/cmp-cmdline") -- { name = 'cmdline' }
use("hrsh7th/cmp-nvim-lsp-signature-help") -- { name = 'nvim_lsp_signature_help' }
-- 常见编程语言代码段
use("rafamadriz/friendly-snippets")
-- UI 增强
use("onsails/lspkind-nvim")
-- copilot 增强
use("github/copilot.vim")
------------------- repl ----------------------
use({ "hkupty/iron.nvim" })
------------------- dap -----------------------
-- dap for neovim
-- dap ui和适配器
use({ "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap", "theHamsta/nvim-dap-virtual-text" } })
-- persistent breakpoints
-- 持久化断点
use({ "Weissle/persistent-breakpoints.nvim" })
end)