167 lines
4.1 KiB
Lua
167 lines
4.1 KiB
Lua
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
|
|
vim.api.nvim_echo({
|
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
{ out, "WarningMsg" },
|
|
{ "\nPress any key to exit..." },
|
|
}, true, {})
|
|
vim.fn.getchar()
|
|
os.exit(1)
|
|
end
|
|
end
|
|
vim.opt.rtp:prepend(lazypath)
|
|
|
|
require("config.keymaps")
|
|
require("config.options")
|
|
|
|
require("lazy").setup({
|
|
spec = {
|
|
{ import = "plugins" },
|
|
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", event = "BufReadPost" },
|
|
{ "nvim-treesitter/playground" },
|
|
{
|
|
"shaunsingh/nord.nvim",
|
|
config = function()
|
|
vim.cmd("colorscheme nord")
|
|
end,
|
|
},
|
|
{ "preservim/nerdcommenter", event = "VeryLazy" },
|
|
{ "kyazdani42/nvim-web-devicons", opt = true, event = "VeryLazy" },
|
|
{ "psliwka/vim-smoothie", event = "VeryLazy" },
|
|
{ "mg979/vim-visual-multi" },
|
|
{ "airblade/vim-gitgutter", event = "BufReadPre" },
|
|
{ "kkoomen/vim-doge", build = ":call doge#install()" },
|
|
{ "simeji/winresizer" },
|
|
{ "rhysd/vim-clang-format" },
|
|
{ "sangdol/mintabline.vim" },
|
|
{ "nvim-lua/plenary.nvim" },
|
|
{ "tpope/vim-fugitive" },
|
|
{ "tpope/vim-surround", keys = { "cs", "ds", "ys" } },
|
|
-- { "lambdalisue/suda.vim" },
|
|
{ "junegunn/fzf" },
|
|
{ "junegunn/fzf.vim" },
|
|
{ "junegunn/gv.vim" },
|
|
{ "kien/ctrlp.vim" },
|
|
{ "mbbill/undotree", cmd = { "UndotreeToggle" } },
|
|
{
|
|
"mason-org/mason.nvim",
|
|
event = "VeryLazy",
|
|
opts = { ui = { border = "rounded" } },
|
|
},
|
|
{ "mason-org/mason-lspconfig.nvim", event = "VeryLazy" },
|
|
{ "neovim/nvim-lspconfig", event = { "BufReadPre", "BufNewFile" } },
|
|
{
|
|
"iamcco/markdown-preview.nvim",
|
|
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
|
build = "cd app && npm install && git restore .",
|
|
-- or if you use yarn: (I have not checked this, I use npm)
|
|
-- build = "cd app && yarn install && git restore .",
|
|
init = function()
|
|
vim.g.mkdp_filetypes = { "markdown" }
|
|
end,
|
|
ft = { "markdown" },
|
|
},
|
|
-- Prettier specifically installed
|
|
{ "nvimtools/none-ls.nvim" },
|
|
{ "MunifTanjim/prettier.nvim" },
|
|
-- Java
|
|
{ "nvim-java/nvim-java" },
|
|
-- Autocompletion/Snippets
|
|
{ "hrsh7th/nvim-cmp" },
|
|
{ "hrsh7th/cmp-buffer" },
|
|
{ "hrsh7th/cmp-path" },
|
|
{ "hrsh7th/cmp-nvim-lsp" },
|
|
{ "hrsh7th/cmp-nvim-lua" },
|
|
{ "saadparwaiz1/cmp_luasnip" },
|
|
{ "hrsh7th/cmp-vsnip" },
|
|
|
|
{ "VonHeikemen/lsp-zero.nvim" },
|
|
-- codeium AI
|
|
-- { "Exafunction/codeium.vim" },
|
|
-- minuet local llama.cpp completion
|
|
{ "milanglacier/minuet-ai.nvim" },
|
|
-- golang
|
|
{ "ray-x/go.nvim" },
|
|
{ "ray-x/guihua.lua" },
|
|
-- rustlang
|
|
{ "rust-lang/rust.vim" },
|
|
-- code snippet screenshots
|
|
-- capture code snippets using :Silicon,
|
|
-- in Visual mode highlight then enter command
|
|
{
|
|
"michaelrommel/nvim-silicon",
|
|
config = function()
|
|
require("silicon").setup({
|
|
command = "silicon",
|
|
font = "mononoki NF=34",
|
|
theme = "Nord",
|
|
no_round_corner = true,
|
|
no_line_number = true,
|
|
no_window_controls = true,
|
|
background = "#20201e",
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"chomosuke/typst-preview.nvim",
|
|
lazy = false, -- or ft = 'typst'
|
|
version = "1.*",
|
|
opts = {}, -- lazy.nvim will implicitly calls `setup {}`
|
|
},
|
|
},
|
|
defaults = {
|
|
lazy = false,
|
|
version = false,
|
|
},
|
|
change_detection = {
|
|
notify = false,
|
|
},
|
|
checker = {
|
|
enabled = true,
|
|
concurrency = 1,
|
|
frequency = 86400,
|
|
notify = false,
|
|
},
|
|
ui = {
|
|
border = "rounded",
|
|
size = {
|
|
width = 0.8,
|
|
height = 0.8,
|
|
},
|
|
},
|
|
performance = {
|
|
rtp = {
|
|
disabled_plugins = {
|
|
"2html_plugin",
|
|
"tohtml",
|
|
"getscript",
|
|
"getscriptPlugin",
|
|
"gzip",
|
|
"logipat",
|
|
"netrw",
|
|
"netrwPlugin",
|
|
"netrwSettings",
|
|
"netrwFileHandlers",
|
|
"matchit",
|
|
"tar",
|
|
"tarPlugin",
|
|
"rrhelper",
|
|
"spellfile_plugin",
|
|
"vimball",
|
|
"vimballPlugin",
|
|
"zip",
|
|
"zipPlugin",
|
|
"tutor",
|
|
"rplugin",
|
|
"syntax",
|
|
"synmenu",
|
|
"optwin",
|
|
"compiler",
|
|
"bugreport",
|
|
},
|
|
},
|
|
},
|
|
})
|