local package = require('core.pack').package local conf = require('modules.editor.config') local enable_lsp_filetype = { 'go', 'lua', 'sh', 'rust', 'c', 'cpp', 'zig', 'typescript', 'typescriptreact', 'json', 'python', 'elixir', } package({ 'neovim/nvim-lspconfig', dev = true, ft = enable_lsp_filetype, config = function() require('modules.editor.lspconfig') end, }) package({ 'glepnir/lspsaga.nvim', ft = enable_lsp_filetype, dev = true, config = conf.lspsaga, }) package({ 'L3MON4D3/LuaSnip', event = 'InsertCharPre', config = conf.lua_snip, }) package({ 'windwp/nvim-autopairs', event = 'InsertEnter', config = conf.auto_pairs, }) package({ 'nvim-telescope/telescope.nvim', cmd = 'Telescope', config = conf.telescope, dependencies = { 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope-fzy-native.nvim', 'nvim-telescope/telescope-file-browser.nvim', }, }) package({ 'nvim-treesitter/nvim-treesitter', event = 'BufRead', run = ':TSUpdate', config = conf.nvim_treesitter, dependencies = { 'nvim-treesitter/nvim-treesitter-textobjects', }, }) package({ 'ii14/emmylua-nvim', ft = 'lua', })