355 lines
9.0 KiB
Lua
355 lines
9.0 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" })
|
|
|
|
use({
|
|
"kndndrj/nvim-dbee",
|
|
requires = {
|
|
"MunifTanjim/nui.nvim",
|
|
},
|
|
run = function()
|
|
-- Install tries to automatically detect the install method.
|
|
-- if it fails, try calling it with one of these parameters:
|
|
-- "curl", "wget", "bitsadmin", "go"
|
|
require("dbee").install()
|
|
end,
|
|
config = function()
|
|
require("dbee").setup( --[[optional config]])
|
|
end,
|
|
})
|
|
|
|
-- 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",
|
|
})
|
|
|
|
--{{{ DASHBOARD
|
|
use({
|
|
"nvimdev/dashboard-nvim",
|
|
event = "VimEnter",
|
|
config = function()
|
|
require("dashboard").setup({
|
|
theme = "hyper",
|
|
config = {
|
|
week_header = {
|
|
enable = true,
|
|
},
|
|
shortcut = {
|
|
{ desc = " Update", group = "@property", action = "Lazy update", key = "u" },
|
|
{
|
|
icon = " ",
|
|
icon_hl = "@variable",
|
|
desc = "Files",
|
|
group = "Label",
|
|
action = "Telescope find_files",
|
|
key = "f",
|
|
},
|
|
{
|
|
desc = " Apps",
|
|
group = "DiagnosticHint",
|
|
action = "Telescope app",
|
|
key = "a",
|
|
},
|
|
{
|
|
desc = " dotfiles",
|
|
group = "Number",
|
|
action = "Telescope ~/.config",
|
|
key = "d",
|
|
},
|
|
},
|
|
},
|
|
})
|
|
end,
|
|
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" })
|
|
use({
|
|
"windwp/nvim-autopairs",
|
|
event = "InsertEnter",
|
|
config = function()
|
|
local npairs = require("nvim-autopairs")
|
|
local Rule = require("nvim-autopairs.rule")
|
|
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
|
local cmp = require("cmp")
|
|
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
|
|
|
|
npairs.setup({
|
|
disable_filetype = { "TelescopePrompt", "spectre_panel", "Terminal", "terminal" },
|
|
check_ts = true,
|
|
ts_config = {
|
|
lua = { "string" }, -- it will not add a pair on that treesitter node
|
|
javascript = { "template_string" },
|
|
java = false, -- don't check treesitter on java
|
|
},
|
|
})
|
|
|
|
local ts_conds = require("nvim-autopairs.ts-conds")
|
|
|
|
-- press % => %% only while inside a comment or string
|
|
npairs.add_rules({
|
|
Rule("%", "%", "lua"):with_pair(ts_conds.is_ts_node({ "string", "comment" })),
|
|
Rule("$", "$", "lua"):with_pair(ts_conds.is_not_ts_node({ "function" })),
|
|
})
|
|
end,
|
|
})
|
|
|
|
-- }}}
|
|
|
|
-- 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("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)
|