Files
dotfiles/vim/.vim/lua/plugins.lua
Christian Nieves 44a0a63d0b FINALLY!
2023-05-10 12:54:10 -05:00

401 lines
11 KiB
Lua

local use_google = require("utils").use_google
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)
package.path = package.path .. vim.fn.expand(";$HOME/.vim/lua/?.lua")
-- Example using a list of specs with the default options
vim.g.mapleader = "," -- Make sure to set `mapleader` before lazy so your mappings are correct
vim.g.windowswap_map_keys = 0
-- require('lspconfig')
require("lazy").setup({
"folke/which-key.nvim",
{ "folke/neoconf.nvim", cmd = "Neoconf" },
"folke/neodev.nvim",
'lewis6991/impatient.nvim',
'dstein64/vim-startuptime',
'will133/vim-dirdiff',
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function() require("config.nvim-treesitter") end
},
{
"nvim-neo-tree/neo-tree.nvim",
config = function() require("config.neotree") end,
dependencies = {
"nvim-lua/plenary.nvim",
-- "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
}
},
-- Undo tree
{
'mbbill/undotree',
cmd = 'UndotreeToggle',
config = function() vim.g.undotree_SetFocusWhenToggle = 1 end,
},
'nvim-lua/plenary.nvim',
{
'renerocksai/telekasten.nvim',
config = function() require("config.telekasten") end
},
'renerocksai/calendar-vim',
'google/vim-searchindex',
{ 'ray-x/go.nvim',ft='go' },
{ 'ray-x/guihua.lua',ft='go' },
-- Pretty symbols
'kyazdani42/nvim-web-devicons',
-- Completion and linting
'neovim/nvim-lspconfig',
{
'hrsh7th/nvim-cmp',
dependencies = {
'onsails/lspkind.nvim',
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-buffer',
'lukas-reineke/cmp-under-comparator',
'hrsh7th/cmp-cmdline',
'f3fora/cmp-spell',
'hrsh7th/cmp-nvim-lsp-document-symbol',
'hrsh7th/cmp-nvim-lsp-signature-help',
'hrsh7th/cmp-nvim-lua',
'hrsh7th/cmp-path',
'hrsh7th/cmp-vsnip',
'ray-x/cmp-treesitter',
},
event = 'InsertEnter',
config = function() require("config.lsp") end,
},
{
"tzachar/cmp-tabnine", build = "./install.sh",
event = 'InsertEnter',
cond = not use_google(),
},
{ 'ErichDonGubler/lsp_lines.nvim', config = function() require("lsp_lines").setup() end },
{
'jose-elias-alvarez/null-ls.nvim',
config = function() require("config.null-ls") end,
},
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
'VonHeikemen/lsp-zero.nvim',
{
'nvim-telescope/telescope.nvim',
cmd = 'Telescope',
config = function()
require('telescope').setup {
pickers = {
buffers = {
sort_lastused = true,
},
},
}
end,
dependencies = {
'nvim-lua/plenary.nvim',
},
event = { "BufReadPost", "BufNewFile" },
keys = {
{
'<leader>tf',
function()
require('telescope.builtin').find_files{ find_command = {'rg', '--files', '--hidden', '-g', '!node_modules/**'} }
end,
desc = 'Telescope Files',
remap = false,
unique = true,
},
{
'<leader>th',
function()
require('telescope.builtin').help_tags{}
end,
desc = 'Telescope Help',
remap = false,
unique = true,
},
{
'<leader>tw',
function()
require('telescope.builtin').grep_string{}
end,
desc = 'Telescope Word',
remap = false,
unique = true,
},
{
'<leader>tg',
function()
require('telescope.builtin').live_grep{}
end,
desc = 'Telescope Grep',
remap = false,
unique = true,
},
{
'<leader>cs',
function()
require('telescope').extensions.codesearch.find_query{}
end,
desc = 'Telescope Codesearch',
remap = false,
unique = true,
},
{
'<leader>CS',
function()
require('telescope').extensions.codesearch.find_query{default_text_expand='<cword>'}
end,
desc = 'Telescope Codesearch',
remap = false,
unique = true,
},
{
'<leader>CS',
function()
require('telescope').extensions.codesearch.find_query{}
end,
desc = 'Telescope Codesearch',
remap = false,
unique = true,
mode = "v",
},
{ "<leader>tm", "<cmd>:Telescope citc modified<CR>" },
{ "<leader>tb", "<cmd>Telescope file_browser<CR>" },
{ '<leader>fs', function() require('telescope').extensions.fig.status{} end },
{ '<leader>fx', function() require('telescope').extensions.fig.xl{} end },
{ '<leader>fw', function() require('telescope').extensions.fig.status{whatsout=true} end },
}
},
{
'nvim-telescope/telescope-file-browser.nvim',
dependencies = {'nvim-telescope/telescope.nvim'}
},
-- Rust
{
'saecki/crates.nvim',
ft = 'rust',
version = 'v0.3.0',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function() require('crates').setup() end
},
{'simrat39/rust-tools.nvim', ft = 'rust'},
{
'folke/trouble.nvim',
config = function() require("config.trouble") end
},
{
'ThePrimeagen/refactoring.nvim',
dependencies = {
{"nvim-lua/plenary.nvim"},
{"nvim-treesitter/nvim-treesitter"}
},
config = function() require("config.refactoring") end
},
'apalmer1377/factorus',
'hrsh7th/vim-vsnip',
'kosayoda/nvim-lightbulb',
'jghauser/mkdir.nvim',
'nvim-lua/lsp-status.nvim',
{'andymass/vim-matchup', event = 'VimEnter'},
{ 'simrat39/symbols-outline.nvim', config = function() require("config.symbols-outline") end },
{ 'petertriho/nvim-scrollbar', config = function() require("scrollbar").setup() end },
{
'rmagatti/auto-session',
lazy = false,
config = function()
require("auto-session").setup {
log_level = "error",
auto_session_suppress_dirs = { "~/", "~/Downloads", "/", os.getenv("HOME")},
}
end
},
{
"ipod825/libp.nvim",
config = function()
require("libp").setup()
end,
},
{
'nvim-lualine/lualine.nvim',
lazy = false,
config = function() require("config.lualine") end
},
{
'rcarriga/nvim-notify',
config = function() require("config.notify") end
},
-- Git
{
{
'lewis6991/gitsigns.nvim',
dependencies = 'nvim-lua/plenary.nvim',
event = 'User ActuallyEditing',
},
{
'akinsho/git-conflict.nvim',
config = function() require('git-conflict').setup() end,
},
{ 'rhysd/conflict-marker.vim' }
},
-- { "catppuccin/nvim", as = "catppuccin" }
{ "catppuccin/nvim", name = "catppuccin", lazy=false, config = function() require("config.catppuccin") end},
-- Tmux
'preservim/vimux',
'tmux-plugins/vim-tmux',
'christoomey/vim-tmux-navigator',
'whatyouhide/vim-tmux-syntax',
'tmux-plugins/vim-tmux-focus-events',
'jabirali/vim-tmux-yank',
'skywind3000/asyncrun.vim',
{
'ojroques/nvim-osc52',
config = function() require("config.oscyank") end
},
-- mine
{
'squk/java-syntax.vim', ft='java'
},
{
"folke/which-key.nvim",
config = function() require("config.whichkey") end
},
'ntpeters/vim-better-whitespace',
'junegunn/fzf.vim',
{ 'junegunn/fzf', build = ":call fzf#install()" },
'nathanaelkane/vim-indent-guides',
'tversteeg/registers.nvim',
'jremmen/vim-ripgrep',
{ 'udalov/kotlin-vim', ft='kotin' },
'wesQ3/vim-windowswap',
'tpope/vim-surround',
'scrooloose/nerdcommenter',
{ 'vim-scripts/vcscommand.vim' },
{
'mhinz/vim-signify',
config= function() require('config.signify') end
},
{
'j-hui/fidget.nvim',
config = function() require("fidget").setup() end
},
{
"iamcco/markdown-preview.nvim",
build = "cd app && npm install",
init = function() vim.g.mkdp_filetypes = { "markdown" } end,
ft = { "markdown" }
},
-- Google Plugins
{
url = 'sso://googler@user/piloto/cmp-nvim-ciderlsp',
enabled = use_google(),
},
{
url = 'sso://googler@user/kdark/ciderlsp-nvim',
enabled = use_google(),
},
{
url = "sso://googler@user/jackcogdill/nvim-figtree",
enabled = use_google(),
},
{
url = 'sso://googler@user/vintharas/telescope-codesearch.nvim',
enabled = use_google(),
dependencies = { 'nvim-telescope/telescope.nvim' }
},
{
url = 'sso://googler@user/aktau/telescope-citc.nvim',
enabled = use_google(),
dependencies = { 'nvim-telescope/telescope.nvim' }
},
{
url = 'sso://googler@user/tylersaunders/telescope-fig.nvim',
enabled = use_google(),
dependencies = { 'nvim-telescope/telescope.nvim' }
},
{
url = 'sso://googler@user/chmnchiang/google-comments',
-- '/google/src/head/depot/google3/experimental/users/chmnchiang/neovim/google-comments',
-- '/google/src/cloud/cnieves/google-comments/google3/experimental/users/chmnchiang/neovim/google-comments',
dependencies = {'rcarriga/nvim-notify', 'nvim-lua/plenary.nvim'},
enabled = use_google(),
config = function() require("config.google-comments") end
},
-- {
-- dir = '/google/src/cloud/cnieves/google-comments/google3/experimental/users/cnieves/neovim/critique',
-- enabled = use_google(),
-- config = function() require("critique").setup() end,
-- },
{
url = "sso://googler@user/smwang/hg.nvim",
dependencies = { "ipod825/libp.nvim" },
enabled = use_google(),
config = function()
require("config.fig")
require("hg").setup()
end,
},
},
{
defaults = {
-- lazy = true, -- should plugins be lazy-loaded?
}})
-- CiderLSP
vim.opt.completeopt = { "menu", "menuone", "noselect" }
-- Don't show the dumb matching stuff
vim.opt.shortmess:append("c")
vim.opt.spell = true
vim.opt.spelllang = { 'en_us' }
require("config.imp")