nvim/lua/core/plugins.lua
2025-02-14 13:46:24 -08:00

282 lines
8.9 KiB
Lua

local lsp_dev = {}
vim.cmd [[packadd packer.nvim]]
require('packer').startup(function(use)
use 'wbthomason/packer.nvim'
use 'nvim-lua/plenary.nvim'
use {
'nvim-treesitter/nvim-treesitter',
run = function()
require('nvim-treesitter.install').update({ with_sync = true })
end
}
use { 'nvim-treesitter/nvim-treesitter-context' }
-- TELESCOPE {{{
use { 'nvim-telescope/telescope.nvim' }
use { 'nvim-telescope/telescope-file-browser.nvim' }
use 'nvim-telescope/telescope-dap.nvim'
use { 'ghassan0/telescope-glyph.nvim' }
use { 'nat-418/telescope-color-names.nvim' }
use {
'nvim-telescope/telescope-fzf-native.nvim',
run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'
}
-- }}}
-- LSP/DEV {{{
use {
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
config = function()
require("copilot").setup({
panel = {
enabled = true,
auto_refresh = false,
keymap = {
jump_prev = "[[",
jump_next = "]]",
accept = "<CR>",
refresh = "gr",
open = "<M-CR>"
},
layout = {
position = "bottom", -- | top | left | right | horizontal | vertical
ratio = 0.4
},
},
suggestion = {
enabled = false,
auto_trigger = false,
hide_during_completion = true,
debounce = 75,
keymap = {
accept = "<M-l>",
accept_word = false,
accept_line = false,
next = "<M-]>",
prev = "<M-[>",
dismiss = "<C-]>",
},
},
-- filetypes = {
-- yaml = false,
-- markdown = false,
-- help = false,
-- gitcommit = false,
-- gitrebase = false,
-- hgcommit = false,
-- svn = false,
-- cvs = false,
-- ["."] = false,
-- },
copilot_node_command = 'node', -- Node.js version must be > 18.x
server_opts_overrides = {
trace = "verbose",
settings = {
advanced = {
listCount = 10, -- #completions for panel
inlineSuggestCount = 3, -- #completions for getCompletions
}
}
}
}
)
end,
}
use { "zbirenbaum/copilot-cmp" }
use({
"olimorris/codecompanion.nvim",
requires = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"j-hui/fidget.nvim"
},
init = function()
require("plugins.codecompanion.fidget-spinner"):init()
end,
})
use({
"iamcco/markdown-preview.nvim",
run = function() vim.fn["mkdp#util#install"]() end
})
use {
"L3MON4D3/LuaSnip",
-- tag = "v2.*",
run = "make install_jsregexp",
dependencies = { "rafamadriz/friendly-snippets" }
}
use { 'folke/neodev.nvim' }
use { 'saadparwaiz1/cmp_luasnip' }
use { 'hrsh7th/cmp-buffer' }
use { 'hrsh7th/cmp-cmdline' }
use { 'hrsh7th/cmp-nvim-lsp' }
use { 'hrsh7th/cmp-nvim-lsp-document-symbol' }
use { 'hrsh7th/cmp-nvim-lsp-signature-help' }
use { 'hrsh7th/cmp-nvim-lua' }
use { 'hrsh7th/cmp-path' }
use { 'hrsh7th/nvim-cmp' }
use { 'https://git.sr.ht/~whynothugo/lsp_lines.nvim' }
-- use { 'jose-elias-alvarez/null-ls.nvim' }
use { 'nvimtools/none-ls.nvim' }
use { 'neovim/nvim-lspconfig' }
use { 'onsails/lspkind-nvim' }
use {
"https://git.sr.ht/~nedia/auto-format.nvim",
config = function()
require("auto-format").setup()
end
}
use 'mfussenegger/nvim-lint'
use 'nvim-neotest/nvim-nio'
-- DADBOD {{{
-- use { 'tpope/vim-dadbod' }
-- use { 'kristijanhusak/vim-dadbod-ui' }
-- use { 'kristijanhusak/vim-dadbod-completion' }
-- }}}
-- }}}
-- UI {{{
use { "akinsho/toggleterm.nvim", tag = '*' }
use { 'HiPhish/rainbow-delimiters.nvim' }
use {
"lukas-reineke/indent-blankline.nvim",
-- config = function()
-- opts = {}
-- -- Other blankline configuration here
-- require("ibl").setup(require("indent-rainbowline").make_opts(opts))
-- end,
-- requires = { "TheGLander/indent-rainbowline.nvim" }
}
use {
'glepnir/dashboard-nvim',
-- event = 'VimEnter',
requires = { 'nvim-tree/nvim-web-devicons' }
}
use {
'j-hui/fidget.nvim',
tag = 'legacy',
config = function()
require("fidget").setup {
-- options
}
end
}
use {
'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons', opt = true }
}
use { 'AndreM222/copilot-lualine' }
use { 'kyazdani42/nvim-web-devicons' }
use { 'norcalli/nvim-colorizer.lua' }
use { 'akinsho/nvim-bufferline.lua' }
use { 'andweeb/presence.nvim' }
use { 'folke/which-key.nvim' }
use { 'kyazdani42/nvim-tree.lua' }
use { 'lewis6991/gitsigns.nvim' }
use { 'rcarriga/nvim-notify' }
use { 'stevearc/dressing.nvim' }
use { 'echasnovski/mini.nvim' }
-- }}}
-- EXTRAS {{{
use {
"nvim-neorg/neorg",
-- tag = "*",
ft = "norg",
after = "nvim-treesitter", -- You may want to specify Telescope here as well
config = function()
require('neorg').setup {
load = {
["core.defaults"] = {}, -- Loads default behaviour
["core.concealer"] = {}, -- Adds pretty icons to your documents
["core.completion"] = { config = { engine = "nvim-cmp" } }, -- Adds completion
["core.dirman"] = { -- Manages Neorg workspaces
config = { workspaces = { notes = "~/notes" } }
}
}
}
end
}
use 'jiangmiao/auto-pairs'
use 'pechorin/any-jump.vim'
use 'tpope/vim-commentary'
use 'tpope/vim-dotenv'
use 'tpope/vim-surround'
-- use 'voldikss/vim-floaterm'
use 'wakatime/vim-wakatime'
use 'rmagatti/goto-preview'
-- }}}
-- COLORSCHEMES {{{
use { 'Mofiqul/dracula.nvim' }
-- use({
-- 'NTBBloodbath/doom-one.nvim',
-- setup = function()
-- -- Add color to cursor
-- vim.g.doom_one_cursor_coloring = false
-- -- Set :terminal colors
-- vim.g.doom_one_terminal_colors = true
-- -- Enable italic comments
-- vim.g.doom_one_italic_comments = false
-- -- Enable TS support
-- vim.g.doom_one_enable_treesitter = true
-- -- Color whole diagnostic text or only underline
-- vim.g.doom_one_diagnostics_text_color = false
-- -- Enable transparent background
-- vim.g.doom_one_transparent_background = false
-- -- Pumblend transparency
-- vim.g.doom_one_pumblend_enable = false
-- vim.g.doom_one_pumblend_transparency = 20
-- -- Plugins integration
-- vim.g.doom_one_plugin_neorg = true
-- vim.g.doom_one_plugin_barbar = false
-- vim.g.doom_one_plugin_telescope = true
-- vim.g.doom_one_plugin_neogit = true
-- vim.g.doom_one_plugin_nvim_tree = true
-- vim.g.doom_one_plugin_dashboard = true
-- vim.g.doom_one_plugin_startify = true
-- vim.g.doom_one_plugin_whichkey = true
-- vim.g.doom_one_plugin_indent_blankline = true
-- vim.g.doom_one_plugin_vim_illuminate = false
-- vim.g.doom_one_plugin_lspsaga = false
-- end
-- config = function()
-- vim.cmd("colorscheme doom-one")
-- vim.cmd(
-- "highlight Pmenu ctermfg=white ctermbg=black gui=NONE guifg=white guibg=#282C34")
-- vim.cmd("highlight PmenuSel guifg=purple guibg=red")
-- end
-- })
use { 'olimorris/onedarkpro.nvim' }
use {
"catppuccin/nvim",
as = "catppuccin",
config = function()
vim.cmd("colorscheme catppuccin-macchiato")
end
}
-- }}}
end)