272 lines
7.6 KiB
Lua
272 lines
7.6 KiB
Lua
return {
|
|
'williamboman/mason.nvim',
|
|
'williamboman/mason-lspconfig.nvim',
|
|
'neovim/nvim-lspconfig',
|
|
{ 'github/copilot.vim', branch = 'release' },
|
|
'hrsh7th/nvim-cmp',
|
|
'hrsh7th/cmp-nvim-lsp',
|
|
'hrsh7th/cmp-nvim-lua',
|
|
'hrsh7th/cmp-nvim-lsp-signature-help',
|
|
'hrsh7th/cmp-vsnip',
|
|
'hrsh7th/cmp-path',
|
|
'hrsh7th/cmp-buffer',
|
|
'hrsh7th/vim-vsnip',
|
|
{
|
|
'nvim-lualine/lualine.nvim',
|
|
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
|
},
|
|
'nvim-tree/nvim-tree.lua',
|
|
'nvim-tree/nvim-web-devicons',
|
|
'navarasu/onedark.nvim',
|
|
'simrat39/rust-tools.nvim',
|
|
{ "ellisonleao/glow.nvim", config = function() require("glow").setup() end },
|
|
{
|
|
"willothy/nvim-cokeline",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim", -- Required for v0.4.0+
|
|
"kyazdani42/nvim-web-devicons", -- If you want devicons
|
|
"stevearc/resession.nvim" -- Optional, for persistent history
|
|
},
|
|
config = true
|
|
},
|
|
{ 'saadparwaiz1/cmp_luasnip' },
|
|
({
|
|
"L3MON4D3/LuaSnip",
|
|
version = "v2.*",
|
|
run = "make install_jsregexp"
|
|
}),
|
|
{ 'nvim-lua/plenary.nvim' },
|
|
{ 'ThePrimeagen/harpoon' },
|
|
{ 'nvim-telescope/telescope.nvim', config = function() require('telescope').load_extension('aerial') end },
|
|
{
|
|
"ThePrimeagen/refactoring.nvim",
|
|
requires = {
|
|
{ "nvim-lua/plenary.nvim" },
|
|
{ "nvim-treesitter/nvim-treesitter" },
|
|
},
|
|
},
|
|
{ 'junegunn/fzf', run = ":call fzf#install()" },
|
|
{ 'junegunn/fzf.vim' },
|
|
{
|
|
'rmagatti/goto-preview',
|
|
config = function()
|
|
require('goto-preview').setup {}
|
|
end
|
|
},
|
|
{
|
|
"NeogitOrg/neogit",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"nvim-telescope/telescope.nvim",
|
|
"sindrets/diffview.nvim",
|
|
},
|
|
config = true
|
|
},
|
|
{ 'mg979/vim-visual-multi' },
|
|
{ 'rhysd/git-messenger.vim' },
|
|
{ 'sindrets/diffview.nvim' },
|
|
{
|
|
'nvimdev/dashboard-nvim',
|
|
event = 'VimEnter',
|
|
config = function()
|
|
require('dashboard').setup {
|
|
-- config
|
|
}
|
|
end,
|
|
dependencies = { { 'nvim-tree/nvim-web-devicons' } }
|
|
},
|
|
{'kevinhwang91/nvim-ufo',
|
|
dependencies = 'kevinhwang91/promise-async',
|
|
config = function()
|
|
require('ufo').setup({
|
|
provider_selector = function(bufnr, filetype, buftype)
|
|
return {'treesitter', 'indent'}
|
|
end
|
|
})
|
|
end
|
|
},
|
|
{
|
|
'stevearc/oil.nvim',
|
|
opts = {},
|
|
-- Optional dependencies
|
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
|
},
|
|
{
|
|
'stevearc/aerial.nvim',
|
|
opts = {},
|
|
dependencies = {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
"nvim-tree/nvim-web-devicons"
|
|
},
|
|
},
|
|
{
|
|
"rest-nvim/rest.nvim",
|
|
dependencies = { { "nvim-lua/plenary.nvim" } },
|
|
config = function()
|
|
require("rest-nvim").setup({
|
|
-- Open request results in a horizontal split
|
|
result_split_horizontal = false,
|
|
-- Keep the http file buffer above|left when split horizontal|vertical
|
|
result_split_in_place = false,
|
|
-- Skip SSL verification, useful for unknown certificates
|
|
skip_ssl_verification = false,
|
|
-- Encode URL before making request
|
|
encode_url = true,
|
|
-- Highlight request on run
|
|
highlight = {
|
|
enabled = true,
|
|
timeout = 150,
|
|
},
|
|
result = {
|
|
-- toggle showing URL, HTTP info, headers at top the of result window
|
|
show_url = true,
|
|
-- show the generated curl command in case you want to launch
|
|
-- the same request via the terminal (can be verbose)
|
|
show_curl_command = false,
|
|
show_http_info = true,
|
|
show_headers = true,
|
|
-- executables or functions for formatting response body [optional]
|
|
-- set them to false if you want to disable them
|
|
formatters = {
|
|
json = "jq",
|
|
html = function(body)
|
|
return vim.fn.system({ "tidy", "-i", "-q", "-" }, body)
|
|
end
|
|
},
|
|
},
|
|
-- Jump to request line on run
|
|
jump_to_request = false,
|
|
env_file = '.env',
|
|
custom_dynamic_variables = {},
|
|
yank_dry_run = true,
|
|
})
|
|
end
|
|
},
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
build = ":TSUpdate",
|
|
config = function()
|
|
local configs = require("nvim-treesitter.configs")
|
|
|
|
configs.setup({
|
|
ensure_installed = { "c", "cpp", "lua", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html", "http", "json" },
|
|
sync_install = false,
|
|
highlight = { enable = true },
|
|
indent = { enable = true },
|
|
})
|
|
end
|
|
},
|
|
{
|
|
"folke/todo-comments.nvim",
|
|
dependencies = { "nvim-lua/plenary.nvim" },
|
|
opts = {
|
|
-- your configuration comes here
|
|
-- or leave it empty to use the default settings
|
|
-- refer to the configuration section below
|
|
}
|
|
},
|
|
{
|
|
"folke/trouble.nvim",
|
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
|
opts = {
|
|
-- your configuration comes here
|
|
-- or leave it empty to use the default settings
|
|
-- refer to the configuration section below
|
|
},
|
|
},
|
|
{
|
|
'numToStr/Comment.nvim',
|
|
opts = {
|
|
-- add any options here
|
|
},
|
|
lazy = false,
|
|
},
|
|
'jiangmiao/auto-pairs',
|
|
{ 'luochen1990/rainbow' },
|
|
{ "lukas-reineke/indent-blankline.nvim", main = "ibl", opts = {} },
|
|
'tpope/vim-surround',
|
|
'tpope/vim-sleuth',
|
|
'nmac427/guess-indent.nvim',
|
|
{
|
|
"SmiteshP/nvim-navic",
|
|
dependencies = { "neovim/nvim-lspconfig" },
|
|
},
|
|
{
|
|
"folke/which-key.nvim",
|
|
event = "VeryLazy",
|
|
init = function()
|
|
vim.o.timeout = true
|
|
vim.o.timeoutlen = 300
|
|
end,
|
|
opts = {
|
|
-- your configuration comes here
|
|
-- or leave it empty to use the default settings
|
|
-- refer to the configuration section below
|
|
}
|
|
},
|
|
'folke/neodev.nvim',
|
|
{ 'vladdoster/remember.nvim', config = [[ require('remember') ]] },
|
|
{
|
|
-- Adds git related signs to the gutter, as well as utilities for managing changes
|
|
'lewis6991/gitsigns.nvim',
|
|
opts = {
|
|
-- See `:help gitsigns.txt`
|
|
signs = {
|
|
add = { text = '+' },
|
|
change = { text = '~' },
|
|
delete = { text = '_' },
|
|
topdelete = { text = '‾' },
|
|
changedelete = { text = '~' },
|
|
},
|
|
on_attach = function(bufnr)
|
|
vim.keymap.set('n', '<leader>hp', require('gitsigns').preview_hunk, { buffer = bufnr, desc = 'Preview git hunk' })
|
|
|
|
-- don't override the built-in and fugitive keymaps
|
|
local gs = package.loaded.gitsigns
|
|
vim.keymap.set({ 'n', 'v' }, ']c', function()
|
|
if vim.wo.diff then
|
|
return ']c'
|
|
end
|
|
vim.schedule(function()
|
|
gs.next_hunk()
|
|
end)
|
|
return '<Ignore>'
|
|
end, { expr = true, buffer = bufnr, desc = 'Jump to next hunk' })
|
|
vim.keymap.set({ 'n', 'v' }, '[c', function()
|
|
if vim.wo.diff then
|
|
return '[c'
|
|
end
|
|
vim.schedule(function()
|
|
gs.prev_hunk()
|
|
end)
|
|
return '<Ignore>'
|
|
end, { expr = true, buffer = bufnr, desc = 'Jump to previous hunk' })
|
|
end,
|
|
},
|
|
},
|
|
{
|
|
"ahmedkhalf/project.nvim",
|
|
config = function()
|
|
require("project_nvim").setup {
|
|
-- your configuration comes here
|
|
-- or leave it empty to use the default settings
|
|
-- refer to the configuration section below
|
|
}
|
|
end
|
|
},
|
|
{
|
|
'stevearc/conform.nvim',
|
|
opts = {},
|
|
},
|
|
{
|
|
'rmagatti/auto-session',
|
|
config = function()
|
|
require("auto-session").setup {
|
|
log_level = "error",
|
|
auto_session_suppress_dirs = { "~/", "~/Projects", "~/Downloads", "/" },
|
|
}
|
|
end
|
|
},
|
|
{ 'akinsho/toggleterm.nvim', version = "*", config = true }
|
|
}
|