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 = "", refresh = "gr", open = "", }, 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 = "", accept_word = false, accept_line = false, next = "", prev = "", dismiss = "", }, }, -- 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)