local plugins = { { 'nvim-treesitter/nvim-treesitter', config = function() require 'nvim-treesitter.configs'.setup { -- Automatically install missing parsers when entering buffer -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally auto_install = true, highlight = { enable = true, }, } end, }, { "williamboman/mason-lspconfig.nvim", dependencies = { "williamboman/mason.nvim" }, config = function() require("mason").setup() require("mason-lspconfig").setup() end }, { "neovim/nvim-lspconfig", config = function() require("configs.lspconfig") end }, { "catppuccin/nvim", name = "catppuccin", priority = 1000, config = function() require("catppuccin").setup({ background = { -- :h background light = "latte", dark = "mocha", }, styles = { -- Handles the styles of general hi groups (see `:h highlight-args`): comments = {}, -- Change the style of comments conditionals = { "italic" }, loops = {}, functions = {}, keywords = { "italic" }, strings = {}, variables = {}, numbers = {}, booleans = {}, properties = { "italic" }, types = { "bold" }, operators = {}, }, color_overrides = { mocha = { base = "#000000", mantle = "#000000", crust = "#000000", }, }, custom_highlights = {}, integrations = { cmp = true, gitsigns = true, nvimtree = true, treesitter = true, mini = true, mason = true, telescope = { enabled = true, style = "nvchad" }, dap = { enabled = true, enable_ui = true, -- enable nvim-dap-ui }, native_lsp = { enabled = true, virtual_text = { errors = { "italic" }, hints = { "italic" }, warnings = { "italic" }, information = { "italic" }, }, underlines = { errors = { "underline" }, hints = { "underline" }, warnings = { "underline" }, information = { "underline" }, }, inlay_hints = { background = true, }, }, }, }) end, }, -- { -- "Shatur/neovim-ayu", -- config = function() -- require('ayu').setup({ -- options = { -- theme = 'ayu', -- }, -- }) -- end, -- }, -- Install without configuration { "folke/which-key.nvim", event = "VeryLazy", init = function() vim.o.timeout = true vim.o.timeoutlen = 300 end, opts = { -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below } }, { "hrsh7th/nvim-cmp", event = "InsertEnter", dependencies = { -- cmp sources plugins { "hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-path", }, }, opts = function() return require "configs.cmp" end, config = function(_, opts) require("cmp").setup(opts) end, }, { "zbirenbaum/copilot.lua", cmd = { "Copilot", "StartCopilot" }, opts = { suggestion = { auto_trigger = true, } }, config = function() require("copilot").setup() vim.cmd("command! StartCopilot Copilot suggestion") end, }, { 'nvim-lualine/lualine.nvim', dependencies = { 'nvim-tree/nvim-web-devicons', 'arkav/lualine-lsp-progress', }, config = function() require('lualine').setup(require("configs.lualine")) end }, { 'akinsho/bufferline.nvim', version = "*", dependencies = { 'nvim-tree/nvim-web-devicons', 'catppuccin/nvim' }, config = function() require("bufferline").setup { highlights = require("catppuccin.groups.integrations.bufferline").get() } end }, { 'numToStr/Comment.nvim', lazy = false, config = function() require("Comment").setup() end, }, { 'Wansmer/treesj', keys = { 'm', 'j', 's' }, dependencies = { 'nvim-treesitter/nvim-treesitter' }, config = function() require('treesj').setup({ use_default_keymaps = false, }) end, }, { "rmagatti/auto-session", config = function() require("auto-session").setup() end, }, { "ethanholz/nvim-lastplace", config = function() require("nvim-lastplace").setup() end, }, { 'nvim-telescope/telescope.nvim', dependencies = { 'nvim-lua/plenary.nvim' }, }, { 'echasnovski/mini.files', version = false, config = function() require('mini.files').setup() end, }, { "folke/trouble.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, opts = { }, }, { "lewis6991/gitsigns.nvim", config = function() require('gitsigns').setup() end, }, } return plugins