2023-09-26 02:15:22 +02:00
require ( ' plugins.packer_setup ' )
2023-09-26 01:51:50 +02:00
require ( ' packer ' ) . startup ( function ( )
2024-03-20 12:49:43 +01:00
-- Packer can manage itself as an optional plugin
use { ' wbthomason/packer.nvim ' , opt = true }
2023-09-26 01:51:50 +02:00
2024-03-20 12:49:43 +01:00
-- Fuzzy finder
use {
' nvim-telescope/telescope.nvim ' ,
requires = {
{ ' nvim-lua/popup.nvim ' } ,
{ ' nvim-lua/plenary.nvim ' } ,
}
}
2023-09-26 01:51:50 +02:00
2024-03-20 12:49:43 +01:00
-- 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
2023-09-26 01:51:50 +02:00
2024-03-20 12:49:43 +01:00
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 " } ,
} ,
}
2024-03-20 02:19:14 +01:00
2024-03-20 12:49:43 +01:00
-- Statusbar, colors and syntax
use { ' vim-airline/vim-airline ' }
use { ' vim-airline/vim-airline-themes ' }
2023-09-26 01:51:50 +02:00
2024-03-20 12:49:43 +01:00
-- 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
2023-09-26 01:51:50 +02:00
2024-03-20 12:49:43 +01:00
-- Plugins to extend builtin language support
use { ' cespare/vim-toml ' }
use { ' gleam-lang/gleam.vim ' }
use { ' rust-lang/rust.vim ' }
use { ' folke/neodev.nvim ' }
2023-09-26 01:51:50 +02:00
2024-03-20 12:49:43 +01:00
-- Git
use {
' NeogitOrg/neogit ' ,
requires = {
{ " nvim-lua/plenary.nvim " } ,
{ " sindrets/diffview.nvim " } ,
} ,
}
use { " lewis6991/gitsigns.nvim " }
2023-09-26 01:51:50 +02:00
2024-03-20 12:49:43 +01:00
-- Filesystem browser
use { ' stevearc/oil.nvim ' }
2023-09-26 02:15:22 +02:00
2024-03-20 12:49:43 +01:00
-- Misc
use { ' jbyuki/venn.nvim ' } -- ascii diagrams
use { ' hashivim/vim-terraform ' }
2024-07-22 09:08:34 +02:00
-- intellij idea to nvim o_O
use { ' Shougo/deoplete.nvim ' }
use { ' beeender/Comrade ' }
2023-09-26 01:51:50 +02:00
end )
require ( ' plugins.cmp ' )
2024-01-03 02:10:43 +01:00
require ( ' plugins.gitsigns ' )
2024-01-03 01:24:21 +01:00
require ( ' plugins.neogit ' )
require ( ' plugins.oil ' )
2023-09-26 01:51:50 +02:00
require ( ' plugins.telescope ' )
2024-01-03 01:24:21 +01:00
require ( ' plugins.venn ' )