kickstart.nvim/lua/lazy-config.lua

116 lines
4.7 KiB
Lua

--[[ Configure and install plugins ]]
-- To check the current status of your plugins, run
-- :Lazy
--
-- You can press `?` in this menu for help. Use `:q` to close the window
--
-- To update plugins you can run
-- :Lazy update
--
-- NOTE: Here is where you install your plugins.
require('lazy').setup({
-- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
-- Plugins with default values
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically
'numToStr/Comment.nvim', -- "gc" to comment visual regions/lines
'github/copilot.vim', -- Copilot
-- One liners
-- Highlight todo, notes, etc in comments
{ 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } },
{ 'CRAG666/code_runner.nvim', config = true }, -- Exe3cute code within nvim.
-- Plugins with custom values
require 'plugins_config/which-key', -- Show created key bindings
require 'plugins_config/gitsigns', -- Manage git signs, blame
require 'plugins_config/vim-fugitive', -- Manage git in nvim
require 'plugins_config/telescope', -- Manage searches nicely
require 'plugins_config/worktree', -- Manage worktrees from nvim
require 'plugins_config/lsp', -- Multilanguage lsp config
require 'plugins_config/conform', -- Autoformat files using lsp on save
require 'plugins_config/autocomplete', -- Autocompletion
require 'plugins_config/colortheme', -- Color theme for the editor
require 'plugins_config/mini', -- Collections of useful mini plugins, like around/surround
require 'plugins_config/tree-sitter', -- manage lint, indentation and some othe language related tasks
require 'plugins_config/harpoon', -- Improve workflow for multiple files
-- require 'plugins_config/code_runner', -- Code runner
-- require 'plugins_config/copilot', -- copilot config
-- Broken configs/Testing config
-- keeping comments for annotation
-- NOTE: Plugins can also be added by using a table,
-- with the first argument being the link and the following
-- keys can be used to configure plugin behavior/loading/etc.
--
-- Use `opts = {}` to force a plugin to be loaded.
--
-- This is equivalent to:
-- require('Comment').setup({})
-- "gc" to comment visual regions/lines
-- { 'numToStr/Comment.nvim', opts = {} }, -- optional notation
-- Here is a more advanced example where we pass configuration
-- options to `gitsigns.nvim`. This is equivalent to the following Lua:
-- require('gitsigns').setup({ ... })
--
-- See `:help gitsigns` to understand what the configuration keys do
-- NOTE: Plugins can also be configured to run Lua code when they are loaded.
--
-- This is often very useful to both group configuration, as well as handle
-- lazy loading plugins that don't need to be loaded immediately at startup.
--
-- For example, in the following configuration, we use:
-- event = 'VimEnter'
--
-- which loads which-key before all the UI elements are loaded. Events can be
-- normal autocommands events (`:help autocmd-events`).
--
-- Then, because we use the `config` key, the configuration only runs
-- after the plugin has been loaded:
-- config = function() ... end
-- NOTE: Plugins can specify dependencies.
--
-- The dependencies are proper plugin specifications as well - anything
-- you do for a plugin at the top level, you can do for a dependency.
--
-- Use the `dependencies` key to specify the dependencies of a particular plugin
-- The following two comments only work if you have downloaded the kickstart repo, not just copy pasted the
-- init.lua. If you want these files, they are in the repository, so you can just download them and
-- place them in the correct locations.
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
-- This is the easiest way to modularize your config.
--
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
-- For additional information, see `:help lazy.nvim-lazy.nvim-structuring-your-plugins`
-- { import = 'custom.plugins' },
}, {
ui = {
-- If you are using a Nerd Font: set icons to an empty table which will use the
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
icons = vim.g.have_nerd_font and {} or {
cmd = '',
config = '🛠',
event = '📅',
ft = '📂',
init = '',
keys = '🗝',
plugin = '🔌',
runtime = '💻',
require = '🌙',
source = '📄',
start = '🚀',
task = '📌',
lazy = '💤 ',
},
},
})
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et