nvim/lua/qvim/plugins.lua

265 lines
6 KiB
Lua

return {
-- Theming
"ellisonleao/gruvbox.nvim",
'nvim-telescope/telescope.nvim',
tag = '0.1.8',
dependencies = { 'nvim-lua/plenary.nvim' },
{
"nvim-treesitter/nvim-treesitter",
-- build = function()
-- require("nvim-treesitter.install").update({ with_sync = true })()
-- end,
},
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
},
"mbbill/undotree",
"christoomey/vim-tmux-navigator",
'ivanesmantovich/xkbswitch.nvim',
-- {
-- "kylechui/nvim-surround",
-- version = "*",
-- config = function()
-- require("nvim-surround").setup({})
-- end,
-- },
{
'echasnovski/mini.nvim',
version = false,
config = function()
require("mini.surround").setup()
end
},
{
"numToStr/Comment.nvim",
config = true
},
-- {
-- "nvim-tree/nvim-tree.lua",
-- dependencies = {
-- { "nvim-tree/nvim-web-devicons" },
-- },
-- },
{
"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
}
},
{
's1n7ax/nvim-window-picker',
name = 'window-picker',
event = 'VeryLazy',
version = '2.*',
config = true
},
-- {
-- "nvim-lualine/lualine.nvim",
-- dependencies = { "nvim-tree/nvim-web-devicons", lazy = true },
-- },
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
---@module "ibl"
---@type ibl.config
opts = {
scope = {
enabled = true,
show_start = false,
show_end = false,
injected_languages = false,
highlight = { "Function", "Label" },
priority = 500,
}
},
},
{
"rcarriga/nvim-notify",
config = function()
require("notify").setup({
background_colour = "#000000",
})
vim.notify = require('notify')
end
},
{
"folke/which-key.nvim",
config = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
require("which-key").setup({})
end,
},
"jiangmiao/auto-pairs",
"williamboman/mason.nvim",
-- lsp/format
{
"VonHeikemen/lsp-zero.nvim",
branch = "v3.x",
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"neovim/nvim-lspconfig",
"hrsh7th/nvim-cmp",
"hrsh7th/cmp-nvim-lsp",
"L3MON4D3/LuaSnip",
"ray-x/lsp_signature.nvim",
},
},
"onsails/lspkind.nvim",
{
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
config = {
suggestion = { enabled = false },
panel = { enabled = false },
}
},
{
"zbirenbaum/copilot-cmp",
config = function()
require("copilot_cmp").setup()
end,
},
{ "rcarriga/nvim-dap-ui", dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" } },
{ "mfussenegger/nvim-dap-python", dependencies = { "mfussenegger/nvim-dap" } },
{
"stevearc/conform.nvim",
event = { "BufWritePre" },
cmd = { "ConformInfo" },
},
-- Git
"tpope/vim-fugitive",
"lewis6991/gitsigns.nvim",
{
"NeogitOrg/neogit",
dependencies = {
"nvim-lua/plenary.nvim",
"sindrets/diffview.nvim",
"nvim-telescope/telescope.nvim",
},
config = true
},
-- Go
'ray-x/go.nvim',
'ray-x/guihua.lua',
-- note-taking
{
"vimwiki/vimwiki",
init = function()
vim.g.vimwiki_list = {
{
path = "~/documents/wiki",
auto_tags = 1,
auto_diary_index = 1,
syntax = 'markdown',
ext = '.md',
diary_rel_path = 'diary',
links_space_char = "_",
},
}
vim.g.vimwiki_markdown_link_ext = 1
vim.g.vimwiki_stripsym = ' '
vim.g.vimwiki_global_ext = 0
vim.g.vimwiki_auto_header = 1
vim.g.vimwiki_syntax_plugins = {
codeblock = {
["```lua"] = { parser = "lua" },
["```python"] = { parser = "python" },
["```javascript"] = { parser = "javascript" },
["```bash"] = { parser = "bash" },
["```html"] = { parser = "html" },
["```css"] = { parser = "css" },
["```c"] = { parser = "c" },
},
}
end
},
{
'MeanderingProgrammer/render-markdown.nvim',
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
---@module 'render-markdown'
---@type render.md.UserConfig
opts = {
filetypes = { 'markdown', 'vimwiki' },
},
},
{ 'glacambre/firenvim', build = ":call firenvim#install(0)" },
-- html
"windwp/nvim-ts-autotag",
{
"lervag/vimtex",
lazy = false, -- we don't want to lazy load VimTeX
-- tag = "v2.15", -- uncomment to pin to a specific release
init = function()
-- VimTeX configuration goes here, e.g.
vim.g.vimtex_view_method = "zathura"
vim.g.vimtex_compiler_method = "latexmk"
vim.g.vimtex_compiler_latexmk_engine = "xelatex"
end
},
"shortcuts/no-neck-pain.nvim",
{
"MysticalDevil/inlay-hints.nvim",
event = "LspAttach",
dependencies = { "neovim/nvim-lspconfig" },
config = function()
require("inlay-hints").setup()
end
},
{
'stevearc/oil.nvim',
---@module 'oil'
---@type oil.SetupOpts
opts = {},
config = function()
require('oil').setup()
vim.keymap.set("n", "<F6>", "<CMD>Oil<CR>", { desc = "Open parent directory" })
end,
-- Optional dependencies
dependencies = { { "echasnovski/mini.icons", opts = {} } },
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if prefer nvim-web-devicons
}
}