From 79af81fefae44663b8dd885c9461796ef8d44fa0 Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Tue, 10 Jun 2025 13:22:28 +0545 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=85=20style(list):=20update=20require?= =?UTF-8?q?=20statement=20from=20`require("lib.util")`=20to=20`require('li?= =?UTF-8?q?b.util')`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/plugins/ai/mcphub.lua | 2 +- lua/plugins/list.lua | 1046 ++++++++++++++++++------------------- 2 files changed, 524 insertions(+), 524 deletions(-) diff --git a/lua/plugins/ai/mcphub.lua b/lua/plugins/ai/mcphub.lua index 828f242..9bbeafb 100644 --- a/lua/plugins/ai/mcphub.lua +++ b/lua/plugins/ai/mcphub.lua @@ -27,7 +27,7 @@ mcphub.setup({ on_ready = function(hub) end, on_error = function(err) end, - use_bundled_binary = false, + use_bundled_binary = true, -- server_url = nil, -- defaults to `http://localhost:port` shutdown_delay = 600000, -- 10 minutes diff --git a/lua/plugins/list.lua b/lua/plugins/list.lua index bf7ca1d..f80440b 100644 --- a/lua/plugins/list.lua +++ b/lua/plugins/list.lua @@ -1,563 +1,563 @@ -local util = require("lib.util") +local util = require('lib.util') local function load_config(package) - return function() - require("plugins." .. package) - end + return function() + require('plugins.' .. package) + end end local plugins = { - -- UI - { - "navarasu/onedark.nvim", - config = load_config("ui.onedark"), - lazy = false, - priority = 1000, - }, - { "nvim-tree/nvim-web-devicons" }, - { - "folke/snacks.nvim", - priority = 1000, - lazy = false, - config = load_config("ui.snacks"), - }, - { - "nvim-lualine/lualine.nvim", - config = load_config("ui.lualine"), - event = { "BufReadPost", "BufNewFile" }, - }, - { - "folke/which-key.nvim", - config = load_config("ui.which-key"), - event = "VeryLazy", - }, - { - "lewis6991/gitsigns.nvim", - config = load_config("ui.gitsigns"), - cmd = "Gitsigns", - event = { "BufReadPost", "BufNewFile" }, - }, - { - "2kabhishek/markit.nvim", - config = load_config("ui.markit"), - event = { "BufReadPost", "BufNewFile" }, - }, + -- UI + { + 'navarasu/onedark.nvim', + config = load_config('ui.onedark'), + lazy = false, + priority = 1000, + }, + { 'nvim-tree/nvim-web-devicons' }, + { + 'folke/snacks.nvim', + priority = 1000, + lazy = false, + config = load_config('ui.snacks'), + }, + { + 'nvim-lualine/lualine.nvim', + config = load_config('ui.lualine'), + event = { 'BufReadPost', 'BufNewFile' }, + }, + { + 'folke/which-key.nvim', + config = load_config('ui.which-key'), + event = 'VeryLazy', + }, + { + 'lewis6991/gitsigns.nvim', + config = load_config('ui.gitsigns'), + cmd = 'Gitsigns', + event = { 'BufReadPost', 'BufNewFile' }, + }, + { + '2kabhishek/markit.nvim', + config = load_config('ui.markit'), + event = { 'BufReadPost', 'BufNewFile' }, + }, - -- Editor - { - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - dependencies = { - "nvim-treesitter/nvim-treesitter-refactor", - "nvim-treesitter/nvim-treesitter-textobjects", - "RRethy/nvim-treesitter-textsubjects", - }, - config = load_config("editor.treesitter"), - event = { "BufReadPost", "BufNewFile" }, - }, - { - "windwp/nvim-ts-autotag", - event = "InsertEnter", - }, - { - "echasnovski/mini.bracketed", - config = load_config("editor.bracketed"), - event = { "BufReadPost", "BufNewFile" }, - }, - { - "echasnovski/mini.pairs", - config = load_config("editor.pairs"), - event = "InsertEnter", - }, - { - "echasnovski/mini.surround", - version = "*", - config = load_config("editor.surround"), - event = { "BufReadPost", "BufNewFile" }, - }, - { - "echasnovski/mini.ai", - version = "*", - config = load_config("editor.ai"), - event = { "BufReadPost", "BufNewFile" }, - }, - { - "chrisgrieser/nvim-spider", - config = load_config("editor.spider"), - event = { "BufReadPost", "BufNewFile" }, - }, - -- Language - { - "neovim/nvim-lspconfig", - dependencies = { "williamboman/mason-lspconfig.nvim" }, - config = load_config("lang.lspconfig"), - event = { "BufReadPre", "BufNewFile" }, - }, - { - "folke/lazydev.nvim", - ft = "lua", - }, - { - "nvimdev/lspsaga.nvim", - config = load_config("lang.lspsaga"), - event = "LspAttach", - }, - { - "williamboman/mason.nvim", - config = load_config("lang.mason"), - cmd = "Mason", - }, - { - "nvimtools/none-ls.nvim", - dependencies = { "jay-babu/mason-null-ls.nvim" }, - config = load_config("lang.null-ls"), - event = { "BufReadPost", "BufNewFile" }, - }, - { - "saghen/blink.cmp", - dependencies = { - "rafamadriz/friendly-snippets", - "Kaiser-Yang/blink-cmp-avante", - "L3MON4D3/LuaSnip", - version = "v2.*", - }, - version = "*", - config = load_config("lang.blink"), - opts_extend = { "sources.default" }, - event = { "InsertEnter" }, - }, - { - "mg979/vim-visual-multi", - branch = "master", -- Required to avoid loading the legacy branch - event = { "BufReadPost", "BufNewFile" }, -- Load earlier when buffer is ready - init = function() - vim.g.VM_leader = "\\" - vim.g.VM_maps = { - ["Find Under"] = "", -- Changed to match VSCode - ["Find Subword Under"] = "", -- Changed to match VSCode - ["Select All"] = "", - ["Add Cursor Down"] = "", -- More intuitive than - ["Add Cursor Up"] = "", -- More intuitive than - ["Select Cursor Down"] = "", - ["Select Cursor Up"] = "", - } - -- Keep default mappings for better functionality - vim.g.VM_default_mappings = 1 - end, - }, + -- Editor + { + 'nvim-treesitter/nvim-treesitter', + build = ':TSUpdate', + dependencies = { + 'nvim-treesitter/nvim-treesitter-refactor', + 'nvim-treesitter/nvim-treesitter-textobjects', + 'RRethy/nvim-treesitter-textsubjects', + }, + config = load_config('editor.treesitter'), + event = { 'BufReadPost', 'BufNewFile' }, + }, + { + 'windwp/nvim-ts-autotag', + event = 'InsertEnter', + }, + { + 'echasnovski/mini.bracketed', + config = load_config('editor.bracketed'), + event = { 'BufReadPost', 'BufNewFile' }, + }, + { + 'echasnovski/mini.pairs', + config = load_config('editor.pairs'), + event = 'InsertEnter', + }, + { + 'echasnovski/mini.surround', + version = '*', + config = load_config('editor.surround'), + event = { 'BufReadPost', 'BufNewFile' }, + }, + { + 'echasnovski/mini.ai', + version = '*', + config = load_config('editor.ai'), + event = { 'BufReadPost', 'BufNewFile' }, + }, + { + 'chrisgrieser/nvim-spider', + config = load_config('editor.spider'), + event = { 'BufReadPost', 'BufNewFile' }, + }, + -- Language + { + 'neovim/nvim-lspconfig', + dependencies = { 'williamboman/mason-lspconfig.nvim' }, + config = load_config('lang.lspconfig'), + event = { 'BufReadPre', 'BufNewFile' }, + }, + { + 'folke/lazydev.nvim', + ft = 'lua', + }, + { + 'nvimdev/lspsaga.nvim', + config = load_config('lang.lspsaga'), + event = 'LspAttach', + }, + { + 'williamboman/mason.nvim', + config = load_config('lang.mason'), + cmd = 'Mason', + }, + { + 'nvimtools/none-ls.nvim', + dependencies = { 'jay-babu/mason-null-ls.nvim' }, + config = load_config('lang.null-ls'), + event = { 'BufReadPost', 'BufNewFile' }, + }, + { + 'saghen/blink.cmp', + dependencies = { + 'rafamadriz/friendly-snippets', + 'Kaiser-Yang/blink-cmp-avante', + 'L3MON4D3/LuaSnip', + version = 'v2.*', + }, + version = '*', + config = load_config('lang.blink'), + opts_extend = { 'sources.default' }, + event = { 'InsertEnter' }, + }, + { + 'mg979/vim-visual-multi', + branch = 'master', -- Required to avoid loading the legacy branch + event = { 'BufReadPost', 'BufNewFile' }, -- Load earlier when buffer is ready + init = function() + vim.g.VM_leader = '\\' + vim.g.VM_maps = { + ['Find Under'] = '', -- Changed to match VSCode + ['Find Subword Under'] = '', -- Changed to match VSCode + ['Select All'] = '', + ['Add Cursor Down'] = '', -- More intuitive than + ['Add Cursor Up'] = '', -- More intuitive than + ['Select Cursor Down'] = '', + ['Select Cursor Up'] = '', + } + -- Keep default mappings for better functionality + vim.g.VM_default_mappings = 1 + end, + }, - -- AI - { - "zbirenbaum/copilot.lua", - dependencies = { "giuxtaposition/blink-cmp-copilot" }, - config = load_config("ai.copilot"), - event = "InsertEnter", - }, - { - "yetone/avante.nvim", - version = false, - config = load_config("ai.avante"), - event = { "BufReadPost", "BufNewFile" }, - build = "make", - -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows - dependencies = { - "MunifTanjim/nui.nvim", - "nvim-lua/plenary.nvim", - "ravitemer/mcphub.nvim", - }, - }, - { - "ravitemer/mcphub.nvim", - dependencies = { "nvim-lua/plenary.nvim" }, - cmd = "MCPHub", - build = "npm install -g mcp-hub@latest", -- use this if you want to use the global mcp-hub - -- build = 'bundled_build.lua', - config = load_config("ai.mcphub"), - }, - -- { - -- 'L3MON4D3/LuaSnip', - -- dependencies = { 'rafamadriz/friendly-snippets' }, - -- config = function() - -- -- Lazy load VSCode-style snippets (including JSON) - -- require("luasnip.loaders.from_vscode").lazy_load({ - -- paths = { - -- vim.fn.stdpath('config') .. '/snippets', -- your custom snippets folder - -- }, - -- }) - -- end - -- }, + -- AI + { + 'zbirenbaum/copilot.lua', + dependencies = { 'giuxtaposition/blink-cmp-copilot' }, + config = load_config('ai.copilot'), + event = 'InsertEnter', + }, + { + 'yetone/avante.nvim', + version = false, + config = load_config('ai.avante'), + event = { 'BufReadPost', 'BufNewFile' }, + build = 'make', + -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows + dependencies = { + 'MunifTanjim/nui.nvim', + 'nvim-lua/plenary.nvim', + 'ravitemer/mcphub.nvim', + }, + }, + { + 'ravitemer/mcphub.nvim', + dependencies = { 'nvim-lua/plenary.nvim' }, + cmd = 'MCPHub', + -- build = "npm install -g mcp-hub@latest", -- use this if you want to use the global mcp-hub + build = 'bundled_build.lua', + config = load_config('ai.mcphub'), + }, + -- { + -- 'L3MON4D3/LuaSnip', + -- dependencies = { 'rafamadriz/friendly-snippets' }, + -- config = function() + -- -- Lazy load VSCode-style snippets (including JSON) + -- require("luasnip.loaders.from_vscode").lazy_load({ + -- paths = { + -- vim.fn.stdpath('config') .. '/snippets', -- your custom snippets folder + -- }, + -- }) + -- end + -- }, - -- Tools - { - "echasnovski/mini.files", - version = "*", - config = load_config("tools.files"), - event = { "BufReadPost", "BufNewFile" }, - keys = { - { - "ee", - function() - require("mini.files").open(util.get_file_path(), true) - end, - desc = "Explorer", - }, - }, - }, - { - "michaelb/sniprun", - build = "bash ./install.sh", - config = load_config("tools.sniprun"), - cmd = "SnipRun", - }, - { - "windwp/nvim-spectre", - config = load_config("tools.spectre"), - cmd = "Spectre", - }, - { - "folke/flash.nvim", - config = load_config("tools.flash"), - keys = { - { - "s", - mode = { "n", "x", "o" }, - function() - require("flash").jump() - end, - desc = "Flash", - }, - { - "S", - mode = { "n", "x", "o" }, - function() - require("flash").treesitter() - end, - desc = "Flash Treesitter", - }, - }, - }, - { - "numToStr/Navigator.nvim", - config = load_config("tools.navigator"), - event = "VeryLazy", - }, - { - "iamcco/markdown-preview.nvim", - build = function() - vim.fn["mkdp#util#install"]() - end, - ft = "markdown", - cmd = { "MarkdownPreviewToggle", "MarkdownPreview" }, - }, - { - "uga-rosa/ccc.nvim", - config = load_config("tools.ccc"), - cmd = { "CccHighlighterToggle", "CccConvert", "CccPick" }, - }, - { - "ruifm/gitlinker.nvim", - config = load_config("tools.gitlinker"), - keys = "yg", - }, - { - "tpope/vim-fugitive", - cmd = "Git", - }, - { + -- Tools + { + 'echasnovski/mini.files', + version = '*', + config = load_config('tools.files'), + event = { 'BufReadPost', 'BufNewFile' }, + keys = { + { + 'ee', + function() + require('mini.files').open(util.get_file_path(), true) + end, + desc = 'Explorer', + }, + }, + }, + { + 'michaelb/sniprun', + build = 'bash ./install.sh', + config = load_config('tools.sniprun'), + cmd = 'SnipRun', + }, + { + 'windwp/nvim-spectre', + config = load_config('tools.spectre'), + cmd = 'Spectre', + }, + { + 'folke/flash.nvim', + config = load_config('tools.flash'), + keys = { + { + 's', + mode = { 'n', 'x', 'o' }, + function() + require('flash').jump() + end, + desc = 'Flash', + }, + { + 'S', + mode = { 'n', 'x', 'o' }, + function() + require('flash').treesitter() + end, + desc = 'Flash Treesitter', + }, + }, + }, + { + 'numToStr/Navigator.nvim', + config = load_config('tools.navigator'), + event = 'VeryLazy', + }, + { + 'iamcco/markdown-preview.nvim', + build = function() + vim.fn['mkdp#util#install']() + end, + ft = 'markdown', + cmd = { 'MarkdownPreviewToggle', 'MarkdownPreview' }, + }, + { + 'uga-rosa/ccc.nvim', + config = load_config('tools.ccc'), + cmd = { 'CccHighlighterToggle', 'CccConvert', 'CccPick' }, + }, + { + 'ruifm/gitlinker.nvim', + config = load_config('tools.gitlinker'), + keys = 'yg', + }, + { + 'tpope/vim-fugitive', + cmd = 'Git', + }, + { - "akinsho/toggleterm.nvim", - cmd = { "ToggleTerm" }, - version = "v2.*", - config = load_config("tools.toggleterm"), - }, - { - "mistricky/codesnap.nvim", - lazy = true, - build = "make", - opts = { - save_path = "~/Pictures/code-screenshots/", - has_breadcrumbs = false, - show_workspace = false, - bg_theme = "default", - watermark = "S4NKALP", - code_font_family = "Iosevka NF", - code_font_size = 12, - }, - cmd = { "CodeSnap", "CodeSnapSave", "CodeSnapHighlight", "CodeSnapASCII" }, - }, - { - "cvigilv/esqueleto.nvim", - event = "VeryLazy", - opts = { - directories = { - vim.fn.stdpath("config") .. "/templates", - }, - patterns = { - -- File - "README", - "LICENSE", - -- Filetype - "sh", - "markdown", - "python", - "lua", - "html", - "vue", - }, - }, - }, - { - "LudoPinelli/comment-box.nvim", - event = "BufReadPre", - opts = { - box_width = 70, - }, - }, - { - "mistricky/codesnap.nvim", - lazy = true, - build = "make", - opts = { - save_path = "~/Pictures/screenshots/code", - has_breadcrumbs = false, - show_workspace = false, - bg_theme = "default", - watermark = "S4NKALP", - code_font_family = "Iosevka NF", - code_font_size = 12, - }, - cmd = { "CodeSnap", "CodeSnapSave", "CodeSnapHighlight", "CodeSnapASCII" }, - }, + 'akinsho/toggleterm.nvim', + cmd = { 'ToggleTerm' }, + version = 'v2.*', + config = load_config('tools.toggleterm'), + }, + { + 'mistricky/codesnap.nvim', + lazy = true, + build = 'make', + opts = { + save_path = '~/Pictures/code-screenshots/', + has_breadcrumbs = false, + show_workspace = false, + bg_theme = 'default', + watermark = 'S4NKALP', + code_font_family = 'Iosevka NF', + code_font_size = 12, + }, + cmd = { 'CodeSnap', 'CodeSnapSave', 'CodeSnapHighlight', 'CodeSnapASCII' }, + }, + { + 'cvigilv/esqueleto.nvim', + event = 'VeryLazy', + opts = { + directories = { + vim.fn.stdpath('config') .. '/templates', + }, + patterns = { + -- File + 'README', + 'LICENSE', + -- Filetype + 'sh', + 'markdown', + 'python', + 'lua', + 'html', + 'vue', + }, + }, + }, + { + 'LudoPinelli/comment-box.nvim', + event = 'BufReadPre', + opts = { + box_width = 70, + }, + }, + { + 'mistricky/codesnap.nvim', + lazy = true, + build = 'make', + opts = { + save_path = '~/Pictures/screenshots/code', + has_breadcrumbs = false, + show_workspace = false, + bg_theme = 'default', + watermark = 'S4NKALP', + code_font_family = 'Iosevka NF', + code_font_size = 12, + }, + cmd = { 'CodeSnap', 'CodeSnapSave', 'CodeSnapHighlight', 'CodeSnapASCII' }, + }, - -- 2kabhishek - { - "2kabhishek/pickme.nvim", - cmd = "PickMe", - event = "VeryLazy", - dependencies = { - "folke/snacks.nvim", - -- 'nvim-telescope/telescope.nvim', - -- 'ibhagwan/fzf-lua', - }, - opts = { - picker_provider = "snacks", - }, - }, - { - "2kabhishek/termim.nvim", - cmd = { "Fterm", "FTerm", "Sterm", "STerm", "Vterm", "VTerm" }, - }, - { - "2kabhishek/octohub.nvim", - cmd = { - "OctoRepos", - "OctoReposByCreated", - "OctoReposByForks", - "OctoReposByIssues", - "OctoReposByLanguages", - "OctoReposByNames", - "OctoReposByPushed", - "OctoReposBySize", - "OctoReposByStars", - "OctoReposByUpdated", - "OctoReposTypeArchived", - "OctoReposTypeForked", - "OctoReposTypePrivate", - "OctoReposTypeStarred", - "OctoReposTypeTemplate", - "OctoRepo", - "OctoStats", - "OctoActivityStats", - "OctoContributionStats", - "OctoRepoStats", - "OctoProfile", - "OctoRepoWeb", - }, - keys = { - "goa", - "goA", - "gob", - "goc", - "gof", - "goF", - "gog", - "goi", - "gol", - "goo", - "gop", - "goP", - "gor", - "gos", - "goS", - "got", - "goT", - "gou", - "goU", - "gow", - }, - dependencies = { - "2kabhishek/utils.nvim", - }, - config = load_config("tools.octohub"), - }, + -- 2kabhishek + { + '2kabhishek/pickme.nvim', + cmd = 'PickMe', + event = 'VeryLazy', + dependencies = { + 'folke/snacks.nvim', + -- 'nvim-telescope/telescope.nvim', + -- 'ibhagwan/fzf-lua', + }, + opts = { + picker_provider = 'snacks', + }, + }, + { + '2kabhishek/termim.nvim', + cmd = { 'Fterm', 'FTerm', 'Sterm', 'STerm', 'Vterm', 'VTerm' }, + }, + { + '2kabhishek/octohub.nvim', + cmd = { + 'OctoRepos', + 'OctoReposByCreated', + 'OctoReposByForks', + 'OctoReposByIssues', + 'OctoReposByLanguages', + 'OctoReposByNames', + 'OctoReposByPushed', + 'OctoReposBySize', + 'OctoReposByStars', + 'OctoReposByUpdated', + 'OctoReposTypeArchived', + 'OctoReposTypeForked', + 'OctoReposTypePrivate', + 'OctoReposTypeStarred', + 'OctoReposTypeTemplate', + 'OctoRepo', + 'OctoStats', + 'OctoActivityStats', + 'OctoContributionStats', + 'OctoRepoStats', + 'OctoProfile', + 'OctoRepoWeb', + }, + keys = { + 'goa', + 'goA', + 'gob', + 'goc', + 'gof', + 'goF', + 'gog', + 'goi', + 'gol', + 'goo', + 'gop', + 'goP', + 'gor', + 'gos', + 'goS', + 'got', + 'goT', + 'gou', + 'goU', + 'gow', + }, + dependencies = { + '2kabhishek/utils.nvim', + }, + config = load_config('tools.octohub'), + }, - -- Optional - { - "sphamba/smear-cursor.nvim", - event = "VeryLazy", - cond = vim.g.neovide == nil, - opts = { - stiffness = 0.5, - trailing_stiffness = 0.49, - }, - enabled = util.get_user_config("enable_smear_cursor", false), - }, - { - "nvzone/showkeys", - cmd = "ShowkeysToggle", - opts = { - timeout = 1, - maxkeys = 10, - -- more opts - }, - }, - { - "wakatime/vim-wakatime", - event = { "VimEnter" }, - lazy = false, - enabled = util.get_user_config("enable_wakatime", false), - }, - { - "JohnnyJumper/neotypist.nvim", - opts = { - notify_interval = 60 * 100, -- one minute - high = 80, - low = 20, - show_virt_text = true, - notify = true, - update_time = 300, - virt_text = function(wpm) - return ("🚀 WPM: %.0f"):format(wpm) - end, - virt_text_pos = "right_align", - }, - }, - { - "m4xshen/hardtime.nvim", - dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim" }, - cmd = "Hardtime", - enabled = util.get_user_config("enable_trainer", false), - }, - { - "kndndrj/nvim-dbee", - dependencies = { "MunifTanjim/nui.nvim" }, - build = function() - -- "curl", "wget", "bitsadmin", "go" - require("dbee").install("curl") - end, - config = load_config("tools.dbee"), - cmd = "DBToggle", - enabled = util.get_user_config("enable_db_explorer", false), - }, - { - "mfussenegger/nvim-dap", - dependencies = { "rcarriga/nvim-dap-ui" }, - config = load_config("tools.dap"), - cmd = { "DapUIToggle", "DapToggleRepl", "DapToggleBreakpoint" }, - enabled = util.get_user_config("enable_debugger", false), - }, - { - "nvim-neotest/neotest", - dependencies = { - "nvim-neotest/nvim-nio", - "olimorris/neotest-rspec", - "nvim-neotest/neotest-jest", - "nvim-neotest/neotest-python", - }, - config = load_config("tools.neotest"), - cmd = "Neotest", - enabled = util.get_user_config("enable_test_runner", false), - }, + -- Optional + { + 'sphamba/smear-cursor.nvim', + event = 'VeryLazy', + cond = vim.g.neovide == nil, + opts = { + stiffness = 0.5, + trailing_stiffness = 0.49, + }, + enabled = util.get_user_config('enable_smear_cursor', false), + }, + { + 'nvzone/showkeys', + cmd = 'ShowkeysToggle', + opts = { + timeout = 1, + maxkeys = 10, + -- more opts + }, + }, + { + 'wakatime/vim-wakatime', + event = { 'VimEnter' }, + lazy = false, + enabled = util.get_user_config('enable_wakatime', false), + }, + { + 'JohnnyJumper/neotypist.nvim', + opts = { + notify_interval = 60 * 100, -- one minute + high = 80, + low = 20, + show_virt_text = true, + notify = true, + update_time = 300, + virt_text = function(wpm) + return ('🚀 WPM: %.0f'):format(wpm) + end, + virt_text_pos = 'right_align', + }, + }, + { + 'm4xshen/hardtime.nvim', + dependencies = { 'MunifTanjim/nui.nvim', 'nvim-lua/plenary.nvim' }, + cmd = 'Hardtime', + enabled = util.get_user_config('enable_trainer', false), + }, + { + 'kndndrj/nvim-dbee', + dependencies = { 'MunifTanjim/nui.nvim' }, + build = function() + -- "curl", "wget", "bitsadmin", "go" + require('dbee').install('curl') + end, + config = load_config('tools.dbee'), + cmd = 'DBToggle', + enabled = util.get_user_config('enable_db_explorer', false), + }, + { + 'mfussenegger/nvim-dap', + dependencies = { 'rcarriga/nvim-dap-ui' }, + config = load_config('tools.dap'), + cmd = { 'DapUIToggle', 'DapToggleRepl', 'DapToggleBreakpoint' }, + enabled = util.get_user_config('enable_debugger', false), + }, + { + 'nvim-neotest/neotest', + dependencies = { + 'nvim-neotest/nvim-nio', + 'olimorris/neotest-rspec', + 'nvim-neotest/neotest-jest', + 'nvim-neotest/neotest-python', + }, + config = load_config('tools.neotest'), + cmd = 'Neotest', + enabled = util.get_user_config('enable_test_runner', false), + }, } local treesitter_parsers = { - "bash", - "css", - "dart", - "elixir", - "gitcommit", - "go", - "html", - "java", - "javascript", - "json", - "lua", - "markdown", - "markdown_inline", -- markdown code blocks - "python", - "ruby", - "rust", - "typescript", - "vim", - "vimdoc", - "yaml", + 'bash', + 'css', + 'dart', + 'elixir', + 'gitcommit', + 'go', + 'html', + 'java', + 'javascript', + 'json', + 'lua', + 'markdown', + 'markdown_inline', -- markdown code blocks + 'python', + 'ruby', + 'rust', + 'typescript', + 'vim', + 'vimdoc', + 'yaml', } local null_ls_sources = { - "shellcheck", + 'shellcheck', } local lsp_servers = { - "bashls", - "jsonls", - "typos_lsp", - "vimls", - "lua_ls", - "tailwindcss", -- Add Tailwind CSS LSP + 'bashls', + 'jsonls', + 'typos_lsp', + 'vimls', + 'lua_ls', + 'tailwindcss', -- Add Tailwind CSS LSP } -if util.is_present("npm") then - table.insert(lsp_servers, "eslint") - table.insert(lsp_servers, "ts_ls") +if util.is_present('npm') then + table.insert(lsp_servers, 'eslint') + table.insert(lsp_servers, 'ts_ls') end -if util.is_present("gem") then - table.insert(lsp_servers, "solargraph") - table.insert(lsp_servers, "rubocop") +if util.is_present('gem') then + table.insert(lsp_servers, 'solargraph') + table.insert(lsp_servers, 'rubocop') end -if util.is_present("go") then - table.insert(lsp_servers, "gopls") +if util.is_present('go') then + table.insert(lsp_servers, 'gopls') end -if util.is_present("dart") then - table.insert(lsp_servers, "dartls") +if util.is_present('dart') then + table.insert(lsp_servers, 'dartls') end -if util.is_present("java") then - table.insert(lsp_servers, "jdtls") +if util.is_present('java') then + table.insert(lsp_servers, 'jdtls') end -if util.is_present("pip") then - table.insert(lsp_servers, "ruff") - table.insert(lsp_servers, "pylsp") +if util.is_present('pip') then + table.insert(lsp_servers, 'ruff') + table.insert(lsp_servers, 'pylsp') end -if util.is_present("mix") then - table.insert(lsp_servers, "elixirls") +if util.is_present('mix') then + table.insert(lsp_servers, 'elixirls') end -if util.is_present("cargo") then - table.insert(lsp_servers, "rust_analyzer") +if util.is_present('cargo') then + table.insert(lsp_servers, 'rust_analyzer') end -plugins = vim.tbl_extend("force", plugins, util.get_user_config("user_plugins", {})) -lsp_servers = vim.tbl_extend("force", lsp_servers, util.get_user_config("user_lsp_servers", {})) -null_ls_sources = vim.tbl_extend("force", null_ls_sources, util.get_user_config("user_null_ls_sources", {})) -treesitter_parsers = vim.tbl_extend("force", treesitter_parsers, util.get_user_config("user_tresitter_parsers", {})) +plugins = vim.tbl_extend('force', plugins, util.get_user_config('user_plugins', {})) +lsp_servers = vim.tbl_extend('force', lsp_servers, util.get_user_config('user_lsp_servers', {})) +null_ls_sources = vim.tbl_extend('force', null_ls_sources, util.get_user_config('user_null_ls_sources', {})) +treesitter_parsers = vim.tbl_extend('force', treesitter_parsers, util.get_user_config('user_tresitter_parsers', {})) return { - plugins = plugins, - lsp_servers = lsp_servers, - null_ls_sources = null_ls_sources, - ts_parsers = treesitter_parsers, + plugins = plugins, + lsp_servers = lsp_servers, + null_ls_sources = null_ls_sources, + ts_parsers = treesitter_parsers, }