-- Plugins in this file -- Git Blame Plugin -- File Explorer -- GitHub Copilot Chat return { -- Git Blame Plugin { 'f-person/git-blame.nvim', -- load the plugin at startup event = 'VeryLazy', -- Because of the keys part, you will be lazy loading this plugin. -- The plugin will only load once one of the keys is used. -- If you want to load the plugin at startup, add something like event = "VeryLazy", -- or lazy = false. One of both options will work. opts = { -- your configuration comes here -- for example enabled = true, -- if you want to enable the plugin message_template = ' ', -- template for the blame message, check the Message template section for more options date_format = '%Y-%m-%d %H:%M', -- template for the date, check Date format section for more options virtual_text_column = 1, -- virtual text start column, check Start virtual text at column section for more options }, }, -- File Explorer { 'stevearc/oil.nvim', ---@module 'oil' ---@type oil.SetupOpts opts = { default_file_explorer = true, view_options = { show_hidden = true, }, }, -- Optional dependencies dependencies = { { 'echasnovski/mini.icons', opts = {} } }, -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons -- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations. lazy = false, }, -- GitHub Copilot Chat { 'CopilotC-Nvim/CopilotChat.nvim', dependencies = { { 'github/copilot.vim' }, -- or zbirenbaum/copilot.lua { 'nvim-lua/plenary.nvim', branch = 'master' }, -- for curl, log and async functions }, build = 'make tiktoken', -- Only on MacOS or Linux opts = { -- See Configuration section for options }, -- See Commands section for default commands if you want to lazy load on them }, { 'yetone/avante.nvim', -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` -- ⚠️ must add this setting! ! ! build = function() -- conditionally use the correct build system for the current OS if vim.fn.has 'win32' == 1 then return 'powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false' else return 'make' end end, event = 'VeryLazy', version = false, -- Never set this value to "*"! Never! ---@module 'avante' ---@type avante.Config opts = { -- add any opts here -- for exampleprovider = "ollama", providers = { ollama = { endpoint = 'http://127.0.0.1:11434', -- Note that there is no /v1 at the end. model = 'llama3.2:3b', }, }, }, dependencies = { 'nvim-lua/plenary.nvim', 'MunifTanjim/nui.nvim', --- The below dependencies are optional, 'echasnovski/mini.pick', -- for file_selector provider mini.pick 'nvim-telescope/telescope.nvim', -- for file_selector provider telescope 'hrsh7th/nvim-cmp', -- autocompletion for avante commands and mentions 'ibhagwan/fzf-lua', -- for file_selector provider fzf 'stevearc/dressing.nvim', -- for input provider dressing 'folke/snacks.nvim', -- for input provider snacks 'nvim-tree/nvim-web-devicons', -- or echasnovski/mini.icons 'zbirenbaum/copilot.lua', -- for providers='copilot' { -- support for image pasting 'HakonHarnes/img-clip.nvim', event = 'VeryLazy', opts = { -- recommended settings default = { embed_image_as_base64 = false, prompt_for_file_name = false, drag_and_drop = { insert_mode = true, }, -- required for Windows users use_absolute_path = true, }, }, }, { -- Make sure to set this up properly if you have lazy=true 'MeanderingProgrammer/render-markdown.nvim', opts = { file_types = { 'markdown', 'Avante' }, }, ft = { 'markdown', 'Avante' }, }, }, }, }