122 lines
3.4 KiB
Lua
122 lines
3.4 KiB
Lua
local ensure_packer = function()
|
|
local fn = vim.fn
|
|
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
|
if fn.empty(fn.glob(install_path)) > 0 then
|
|
fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
|
vim.cmd [[packadd packer.nvim]]
|
|
return true
|
|
end
|
|
return false
|
|
end
|
|
|
|
local packer_bootstrap = ensure_packer()
|
|
|
|
return require('packer').startup(function()
|
|
-- Packer manages itself
|
|
use 'wbthomason/packer.nvim'
|
|
|
|
-- LSP Magic
|
|
use 'neovim/nvim-lspconfig'
|
|
|
|
-- Inlay type hints, i.e. type hints merged into codelines
|
|
use 'lvimuser/lsp-inlayhints.nvim'
|
|
|
|
-- CMP
|
|
use 'L3MON4D3/LuaSnip'
|
|
use {
|
|
'saadparwaiz1/cmp_luasnip',
|
|
requires = { 'L3MON4D3/LuaSnip' },
|
|
}
|
|
use 'hrsh7th/cmp-nvim-lsp'
|
|
use 'hrsh7th/cmp-buffer'
|
|
use 'hrsh7th/cmp-path'
|
|
use 'hrsh7th/cmp-cmdline'
|
|
use 'hrsh7th/cmp-nvim-lsp-signature-help'
|
|
use {
|
|
'hrsh7th/nvim-cmp',
|
|
requires = { 'saadparwaiz1/cmp_luasnip', 'hrsh7th/cmp-nvim-lsp' },
|
|
}
|
|
|
|
use {
|
|
'nvim-lualine/lualine.nvim',
|
|
requires = { 'kyazdani42/nvim-web-devicons', opt = true },
|
|
}
|
|
|
|
--use 'vim-airline/vim-airline'
|
|
--use 'vim-airline/vim-airline-themes'
|
|
use 'lewis6991/gitsigns.nvim'
|
|
use 'junegunn/fzf.vim'
|
|
use 'udalov/kotlin-vim'
|
|
use 'rust-lang/rust.vim'
|
|
use 'zivyangll/git-blame.vim'
|
|
--use 'arcticicestudio/nord-vim'
|
|
use 'ericvw/nordtheme-vim'
|
|
use 'hashivim/vim-terraform'
|
|
use 'chaoren/vim-wordmotion'
|
|
use 'cappyzawa/starlark.vim'
|
|
use 'editorconfig/editorconfig-vim'
|
|
|
|
use({
|
|
"andythigpen/nvim-coverage",
|
|
requires = "nvim-lua/plenary.nvim",
|
|
})
|
|
use {
|
|
'nvim-treesitter/nvim-treesitter',
|
|
run = ':TSUpdate'
|
|
}
|
|
--use 'muniftanjim/eslint.nvim'
|
|
use 'kyazdani42/nvim-web-devicons'
|
|
use {
|
|
'folke/trouble.nvim',
|
|
requires = 'kyazdani42/nvim-web-devicons',
|
|
config = function()
|
|
require("trouble").setup {
|
|
-- your configuration comes here
|
|
-- or leave it empty to use the default settings
|
|
-- refer to the configuration section below
|
|
}
|
|
end
|
|
}
|
|
use {
|
|
"nvim-neotest/neotest",
|
|
requires = {
|
|
'nvim-lua/plenary.nvim',
|
|
'nvim-treesitter/nvim-treesitter',
|
|
'nvim-neotest/neotest-plenary',
|
|
'antoinemadec/FixCursorHold.nvim',
|
|
'haydenmeade/neotest-jest',
|
|
}
|
|
}
|
|
|
|
use { "nvim-neotest/nvim-nio" }
|
|
use 'mfussenegger/nvim-dap'
|
|
use 'mfussenegger/nvim-jdtls' -- Java
|
|
use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap"} }
|
|
use { "mxsdev/nvim-dap-vscode-js", requires = {"mfussenegger/nvim-dap"} }
|
|
use {
|
|
"microsoft/vscode-js-debug",
|
|
opt = true,
|
|
run = "npm install --legacy-peer-deps && npm run compile"
|
|
}
|
|
use 'theHamsta/nvim-dap-virtual-text'
|
|
|
|
use 'wakatime/vim-wakatime'
|
|
|
|
use {
|
|
"nvimdev/lspsaga.nvim",
|
|
after = 'nvim-lspconfig',
|
|
config = function()
|
|
require('lspsaga').setup({
|
|
lightbulb = {
|
|
sign = false,
|
|
virtual_text = false
|
|
}
|
|
})
|
|
end,
|
|
}
|
|
|
|
if packer_bootstrap then
|
|
require('packer').sync()
|
|
end
|
|
end)
|