2023-07-29 15:00:35 +02:00
|
|
|
|
|
|
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
|
|
if not vim.loop.fs_stat(lazypath) then
|
|
|
|
vim.fn.system({
|
|
|
|
"git",
|
|
|
|
"clone",
|
|
|
|
"--filter=blob:none",
|
|
|
|
"https://github.com/folke/lazy.nvim.git",
|
|
|
|
"--branch=stable", -- latest stable release
|
|
|
|
lazypath,
|
|
|
|
})
|
|
|
|
end
|
|
|
|
vim.opt.rtp:prepend(lazypath)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
require("lazy").setup({
|
|
|
|
|
|
|
|
"navarasu/onedark.nvim",
|
2023-08-02 19:45:54 +02:00
|
|
|
"EdenEast/nightfox.nvim",
|
2023-07-29 15:00:35 +02:00
|
|
|
|
|
|
|
"folke/twilight.nvim",
|
|
|
|
"folke/zen-mode.nvim",
|
|
|
|
"MunifTanjim/nui.nvim",
|
|
|
|
|
|
|
|
"bkad/camelcasemotion",
|
2023-08-02 19:45:54 +02:00
|
|
|
"ThePrimeagen/harpoon",
|
2023-07-29 15:00:35 +02:00
|
|
|
"tpope/vim-commentary",
|
|
|
|
|
2023-07-30 09:07:54 +02:00
|
|
|
"eandrju/cellular-automaton.nvim",
|
|
|
|
"dbinagi/nomodoro",
|
|
|
|
|
2023-08-02 19:45:54 +02:00
|
|
|
|
|
|
|
-- indicate what has changed in git repo
|
|
|
|
"lewis6991/gitsigns.nvim",
|
|
|
|
|
|
|
|
-- like magit for emacs
|
|
|
|
{
|
|
|
|
"NeogitOrg/neogit",
|
|
|
|
dependencies = "nvim-lua/plenary.nvim",
|
|
|
|
config = true
|
|
|
|
},
|
|
|
|
|
|
|
|
-- Debugger UI
|
|
|
|
{
|
|
|
|
"rcarriga/nvim-dap-ui",
|
|
|
|
dependencies = {"mfussenegger/nvim-dap"}
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
-- Surround text with quotes etc
|
|
|
|
{
|
|
|
|
"kylechui/nvim-surround",
|
|
|
|
version = "*", -- Use for stability; omit to use `main` branch for the latest features
|
|
|
|
config = function()
|
|
|
|
require("nvim-surround").setup()
|
|
|
|
end
|
|
|
|
},
|
2023-07-31 23:57:35 +02:00
|
|
|
|
|
|
|
|
2023-08-02 19:45:54 +02:00
|
|
|
-- highlight current scope
|
2023-07-31 23:57:35 +02:00
|
|
|
{
|
|
|
|
|
|
|
|
"shellRaining/hlchunk.nvim",
|
|
|
|
event = { "UIEnter" },
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
2023-08-02 19:45:54 +02:00
|
|
|
-- Automagically close () "" and so on
|
2023-07-31 23:57:35 +02:00
|
|
|
{
|
|
|
|
'windwp/nvim-autopairs',
|
|
|
|
event = "InsertEnter",
|
|
|
|
opts = {} -- this is equalent to setup({}) function
|
|
|
|
},
|
|
|
|
|
|
|
|
|
2023-07-30 09:07:54 +02:00
|
|
|
|
2023-08-02 19:45:54 +02:00
|
|
|
-- better status line than stock one
|
2023-07-30 09:07:54 +02:00
|
|
|
{
|
|
|
|
"nvim-lualine/lualine.nvim",
|
|
|
|
dependencies =
|
|
|
|
{
|
|
|
|
"nvim-tree/nvim-web-devicons",
|
|
|
|
opt = true
|
|
|
|
}
|
|
|
|
},
|
2023-07-29 15:00:35 +02:00
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
"NvChad/nvim-colorizer.lua",
|
|
|
|
config = function()
|
|
|
|
require('colorizer').setup()
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
|
|
|
|
2023-08-02 19:45:54 +02:00
|
|
|
-- LEARN HJKL DAMMIT
|
2023-07-29 15:00:35 +02:00
|
|
|
{
|
|
|
|
"m4xshen/hardtime.nvim",
|
|
|
|
lazy = true,
|
|
|
|
opts = {}
|
|
|
|
},
|
|
|
|
|
|
|
|
|
2023-08-02 20:35:16 +02:00
|
|
|
-- modern ui
|
2023-07-29 15:00:35 +02:00
|
|
|
{
|
|
|
|
"folke/noice.nvim",
|
2023-07-31 23:57:35 +02:00
|
|
|
config = function ()
|
|
|
|
require("plugins.noice")
|
|
|
|
end
|
2023-07-29 15:00:35 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
|
2023-08-02 19:45:54 +02:00
|
|
|
-- dashboard and start page
|
2023-07-29 15:00:35 +02:00
|
|
|
{
|
|
|
|
"willothy/veil.nvim",
|
|
|
|
dependencies = {
|
|
|
|
"nvim-telescope/telescope.nvim",
|
|
|
|
"nvim-lua/plenary.nvim",
|
|
|
|
"nvim-telescope/telescope-file-browser.nvim"
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- size does not matter
|
|
|
|
{
|
|
|
|
'echasnovski/mini.nvim',
|
|
|
|
version = false,
|
|
|
|
},
|
|
|
|
|
|
|
|
|
2023-07-31 23:57:35 +02:00
|
|
|
-- File manager who?
|
|
|
|
{
|
|
|
|
"ms-jpq/chadtree",
|
|
|
|
version = 'chad',
|
|
|
|
build = 'python3 -m chadtree deps',
|
|
|
|
},
|
|
|
|
|
|
|
|
|
2023-07-29 15:00:35 +02:00
|
|
|
-- need that syntax highlight amirite
|
|
|
|
{
|
|
|
|
"nvim-treesitter/nvim-treesitter",
|
|
|
|
build = ":TSUpdate"
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
-- the name says it all
|
|
|
|
{
|
|
|
|
"SirVer/ultisnips",
|
|
|
|
lazy = true
|
|
|
|
},
|
|
|
|
|
|
|
|
-- That shmexy latex plugin
|
|
|
|
{
|
|
|
|
"lervag/vimtex",
|
|
|
|
lazy = true
|
|
|
|
},
|
|
|
|
|
|
|
|
-- DAMN, org mode?
|
|
|
|
{
|
|
|
|
"nvim-neorg/neorg",
|
|
|
|
lazy = true
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
-- Cool screensaver !!
|
|
|
|
{
|
|
|
|
"folke/drop.nvim",
|
|
|
|
event = "VimEnter",
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
'VonHeikemen/lsp-zero.nvim',
|
|
|
|
branch = 'v2.x',
|
|
|
|
dependencies = {
|
|
|
|
-- LSP Support
|
|
|
|
{'neovim/nvim-lspconfig'}, -- Required
|
|
|
|
{'williamboman/mason.nvim'}, -- Optional
|
|
|
|
{'williamboman/mason-lspconfig.nvim'}, -- Optional
|
|
|
|
|
|
|
|
-- Autocompletion
|
|
|
|
{'hrsh7th/nvim-cmp'}, -- Required
|
|
|
|
{'hrsh7th/cmp-nvim-lsp'}, -- Required
|
|
|
|
{'L3MON4D3/LuaSnip'}, -- Required
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vim.opt.laststatus=2
|
|
|
|
|
|
|
|
vim.keymap.set('i', '<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]], { expr = true })
|
|
|
|
vim.keymap.set('i', '<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]], { expr = true })
|
|
|
|
|
|
|
|
|