99 lines
2.8 KiB
Lua
99 lines
2.8 KiB
Lua
require('plugins.packer_setup')
|
|
|
|
require('packer').startup(function()
|
|
-- Packer can manage itself as an optional plugin
|
|
use { 'wbthomason/packer.nvim', opt = true }
|
|
|
|
-- Fuzzy finder
|
|
use {
|
|
'nvim-telescope/telescope.nvim',
|
|
requires = {
|
|
{ 'nvim-lua/popup.nvim' },
|
|
{ 'nvim-lua/plenary.nvim' },
|
|
}
|
|
}
|
|
|
|
-- Autocomplete and snippets
|
|
use {
|
|
'hrsh7th/nvim-cmp',
|
|
requires = {
|
|
{ 'hrsh7th/cmp-nvim-lsp' },
|
|
{ 'hrsh7th/cmp-buffer' },
|
|
{ 'hrsh7th/cmp-path' },
|
|
{ 'hrsh7th/cmp-cmdline' },
|
|
}
|
|
}
|
|
use { 'L3MON4D3/LuaSnip',
|
|
config = function()
|
|
local snippet_path = os.getenv("HOME") .. "/.config/nvim/snippets/"
|
|
if not vim.tbl_contains(vim.opt.rtp:get(), snippet_path) then
|
|
vim.opt.rtp:append(snippet_path)
|
|
end
|
|
|
|
require("luasnip").config.set_config({
|
|
history = true,
|
|
updateevents = "TextChanged,TextChangedI",
|
|
delete_check_events = "TextChanged,InsertLeave",
|
|
})
|
|
require("luasnip.loaders.from_lua").lazy_load()
|
|
require("luasnip.loaders.from_vscode").lazy_load()
|
|
require("luasnip.loaders.from_snipmate").lazy_load()
|
|
end,
|
|
requires = {
|
|
{ "rafamadriz/friendly-snippets" },
|
|
{ 'saadparwaiz1/cmp_luasnip' },
|
|
{ "benfowler/telescope-luasnip.nvim" },
|
|
},
|
|
}
|
|
|
|
-- Statusbar, colors and syntax
|
|
use { 'vim-airline/vim-airline' }
|
|
use { 'vim-airline/vim-airline-themes' }
|
|
|
|
-- LSP and related
|
|
use { 'neovim/nvim-lspconfig' }
|
|
use { 'aznhe21/actions-preview.nvim',
|
|
config = function()
|
|
vim.keymap.set("n", "<space>ca", require("actions-preview").code_actions)
|
|
end,
|
|
}
|
|
use { 'folke/trouble.nvim' } -- lsp diagnostics
|
|
|
|
-- Plugins to extend builtin language support
|
|
use { 'cespare/vim-toml' }
|
|
use { 'gleam-lang/gleam.vim' }
|
|
use { 'rust-lang/rust.vim' }
|
|
use { 'folke/neodev.nvim' }
|
|
|
|
-- Git
|
|
use {
|
|
'NeogitOrg/neogit',
|
|
requires = {
|
|
{ "nvim-lua/plenary.nvim" },
|
|
{ "sindrets/diffview.nvim" },
|
|
},
|
|
}
|
|
use { "lewis6991/gitsigns.nvim" }
|
|
|
|
-- Filesystem browser
|
|
use { 'stevearc/oil.nvim' }
|
|
|
|
-- Misc
|
|
use { 'jbyuki/venn.nvim' } -- ascii diagrams
|
|
use { 'hashivim/vim-terraform' }
|
|
use {
|
|
'akinsho/flutter-tools.nvim',
|
|
requires = {
|
|
'nvim-lua/plenary.nvim',
|
|
'stevearc/dressing.nvim', -- optional for vim.ui.select
|
|
},
|
|
}
|
|
end)
|
|
|
|
require('plugins.cmp')
|
|
require('plugins.gitsigns')
|
|
require('plugins.neogit')
|
|
require('plugins.oil')
|
|
require('plugins.telescope')
|
|
require('plugins.venn')
|
|
require("plugins.flutter")
|