You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
241 lines
5.6 KiB
Lua
241 lines
5.6 KiB
Lua
2 years ago
|
-- Install lazy if it's not yet installed
|
||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||
|
if not vim.loop.fs_stat(lazypath) then
|
||
2 years ago
|
vim.fn.system({
|
||
|
"git",
|
||
|
"clone",
|
||
|
"--filter=blob:none",
|
||
|
"https://github.com/folke/lazy.nvim.git",
|
||
|
"--branch=stable", -- latest stable release
|
||
|
lazypath,
|
||
|
})
|
||
3 years ago
|
end
|
||
2 years ago
|
vim.opt.rtp:prepend(lazypath)
|
||
3 years ago
|
|
||
2 years ago
|
-- Configure lazy
|
||
|
local plugins = {
|
||
2 years ago
|
-- Colorscheme
|
||
|
{
|
||
|
"rebelot/kanagawa.nvim",
|
||
11 months ago
|
config = require("plugins.colorscheme"),
|
||
2 years ago
|
},
|
||
|
|
||
11 months ago
|
-- Replace much of neovim's default UI
|
||
|
-- with a modern replacement
|
||
2 years ago
|
{
|
||
11 months ago
|
"folke/noice.nvim",
|
||
|
event = "VeryLazy",
|
||
|
dependencies = { "MunifTanjim/nui.nvim", "rcarriga/nvim-notify" },
|
||
|
opts = require("plugins.noice"),
|
||
2 years ago
|
},
|
||
|
|
||
11 months ago
|
-- Statusline
|
||
2 years ago
|
{
|
||
11 months ago
|
"nvim-lualine/lualine.nvim",
|
||
|
dependencies = { "kyazdani42/nvim-web-devicons" },
|
||
|
config = require("plugins.lualine"),
|
||
2 years ago
|
},
|
||
|
|
||
|
-- Tabline/bufferline
|
||
11 months ago
|
{ "akinsho/bufferline.nvim", version = "v3.*", dependencies = { "kyazdani42/nvim-web-devicons" }, config = true },
|
||
|
|
||
|
-- Git status in signcolumn
|
||
|
{ "lewis6991/gitsigns.nvim", config = true },
|
||
2 years ago
|
|
||
|
-- Git commands
|
||
|
"tpope/vim-fugitive",
|
||
|
|
||
|
-- Indent characters
|
||
11 months ago
|
{ "lukas-reineke/indent-blankline.nvim", config = require("plugins.indent-blankline") },
|
||
2 years ago
|
|
||
|
-- Tree explorer
|
||
|
{
|
||
|
"kyazdani42/nvim-tree.lua",
|
||
|
dependencies = { "kyazdani42/nvim-web-devicons" },
|
||
|
config = require("plugins.nvim-tree"),
|
||
|
},
|
||
|
|
||
|
-- Telescope
|
||
|
{
|
||
|
"nvim-telescope/telescope.nvim",
|
||
|
config = require("plugins.telescope"),
|
||
|
dependencies = {
|
||
11 months ago
|
-- Internal dependency for telescope
|
||
|
"nvim-lua/plenary.nvim",
|
||
|
|
||
2 years ago
|
-- Use fzf for fuzzy finder
|
||
|
{
|
||
|
"nvim-telescope/telescope-fzf-native.nvim",
|
||
|
build = "make",
|
||
|
},
|
||
11 months ago
|
-- Replace vim built in select with telescope
|
||
|
"nvim-telescope/telescope-ui-select.nvim",
|
||
|
|
||
|
-- cd plugin for telescope
|
||
|
"zane-/cder.nvim",
|
||
2 years ago
|
},
|
||
|
},
|
||
|
|
||
|
-- Do stuff as sudo
|
||
|
"lambdalisue/suda.vim",
|
||
|
|
||
|
-- Display possible keybinds
|
||
1 year ago
|
{ "folke/which-key.nvim", config = require("plugins.which-key") },
|
||
2 years ago
|
|
||
|
-- Package manager for LSP servers, DAP adapters etc.
|
||
2 years ago
|
{
|
||
2 years ago
|
"williamboman/mason.nvim",
|
||
11 months ago
|
config = require("plugins.lsp").setup,
|
||
2 years ago
|
dependencies = {
|
||
|
"neovim/nvim-lspconfig",
|
||
|
"williamboman/mason-lspconfig.nvim",
|
||
|
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||
|
},
|
||
2 years ago
|
},
|
||
|
|
||
2 years ago
|
-- Additional LSP features for Java
|
||
|
"mfussenegger/nvim-jdtls",
|
||
|
|
||
11 months ago
|
-- Show code LSP context in winbar
|
||
|
{ "SmiteshP/nvim-navic", config = true, opts = { mouse = true } },
|
||
|
|
||
2 years ago
|
-- DAP plugin
|
||
|
{ "mfussenegger/nvim-dap", config = require("plugins.dap") },
|
||
|
|
||
|
-- Snippets plugin
|
||
|
{
|
||
|
"L3MON4D3/LuaSnip",
|
||
|
dependencies = { "rafamadriz/friendly-snippets" }, -- Snippets collection
|
||
|
config = require("plugins.luasnip"),
|
||
|
},
|
||
|
|
||
|
-- vim api documentation for lua lsp
|
||
|
"ii14/emmylua-nvim",
|
||
|
|
||
|
-- Completion
|
||
|
{
|
||
|
"hrsh7th/nvim-cmp",
|
||
|
dependencies = {
|
||
|
"hrsh7th/cmp-buffer", -- Buffer source
|
||
|
{ "petertriho/cmp-git", dependencies = { "nvim-lua/plenary.nvim" } }, -- Git source
|
||
|
"hrsh7th/cmp-nvim-lsp", -- LSP source
|
||
|
"hrsh7th/cmp-nvim-lua", -- Neovim Lua API documentation source
|
||
|
"hrsh7th/cmp-path", -- Path source
|
||
|
"hrsh7th/cmp-cmdline", -- cmdline source
|
||
|
"saadparwaiz1/cmp_luasnip", -- Snippets source
|
||
|
"f3fora/cmp-spell", -- Spell check source
|
||
1 year ago
|
"zbirenbaum/copilot-cmp", -- Copilot source
|
||
2 years ago
|
},
|
||
|
config = require("plugins.cmp"),
|
||
|
},
|
||
|
|
||
|
-- Automatic brackets
|
||
|
{
|
||
|
"windwp/nvim-autopairs",
|
||
|
config = true,
|
||
|
},
|
||
|
|
||
|
-- treesitter
|
||
|
{
|
||
|
"nvim-treesitter/nvim-treesitter",
|
||
|
build = function()
|
||
|
require("nvim-treesitter.install").update({ with_sync = true })
|
||
|
end,
|
||
|
config = require("plugins.treesitter"),
|
||
|
},
|
||
|
|
||
|
-- treesitter plugin for commentstring
|
||
|
"JoosepAlviste/nvim-ts-context-commentstring",
|
||
|
|
||
|
-- mappings for commenting in code
|
||
|
"tpope/vim-commentary",
|
||
|
|
||
|
-- we all know this one
|
||
|
"tpope/vim-surround",
|
||
|
|
||
|
-- Formatter plugin
|
||
|
"sbdchd/neoformat",
|
||
|
|
||
|
-- Make editing passwords safer
|
||
|
{
|
||
|
"https://git.zx2c4.com/password-store",
|
||
|
config = function(plugin)
|
||
|
vim.opt.rtp:append(plugin.dir .. "contrib/vim/redact_pass.vim")
|
||
|
end,
|
||
|
},
|
||
|
|
||
|
-- Neovim inside Firefox
|
||
|
{
|
||
|
"glacambre/firenvim",
|
||
|
build = function()
|
||
|
vim.fn["firenvim#install"](0)
|
||
|
end,
|
||
11 months ago
|
config = function()
|
||
|
vim.g.firenvim_config = {
|
||
|
localSettings = {
|
||
|
[".*"] = {
|
||
|
takeOver = "never",
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
end,
|
||
2 years ago
|
},
|
||
|
|
||
11 months ago
|
-- Vim ♥️ Asciidoctor
|
||
2 years ago
|
"habamax/vim-asciidoctor",
|
||
|
|
||
|
-- Asciidoc preview
|
||
|
{ "tigion/nvim-asciidoc-preview", ft = { "asciidoctor" } },
|
||
|
|
||
|
-- Markdown preview
|
||
|
{
|
||
|
"iamcco/markdown-preview.nvim",
|
||
1 year ago
|
build = "cd app && yarn install",
|
||
2 years ago
|
config = function()
|
||
|
vim.g.mkdp_filetypes = { "markdown" }
|
||
|
end,
|
||
|
ft = { "markdown" },
|
||
|
},
|
||
|
|
||
|
-- Edit GPG encrypted files transparently
|
||
|
"jamessan/vim-gnupg",
|
||
|
|
||
|
-- High performance color highlighter
|
||
|
{
|
||
|
"norcalli/nvim-colorizer.lua",
|
||
|
config = true,
|
||
|
},
|
||
2 years ago
|
|
||
|
-- Caddyfile syntax support
|
||
|
"isobit/vim-caddyfile",
|
||
2 years ago
|
|
||
|
-- Startup dashboard
|
||
|
{
|
||
|
"glepnir/dashboard-nvim",
|
||
|
event = "VimEnter",
|
||
|
config = require("plugins.dashboard"),
|
||
|
dependencies = { { "kyazdani42/nvim-web-devicons" } },
|
||
|
},
|
||
1 year ago
|
|
||
|
-- Better folds
|
||
|
{
|
||
11 months ago
|
enabled = false,
|
||
1 year ago
|
"kevinhwang91/nvim-ufo",
|
||
|
dependencies = { "kevinhwang91/promise-async" },
|
||
|
config = require("plugins.ufo"),
|
||
|
},
|
||
1 year ago
|
|
||
|
-- GitHub Copilot
|
||
1 year ago
|
{
|
||
|
"zbirenbaum/copilot.lua",
|
||
|
config = function()
|
||
|
require("copilot").setup({
|
||
|
suggestion = { enabled = false },
|
||
|
panel = { enabled = false },
|
||
|
})
|
||
|
end,
|
||
|
},
|
||
2 years ago
|
}
|
||
2 years ago
|
|
||
11 months ago
|
require("lazy").setup(plugins, { lockfile = "~/git/dotfiles/home/.config/nvim/lazy-lock.json" })
|