kickstart.nvim/lua/setup/lazy.lua

104 lines
2.6 KiB
Lua

-- [[ Install lazy.nvim ]]
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath }
if vim.v.shell_error ~= 0 then
error('Error cloning lazy.nvim:\n' .. out)
end
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
-- Git related plugins
{
'sindrets/diffview.nvim',
cmd = { 'DiffviewOpen', 'DiffviewFileHistory', 'DiffviewClose' },
keys = {
{ '<leader>gv', '<cmd>DiffviewOpen<CR>', desc = '[G]it Diff[V]iew' },
{ '<leader>gh', '<cmd>DiffviewFileHistory %<CR>', desc = '[G]it File [H]istory' },
},
},
-- Detect tabstop and shiftwidth automatically
'tpope/vim-sleuth',
-- Completion
{ import = 'plugins.blink' },
{ import = 'plugins.autopairs' },
-- LSP
{ import = 'plugins.lsp' },
{ import = 'plugins.mason' },
-- Treesitter
{ import = 'plugins.treesitter' },
-- Formatting & Linting
{ import = 'plugins.conform' },
{ import = 'plugins.lint' },
-- UI
{ import = 'plugins.colorscheme' },
{ import = 'plugins.lualine' },
{ import = 'plugins.snacks' },
{ import = 'plugins.noice' },
{ import = 'plugins.neo-tree' },
{ import = 'plugins.which-key' },
{ import = 'plugins.indent_line' },
{ import = 'plugins.render-markdown' },
{ import = 'plugins.highlight-colors' },
{ import = 'plugins.todo-comments' },
{ import = 'plugins.log-highlight' },
-- Navigation
{ import = 'plugins.telescope-fuzzy-finder' },
{ import = 'plugins.smart-splits' },
{ import = 'plugins.treesj' },
-- Git
{ import = 'plugins.fugitive' },
{ import = 'plugins.gitsigns' },
-- Editing
{ import = 'plugins.surround' },
-- { import = 'plugins.mini-nvim' }, -- replaced by individual mini.ai below
{ import = 'plugins.mini-ai' },
-- Terminal
{ import = 'plugins.toggleterm' },
-- AI
{ import = 'plugins.copilot' },
{ import = 'plugins.copilot-chat' },
{ import = 'plugins.codecompanion' },
-- Debugging
{ import = 'plugins.debug' },
-- Language specific
{ import = 'plugins.cmake-tools' },
{ import = 'plugins.unreal' },
-- Misc
{ import = 'plugins.lazy-dev' },
}, {
ui = {
icons = vim.g.have_nerd_font and {} or {
cmd = '',
config = '🛠',
event = '📅',
ft = '📂',
init = '',
keys = '🗝',
plugin = '🔌',
runtime = '💻',
require = '🌙',
source = '📄',
start = '🚀',
task = '📌',
lazy = '💤 ',
},
},
})