require("lazy").setup({ "tpope/vim-fugitive", "tpope/vim-sleuth", { "numToStr/Comment.nvim", opts = {} }, { "lewis6991/gitsigns.nvim", opts = require("plugins.opts.misc").gitsigns, }, { "nvim-lualine/lualine.nvim", opts = require "plugins.opts.lualine", }, { "folke/tokyonight.nvim", lazy = false, priority = 1000, opts = { transparent = true, }, config = function(_, opts) require("tokyonight").setup(opts) vim.cmd.colorscheme "tokyonight-night" end, }, { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", event = { "BufReadPost", "BufNewFile" }, cmd = { "TSInstall", "TSBufEnable", "TSBufDisable", "TSModuleInfo" }, opts = require "plugins.opts.treesitter", config = function(_, opts) require("nvim-treesitter.configs").setup(opts) end, }, { 'VonHeikemen/lsp-zero.nvim', branch = 'v3.x', lazy = true, config = false, init = function() -- Disable automatic setup, we are doing it manually vim.g.lsp_zero_extend_cmp = 0 vim.g.lsp_zero_extend_lspconfig = 0 end, }, { 'hrsh7th/nvim-cmp', event = 'InsertEnter', dependencies = { { 'L3MON4D3/LuaSnip', dependencies = "rafamadriz/friendly-snippets", config = function(_, opts) require("plugins.opts.misc").luasnip(opts) end, }, { "windwp/nvim-autopairs", opts = { fast_wrap = {}, disable_filetype = { "TelescopePrompt", "vim" }, }, config = function(_, opts) require("nvim-autopairs").setup(opts) -- setup cmp for autopairs local cmp_autopairs = require "nvim-autopairs.completion.cmp" require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done()) end, }, -- cmp sources plugins { "saadparwaiz1/cmp_luasnip", "hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", "hrsh7th/cmp-path", }, }, opts = function() return require "plugins.opts.cmp" end, }, { 'neovim/nvim-lspconfig', cmd = 'LspInfo', event = { 'BufReadPre', 'BufNewFile' }, config = function() require "plugins.opts.lspconfig" end, }, })