diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 9677ddd..f043b18 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -114,96 +114,14 @@ vim.filetype.add({ }) vim.pack.add({ - { src = 'https://github.com/3rd/image.nvim' }, - { src = "https://github.com/folke/snacks.nvim" }, - { src = "https://github.com/folke/trouble.nvim" }, - { src = "https://github.com/olimorris/codecompanion.nvim" }, - { src = 'https://github.com/Civitasv/cmake-tools.nvim' }, - { src = 'https://github.com/Davidyz/VectorCode' }, - { src = 'https://github.com/Glhou/jjsigns.nvim', version = 'fix/skip-extra-lines' }, - { src = 'https://github.com/HakonHarnes/img-clip.nvim' }, - { src = 'https://github.com/JoosepAlviste/nvim-ts-context-commentstring' }, - { src = 'https://github.com/L3MON4D3/LuaSnip' }, - { src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' }, - { src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' }, { src = 'https://github.com/MunifTanjim/nui.nvim' }, - { src = 'https://github.com/NeogitOrg/neogit' }, - { src = 'https://github.com/PhantomYdn/fabric-ai.nvim' }, - { src = 'https://github.com/Saecki/crates.nvim' }, - { src = 'https://github.com/Saghen/blink.cmp', version = vim.version.range('1.*') }, - { src = 'https://github.com/SjB/orgmode', version = 'sjb-wip' }, { src = 'https://github.com/SmiteshP/nvim-navic' }, - { src = 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim' }, - { src = 'https://github.com/akinsho/org-bullets.nvim' }, - { src = 'https://github.com/akinsho/toggleterm.nvim' }, - { src = 'https://github.com/SjB/codecompanion-agentskills.nvim', version = 'support_disable_model_invocation_flag' }, - { src = 'https://github.com/carlos-algms/agentic.nvim' }, - { src = 'https://github.com/chipsenkbeil/org-roam.nvim' }, - { src = 'https://github.com/christoomey/vim-tmux-navigator' }, --- { src = 'https://github.com/copilotlsp-nvim/copilot-lsp' }, { src = 'https://github.com/esmuellert/codediff.nvim' }, - { src = 'https://github.com/fang2hou/blink-copilot' }, - { src = 'https://github.com/folke/flash.nvim' }, - { src = 'https://github.com/folke/persistence.nvim' }, { src = 'https://github.com/folke/todo-comments.nvim' }, - { src = 'https://github.com/folke/which-key.nvim' }, - { src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' }, - { src = 'https://github.com/hat0uma/csvview.nvim' }, - { src = 'https://github.com/hedyhli/outline.nvim' }, - { src = 'https://github.com/iamcco/markdown-preview.nvim' }, { src = 'https://github.com/j-hui/fidget.nvim' }, - { src = 'https://github.com/jay-babu/mason-nvim-dap.nvim' }, - { src = 'https://github.com/julienvincent/hunk.nvim' }, - { src = 'https://github.com/lervag/vimtex' }, - { src = 'https://github.com/lewis6991/gitsigns.nvim' }, - { src = 'https://github.com/mbbill/undotree' }, - { src = 'https://github.com/SjB/meow.review.nvim', version = 'fix-invalid-buffer-id' }, - { src = 'https://github.com/mfussenegger/nvim-ansible' }, - { src = 'https://github.com/mfussenegger/nvim-dap' }, - { src = 'https://github.com/mistweaverco/kulala.nvim' }, - { src = 'https://github.com/moyiz/blink-emoji.nvim' }, - { src = 'https://github.com/neovim/nvim-lspconfig' }, { src = 'https://github.com/norcalli/nvim-colorizer.lua' }, { src = 'https://github.com/nvim-lua/plenary.nvim' }, - { src = 'https://github.com/nvim-lualine/lualine.nvim' }, - { src = 'https://github.com/nvim-mini/mini.ai' }, - { src = 'https://github.com/nvim-mini/mini.align' }, - { src = 'https://github.com/nvim-mini/mini.bracketed' }, - { src = 'https://github.com/nvim-mini/mini.extra' }, - { src = 'https://github.com/nvim-mini/mini.files' }, - { src = 'https://github.com/nvim-mini/mini.hipatterns' }, - { src = 'https://github.com/nvim-mini/mini.move' }, - { src = 'https://github.com/nvim-mini/mini.operators' }, - { src = 'https://github.com/nvim-mini/mini.sessions' }, - { src = 'https://github.com/nvim-mini/mini.splitjoin' }, - { src = 'https://github.com/nvim-mini/mini.surround' }, { src = 'https://github.com/nvim-neotest/nvim-nio' }, - { src = 'https://github.com/nvim-pack/nvim-spectre' }, { src = 'https://github.com/nvim-tree/nvim-web-devicons' }, - { src = 'https://github.com/nvim-treesitter/nvim-treesitter', version = 'main' }, - { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, - { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, - { src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' }, - { src = 'https://github.com/romus204/tree-sitter-manager.nvim' }, - { src = 'https://github.com/otavioschwanck/arrow.nvim' }, - { src = 'https://github.com/rafamadriz/friendly-snippets' }, - { src = 'https://github.com/rafikdraoui/jj-diffconflicts' }, - { src = 'https://github.com/ravitemer/codecompanion-history.nvim' }, - { src = 'https://github.com/ravitemer/codecompanion-history.nvim' }, - { src = 'https://github.com/rcarriga/nvim-dap-ui' }, - { src = 'https://github.com/salkin-mada/openscad.nvim' }, - { src = 'https://github.com/sheng-tse/jupynvim' }, - { src = 'https://github.com/sindrets/diffview.nvim' }, - { src = 'https://github.com/stevearc/conform.nvim' }, - { src = 'https://github.com/stevearc/overseer.nvim' }, - { src = 'https://github.com/stevearc/quicker.nvim' }, - { src = 'https://github.com/ten3roberts/window-picker.nvim' }, - { src = 'https://github.com/thunder-coding/zincoxide' }, - { src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' }, - { src = 'https://github.com/uhs-robert/sshfs.nvim' }, - { src = 'https://github.com/utilyre/barbecue.nvim' }, - { src = 'https://github.com/williamboman/mason-lspconfig.nvim' }, - { src = 'https://github.com/williamboman/mason.nvim' }, - { src = 'https://github.com/zbirenbaum/copilot.lua' }, - { src = 'https://plugins.ejri.dev/mise.nvim' }, }) + diff --git a/config/nvim/plugin/agentic.lua b/config/nvim/plugin/agentic.lua index dd10160..fa82e42 100644 --- a/config/nvim/plugin/agentic.lua +++ b/config/nvim/plugin/agentic.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/carlos-algms/agentic.nvim' }, +}) + require('agentic').setup({ -- Available by default: "claude-agent-acp" | "gemini-acp" | "codex-acp" | "opencode-acp" | "cursor-acp" | "auggie-acp" | "mistral-vibe-acp" provider = "opencode-acp", -- setting the name here is all you need to get started diff --git a/config/nvim/plugin/arrow.lua b/config/nvim/plugin/arrow.lua index c31d880..df2dba6 100644 --- a/config/nvim/plugin/arrow.lua +++ b/config/nvim/plugin/arrow.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/otavioschwanck/arrow.nvim' }, +}) + require('arrow').setup({ show_icons = true, leader_key = ';', -- Recommended to be a single key diff --git a/config/nvim/plugin/barbecue.lua b/config/nvim/plugin/barbecue.lua index 073b4af..04f17ed 100644 --- a/config/nvim/plugin/barbecue.lua +++ b/config/nvim/plugin/barbecue.lua @@ -1 +1,4 @@ +vim.pack.add({ + { src = 'https://github.com/utilyre/barbecue.nvim' }, +}) require('barbecue').setup() diff --git a/config/nvim/plugin/blink.lua b/config/nvim/plugin/blink.lua index 28b75a1..d6651fb 100644 --- a/config/nvim/plugin/blink.lua +++ b/config/nvim/plugin/blink.lua @@ -1,3 +1,9 @@ +vim.pack.add({ + { src = 'https://github.com/Saghen/blink.cmp', version = vim.version.range('1.*') }, + { src = 'https://github.com/fang2hou/blink-copilot' }, + { src = 'https://github.com/moyiz/blink-emoji.nvim' }, +}) + require('blink.cmp').setup({ enabled = function() local filetype = vim.bo[0].filetype diff --git a/config/nvim/plugin/cmake.lua b/config/nvim/plugin/cmake.lua new file mode 100644 index 0000000..917024b --- /dev/null +++ b/config/nvim/plugin/cmake.lua @@ -0,0 +1,183 @@ +vim.pack.add({ + { src = 'https://github.com/Civitasv/cmake-tools.nvim' }, + { src = 'https://github.com/stevearc/overseer.nvim' }, +}) + +require("overseer").setup({ + templates = { "builtin", "user" }, + component_aliases = { + default = { + { 'display_duration', detail_level = 2 }, + 'on_output_summarize', + 'on_exit_set_status', + 'on_complete_notify', + 'on_result_diagnostics', + {'on_result_diagnostics_quickfix', open = true, close = true}, + }, + default_vscode = { + 'default', + 'on_result_diagnostics', + {'on_result_diagnostics_quickfix', open = true, close = true}, + 'on_complete_notify', + }, + } +}) + +-- local pm = require("overseer.template.vscode.problem_matcher") +-- pm.register_problem_matcher("$rustc", { + -- fileLocation = { "autoDetect", "${cwd}" }, + -- pattern = { + -- --regexp = "^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$", + -- -- vim_regexp = "\\v^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$", + -- regexp = "^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$", + -- vim_regexp = "\\v^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$", + -- file = 1, + -- line = 2, + -- column = 3, + -- } + -- }) + +local osys = require("cmake-tools.osys") +require("cmake-tools").setup { + cmake_command = "cmake", -- this is used to specify cmake command path + ctest_command = "ctest", -- this is used to specify ctest command path + cmake_use_preset = true, + cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt + cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate` + cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild` + -- support macro expansion: + -- ${kit} + -- ${kitGenerator} + -- ${variant:xx} + cmake_build_directory = function() + if osys.iswin32 then + return "out\\${variant:buildType}" + end + return "out/${variant:buildType}" + end, -- this is used to specify generate directory for cmake, allows macro expansion, can be a string or a function returning the string, relative to cwd. + cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir + cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false + cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage + cmake_variants_message = { + short = { show = true }, -- whether to show short message + long = { show = true, max_length = 40 }, -- whether to show long message + }, + cmake_dap_configuration = { -- debug settings for cmake + name = "cpp", + type = "codelldb", + request = "launch", + stopOnEntry = false, + runInTerminal = true, + console = "integratedTerminal", + }, + cmake_executor = { -- executor to use + name = "quickfix", -- name of the executor + opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values. + default_opts = { -- a list of default and possible values for executors + quickfix = { + show = "always", -- "always", "only_on_error" + position = "belowright", -- "vertical", "horizontal", "leftabove", "aboveleft", "rightbelow", "belowright", "topleft", "botright", use `:h vertical` for example to see help on them + size = 10, + encoding = "utf-8", -- if encoding is not "utf-8", it will be converted to "utf-8" using `vim.fn.iconv` + auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful. + }, + toggleterm = { + direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float' + close_on_exit = false, -- whether close the terminal when exit + auto_scroll = true, -- whether auto scroll to the bottom + singleton = true, -- single instance, autocloses the opened one, if present + }, + overseer = { + new_task_opts = { + strategy = { + "toggleterm", + direction = "horizontal", + autos_croll = true, + quit_on_exit = "success" + } + }, -- options to pass into the `overseer.new_task` command + on_new_task = function(task) + require("overseer").open( + { enter = false, direction = "right" } + ) + end, -- a function that gets overseer.Task when it is created, before calling `task:start` + }, + terminal = { + name = "Main Terminal", + prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name + split_direction = "horizontal", -- "horizontal", "vertical" + split_size = 11, + + -- Window handling + single_terminal_per_instance = true, -- Single viewport, multiple windows + single_terminal_per_tab = true, -- Single viewport per tab + keep_terminal_static_location = true, -- Static location of the viewport if avialable + auto_resize = true, -- Resize the terminal if it already exists + + -- Running Tasks + start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun + focus = false, -- Focus on terminal when cmake task is launched. + do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter. + }, -- terminal executor uses the values in cmake_terminal + }, + }, + cmake_runner = { -- runner to use + name = "terminal", -- name of the runner + opts = {}, -- the options the runner will get, possible values depend on the runner type. See `default_opts` for possible values. + default_opts = { -- a list of default and possible values for runners + quickfix = { + show = "always", -- "always", "only_on_error" + position = "belowright", -- "bottom", "top" + size = 10, + encoding = "utf-8", + auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful. + }, + toggleterm = { + direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float' + close_on_exit = false, -- whether close the terminal when exit + auto_scroll = true, -- whether auto scroll to the bottom + singleton = true, -- single instance, autocloses the opened one, if present + }, + overseer = { + new_task_opts = { + strategy = { + "toggleterm", + direction = "horizontal", + autos_croll = true, + quit_on_exit = "success" + } + }, -- options to pass into the `overseer.new_task` command + on_new_task = function(task) + end, -- a function that gets overseer.Task when it is created, before calling `task:start` + }, + terminal = { + name = "Main Terminal", + prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name + split_direction = "horizontal", -- "horizontal", "vertical" + split_size = 11, + + -- Window handling + single_terminal_per_instance = true, -- Single viewport, multiple windows + single_terminal_per_tab = true, -- Single viewport per tab + keep_terminal_static_location = true, -- Static location of the viewport if avialable + auto_resize = true, -- Resize the terminal if it already exists + + -- Running Tasks + start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun + focus = false, -- Focus on terminal when cmake task is launched. + do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter. + }, + }, + }, + cmake_notifications = { + runner = { enabled = true }, + executor = { enabled = true }, + spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display + refresh_rate_ms = 100, -- how often to iterate icons + }, + cmake_virtual_text_support = true, -- Show the target related to current file using virtual text (at right corner) +} + +vim.keymap.set('n', "uo", "OverseerToggle", { desc = "Overseer Toggle" }) +vim.keymap.set('n', "", "OverseerRun", { desc = "Run Overseer" }) +vim.keymap.set('n', "", "OverseerToggle", { desc = "Overseer Toggle" }) diff --git a/config/nvim/plugin/codecompanion.lua b/config/nvim/plugin/codecompanion.lua index f48c44e..8ed69be 100644 --- a/config/nvim/plugin/codecompanion.lua +++ b/config/nvim/plugin/codecompanion.lua @@ -1,3 +1,10 @@ +vim.pack.add({ + { src = "https://github.com/olimorris/codecompanion.nvim" }, + { src = 'https://github.com/Davidyz/VectorCode' }, + { src = 'https://github.com/SjB/codecompanion-agentskills.nvim', version = 'support_disable_model_invocation_flag' }, + { src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' }, + { src = 'https://github.com/ravitemer/codecompanion-history.nvim' }, +}) vim.keymap.set({'n', 'v'}, 'mct', 'CodeCompanionChat Toggle', { noremap = true, silent = true, desc = "CC Toggle" }) vim.keymap.set({'n', 'v'}, 'mca', 'CodeCompanionActions', { noremap = true, silent = true, desc = "CC Action" }) diff --git a/config/nvim/plugin/conform.lua b/config/nvim/plugin/conform.lua index 6e500c1..8a42360 100644 --- a/config/nvim/plugin/conform.lua +++ b/config/nvim/plugin/conform.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/stevearc/conform.nvim' }, +}) local conform = require('conform') diff --git a/config/nvim/plugin/copilot.lua b/config/nvim/plugin/copilot.lua index ccb992d..75e739b 100644 --- a/config/nvim/plugin/copilot.lua +++ b/config/nvim/plugin/copilot.lua @@ -1,3 +1,8 @@ +vim.pack.add({ + { src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' }, + { src = 'https://github.com/zbirenbaum/copilot.lua' }, +-- { src = 'https://github.com/copilotlsp-nvim/copilot-lsp' }, +}) vim.g.copilot_nes_debounce = 500 diff --git a/config/nvim/plugin/crates.lua b/config/nvim/plugin/crates.lua index 757fc80..7bfe6c8 100644 --- a/config/nvim/plugin/crates.lua +++ b/config/nvim/plugin/crates.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/Saecki/crates.nvim' }, +}) local crates = require("crates") local opts = { silent = true } diff --git a/config/nvim/plugin/csvview.lua b/config/nvim/plugin/csvview.lua index 1bcd309..0661a05 100644 --- a/config/nvim/plugin/csvview.lua +++ b/config/nvim/plugin/csvview.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/hat0uma/csvview.nvim' }, +}) require('csvview').setup({ parser = { comments = { "#", "//" } }, diff --git a/config/nvim/plugin/fabric-ai.lua b/config/nvim/plugin/fabric-ai.lua index eba8fcf..5d8801c 100644 --- a/config/nvim/plugin/fabric-ai.lua +++ b/config/nvim/plugin/fabric-ai.lua @@ -1,4 +1,8 @@ if vim.fn.executable("fabric-ai") == 1 then + vim.pack.add({ + { src = 'https://github.com/PhantomYdn/fabric-ai.nvim' }, + }) + require('fabric-ai').setup({ -- Default configuration (all optional) fabric_path = "fabric-ai", -- Path to Fabric CLI diff --git a/config/nvim/plugin/flash.lua b/config/nvim/plugin/flash.lua index 0fb2d3f..dd9162e 100644 --- a/config/nvim/plugin/flash.lua +++ b/config/nvim/plugin/flash.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/folke/flash.nvim' }, +}) require('flash').setup({ modes = { diff --git a/config/nvim/plugin/git.lua b/config/nvim/plugin/git.lua index c3270a3..db8b3b0 100644 --- a/config/nvim/plugin/git.lua +++ b/config/nvim/plugin/git.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/lewis6991/gitsigns.nvim' }, +}) vim.keymap.set({ 'n' }, 'ug', "Gitsigns toggle_signs", { desc = 'Gitsigns toggle' }) diff --git a/config/nvim/plugin/jj.lua b/config/nvim/plugin/jj.lua index 18f9e28..b176fc7 100644 --- a/config/nvim/plugin/jj.lua +++ b/config/nvim/plugin/jj.lua @@ -1,5 +1,10 @@ if vim.fn.executable("jj") == 1 then - vim.pack.add({ { src = 'https://github.com/NicolasGB/jj.nvim' } }) + vim.pack.add({ + { src = 'https://github.com/Glhou/jjsigns.nvim', version = 'fix/skip-extra-lines' }, + { src = 'https://github.com/julienvincent/hunk.nvim' }, + { src = 'https://github.com/NicolasGB/jj.nvim' }, + { src = 'https://github.com/rafikdraoui/jj-diffconflicts' }, + }) local cmd = require("jj.cmd") local annotate = require("jj.annotate") diff --git a/config/nvim/plugin/jupynvim.lua b/config/nvim/plugin/jupynvim.lua new file mode 100644 index 0000000..659ed22 --- /dev/null +++ b/config/nvim/plugin/jupynvim.lua @@ -0,0 +1,19 @@ +vim.pack.add({ + { src = 'https://github.com/sheng-tse/jupynvim' }, +}) + +vim.api.nvim_create_autocmd('PackChanged', { + callback = function() + local core = vim.fn.stdpath("data") .. "/site/pack/core/opt/jupynvim/core" + vim.fn.system({ + "cargo", "build", "--release", + "--manifest-path", core .. "/Cargo.toml", + }) + end +}) + +require("jupynvim").setup({ + log_level = "debug", + image_renderer = "placeholder", -- "placeholder", "kitty", or "chafa" +}) + diff --git a/config/nvim/plugin/just.lua b/config/nvim/plugin/just.lua new file mode 100644 index 0000000..2f59b99 --- /dev/null +++ b/config/nvim/plugin/just.lua @@ -0,0 +1,14 @@ +if vim.fn.executable("just") == 1 then + vim.pack.add({ { src = 'https://github.com/al1-ce/just.nvim' } }) + + require("just").setup({ + fidget_message_limit = 32, -- limit for length of fidget progress message + open_qf_on_error = true, -- opens quickfix when task fails + open_qf_on_run = true, -- opens quickfix when running `run` task (`:JustRun`) + open_qf_on_any = false; -- opens quickfix when running any task (overrides other open_qf options) + autoscroll_qf = true, -- automatically scroll quickfix window on output + register_commands = true, -- if set to true then commands (:Just*) will be registered + notify = vim.notify, -- what to use to show messages/errors + }) +end + diff --git a/config/nvim/plugin/kulala.lua b/config/nvim/plugin/kulala.lua new file mode 100644 index 0000000..4a85e88 --- /dev/null +++ b/config/nvim/plugin/kulala.lua @@ -0,0 +1,5 @@ +vim.pack.add({ + { src = 'https://github.com/mistweaverco/kulala.nvim' }, +}) + +require('kulala').setup() diff --git a/config/nvim/plugin/lsp.lua b/config/nvim/plugin/lsp.lua index 24c80dc..6c5fc54 100644 --- a/config/nvim/plugin/lsp.lua +++ b/config/nvim/plugin/lsp.lua @@ -1,3 +1,13 @@ +vim.pack.add({ + { src = 'https://github.com/williamboman/mason-lspconfig.nvim' }, + { src = 'https://github.com/williamboman/mason.nvim' }, + { src = 'https://github.com/neovim/nvim-lspconfig' }, + { src = 'https://github.com/rcarriga/nvim-dap-ui' }, + { src = 'https://github.com/mfussenegger/nvim-dap' }, + { src = 'https://github.com/jay-babu/mason-nvim-dap.nvim' }, + { src = 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim' }, +}) + vim.keymap.set("i", "", function() if not vim.lsp.inline_completion.get() then return "" diff --git a/config/nvim/plugin/lualine.lua b/config/nvim/plugin/lualine.lua index dcf010a..409fd68 100644 --- a/config/nvim/plugin/lualine.lua +++ b/config/nvim/plugin/lualine.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/nvim-lualine/lualine.nvim' }, +}) + local function truncate_branch_name(branch) if not branch or branch == "" then return "" diff --git a/config/nvim/plugin/luasnip.lua b/config/nvim/plugin/luasnip.lua index bd4f5e5..79070cb 100644 --- a/config/nvim/plugin/luasnip.lua +++ b/config/nvim/plugin/luasnip.lua @@ -1,3 +1,8 @@ +vim.pack.add({ + { src = 'https://github.com/L3MON4D3/LuaSnip' }, + { src = 'https://github.com/rafamadriz/friendly-snippets' }, +}) + -- build = "make install_jsregexp", require('luasnip.loaders.from_vscode').lazy_load() require('luasnip.loaders.from_vscode').lazy_load({ paths = "./json_snippets" }) diff --git a/config/nvim/plugin/markdown-preview.lua b/config/nvim/plugin/markdown-preview.lua index 92fd40c..0a11c7a 100644 --- a/config/nvim/plugin/markdown-preview.lua +++ b/config/nvim/plugin/markdown-preview.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/iamcco/markdown-preview.nvim' }, + { src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' }, +}) vim.g.mkdp_filetypes = { "markdown" } vim.keymap.set("n", "xmp", "MarkdownPreview", { desc ="Markdown Preview" }) diff --git a/config/nvim/plugin/meow-review.lua b/config/nvim/plugin/meow-review.lua index b254c07..28cadc8 100644 --- a/config/nvim/plugin/meow-review.lua +++ b/config/nvim/plugin/meow-review.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/SjB/meow.review.nvim', version = 'fix-invalid-buffer-id' }, +}) + require("meow.review").setup({ -- Your custom configuration goes here }) diff --git a/config/nvim/plugin/mini.lua b/config/nvim/plugin/mini.lua index 745745c..0cf8a88 100644 --- a/config/nvim/plugin/mini.lua +++ b/config/nvim/plugin/mini.lua @@ -1,3 +1,17 @@ +vim.pack.add({ + { src = 'https://github.com/nvim-mini/mini.ai' }, + { src = 'https://github.com/nvim-mini/mini.align' }, + { src = 'https://github.com/nvim-mini/mini.bracketed' }, + { src = 'https://github.com/nvim-mini/mini.extra' }, + { src = 'https://github.com/nvim-mini/mini.files' }, + { src = 'https://github.com/nvim-mini/mini.hipatterns' }, + { src = 'https://github.com/nvim-mini/mini.move' }, + { src = 'https://github.com/nvim-mini/mini.operators' }, + { src = 'https://github.com/nvim-mini/mini.sessions' }, + { src = 'https://github.com/nvim-mini/mini.splitjoin' }, + { src = 'https://github.com/nvim-mini/mini.surround' }, +}) + local MiniExtra = require('mini.extra') local ai = require('mini.ai') local spec_treesitter = ai.gen_spec.treesitter diff --git a/config/nvim/plugin/mise.lua b/config/nvim/plugin/mise.lua new file mode 100644 index 0000000..7249c14 --- /dev/null +++ b/config/nvim/plugin/mise.lua @@ -0,0 +1,13 @@ +if vim.fn.executable("mise") == 1 then + vim.pack.add({ + { src = 'https://plugins.ejri.dev/mise.nvim' }, + }) + + require('mise').setup({ + unset_vars = true, + load_on_setup = true, + force_run = true, + }) + + vim.keymap.set({'n'}, 'xM', 'Lazy reload mise.nvim', { desc = "Reload mise environment" }) +end diff --git a/config/nvim/plugin/neogit.lua b/config/nvim/plugin/neogit.lua new file mode 100644 index 0000000..82ee4f6 --- /dev/null +++ b/config/nvim/plugin/neogit.lua @@ -0,0 +1,25 @@ +vim.pack.add({ + { src = 'https://github.com/NeogitOrg/neogit' }, + { src = 'https://github.com/sindrets/diffview.nvim' }, +}) + +require('neogit').setup({ + -- disable_context_highlighting = true, + disable_commit_confirmation = true, + disable_insert_on_commit = false, + disable_signs = true, + integrations = { diffview = true, fz_lua = false }, + auto_refresh = false, + console_timeout = 5000, + auto_show_console = false, + sections = { + stashes = { + folded = false, + }, + recent = { folded = false }, + }, +}) + +vim.keymap.set({'n'}, 'vn', 'Neogit kind=auto', { desc = 'Neogit' }) +vim.keymap.set({'n'}, 'vN', 'Neogit kind=floating', { desc = 'Neogit' }) + diff --git a/config/nvim/plugin/nvim-ansible.lua b/config/nvim/plugin/nvim-ansible.lua index 4f50bd0..8efef5f 100644 --- a/config/nvim/plugin/nvim-ansible.lua +++ b/config/nvim/plugin/nvim-ansible.lua @@ -1,2 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/mfussenegger/nvim-ansible' }, +}) + vim.keymap.set('v', 'xa', function() require('ansible').run() end, { buffer = true, silent = true, desc = 'execute via ansible' }) vim.keymap.set('n', 'xa', ":w :lua require('ansible').run()", { buffer = true, silent = true, desc = 'execute via ansible' }) diff --git a/config/nvim/plugin/openscad.lua b/config/nvim/plugin/openscad.lua index 7a1b854..136cf75 100644 --- a/config/nvim/plugin/openscad.lua +++ b/config/nvim/plugin/openscad.lua @@ -1,2 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/salkin-mada/openscad.nvim' }, +}) + vim.g.openscad_load_snippets = true require("openscad").setup({}) diff --git a/config/nvim/plugin/orgmode.lua b/config/nvim/plugin/orgmode.lua index 9d70e60..0b488d7 100644 --- a/config/nvim/plugin/orgmode.lua +++ b/config/nvim/plugin/orgmode.lua @@ -1,4 +1,8 @@ - +vim.pack.add({ + { src = 'https://github.com/SjB/orgmode', version = 'sjb-wip' }, + { src = 'https://github.com/chipsenkbeil/org-roam.nvim' }, + { src = 'https://github.com/akinsho/org-bullets.nvim' }, +}) require('orgmode').setup({ ui = { input = { diff --git a/config/nvim/plugin/outline.lua b/config/nvim/plugin/outline.lua index 59d22fc..a3f4ea1 100644 --- a/config/nvim/plugin/outline.lua +++ b/config/nvim/plugin/outline.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/hedyhli/outline.nvim' }, +}) + require('outline').setup({ symbol_folding = { -- Unfold entire symbol tree by default with false, otherwise enter a diff --git a/config/nvim/plugin/persistence.lua b/config/nvim/plugin/persistence.lua index 37e36e7..55b674f 100644 --- a/config/nvim/plugin/persistence.lua +++ b/config/nvim/plugin/persistence.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/folke/persistence.nvim' }, +}) + require("persistence").setup({ dir = vim.fn.expand(vim.fn.stdpath("state") .. "/sessions/"), -- directory where session files are saved options = { "buffers", "curdir", "tabpages", "winsize" }, -- sessionoptions used when saving sessions diff --git a/config/nvim/plugin/quicker.lua b/config/nvim/plugin/quicker.lua index 5a7e761..f4ab307 100644 --- a/config/nvim/plugin/quicker.lua +++ b/config/nvim/plugin/quicker.lua @@ -1 +1,4 @@ +vim.pack.add({ + { src = 'https://github.com/stevearc/quicker.nvim' }, +}) require('quicker').setup() diff --git a/config/nvim/plugin/snacks.lua b/config/nvim/plugin/snacks.lua index cca559b..05b7546 100644 --- a/config/nvim/plugin/snacks.lua +++ b/config/nvim/plugin/snacks.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = "https://github.com/folke/snacks.nvim" }, +}) + require('snacks').setup({ animate = { enabled = false, diff --git a/config/nvim/plugin/spectre.lua b/config/nvim/plugin/spectre.lua index ed8a1ad..b4a4ca0 100644 --- a/config/nvim/plugin/spectre.lua +++ b/config/nvim/plugin/spectre.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/nvim-pack/nvim-spectre' }, +}) vim.keymap.set({ 'n' }, "sr", function() require("spectre").open() end, { desc = "Replace in files (Spectre)" }) diff --git a/config/nvim/plugin/sshfs.lua b/config/nvim/plugin/sshfs.lua new file mode 100644 index 0000000..47df3b4 --- /dev/null +++ b/config/nvim/plugin/sshfs.lua @@ -0,0 +1,14 @@ + +vim.pack.add({ + { src = 'https://github.com/uhs-robert/sshfs.nvim' }, +}) + +require('sshfs').setup({ + mounts = { + base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created + }, + lead_prefix = "t", + -- Refer to the configuration section below + -- or leave empty for defaults +}) + diff --git a/config/nvim/plugin/toggleterm.lua b/config/nvim/plugin/toggleterm.lua index 03d1ffe..eaacb3f 100644 --- a/config/nvim/plugin/toggleterm.lua +++ b/config/nvim/plugin/toggleterm.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/akinsho/toggleterm.nvim' }, +}) + require("toggleterm").setup({ -- highlights = require("rose-pine.plugins.toggleterm"), size = 20, diff --git a/config/nvim/plugin/tools.lua b/config/nvim/plugin/tools.lua index e80e3e6..734fa70 100644 --- a/config/nvim/plugin/tools.lua +++ b/config/nvim/plugin/tools.lua @@ -1,275 +1,12 @@ -require('kulala').setup() - -if vim.fn.executable("just") == 1 then - vim.pack.add({ { src = 'https://github.com/al1-ce/just.nvim' } }) - - require("just").setup({ - fidget_message_limit = 32, -- limit for length of fidget progress message - open_qf_on_error = true, -- opens quickfix when task fails - open_qf_on_run = true, -- opens quickfix when running `run` task (`:JustRun`) - open_qf_on_any = false; -- opens quickfix when running any task (overrides other open_qf options) - autoscroll_qf = true, -- automatically scroll quickfix window on output - register_commands = true, -- if set to true then commands (:Just*) will be registered - notify = vim.notify, -- what to use to show messages/errors - }) -end +vim.pack.add({ + { src = 'https://github.com/3rd/image.nvim' }, + { src = 'https://github.com/HakonHarnes/img-clip.nvim' }, +}) require('img-clip').setup() require('image').setup({ backend = "sixel" }) -require('sshfs').setup({ - mounts = { - base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created - }, - lead_prefix = "t", - -- Refer to the configuration section below - -- or leave empty for defaults -}) - -require('mise').setup({ - unset_vars = true, - load_on_setup = true, - force_run = true, -}) - -require('neogit').setup({ - -- disable_context_highlighting = true, - disable_commit_confirmation = true, - disable_insert_on_commit = false, - disable_signs = true, - integrations = { diffview = true, fz_lua = false }, - auto_refresh = false, - console_timeout = 5000, - auto_show_console = false, - sections = { - stashes = { - folded = false, - }, - recent = { folded = false }, - }, -}) - -if vim.fn.executable("zoxide") == 1 then - require('zincoxide').setup({ - zincoxide_cmd = "zoxide", - complete = true, - behaviour = "tabs", - }) -end - -require('trouble').setup({ - defaults = { - auto_close = true, - auto_open = true, - }, -}) - -vim.api.nvim_create_autocmd('PackChanged', { - callback = function() - local core = vim.fn.stdpath("data") .. "/site/pack/core/opt/jupynvim/core" - vim.fn.system({ - "cargo", "build", "--release", - "--manifest-path", core .. "/Cargo.toml", - }) - end -}) - -require("jupynvim").setup({ - log_level = "debug", - image_renderer = "placeholder", -- "placeholder", "kitty", or "chafa" -}) - -require("overseer").setup({ - templates = { "builtin", "user" }, - component_aliases = { - default = { - { 'display_duration', detail_level = 2 }, - 'on_output_summarize', - 'on_exit_set_status', - 'on_complete_notify', - 'on_result_diagnostics', - {'on_result_diagnostics_quickfix', open = true, close = true}, - }, - default_vscode = { - 'default', - 'on_result_diagnostics', - {'on_result_diagnostics_quickfix', open = true, close = true}, - 'on_complete_notify', - }, - } -}) - --- local pm = require("overseer.template.vscode.problem_matcher") --- pm.register_problem_matcher("$rustc", { - -- fileLocation = { "autoDetect", "${cwd}" }, - -- pattern = { - -- --regexp = "^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$", - -- -- vim_regexp = "\\v^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$", - -- regexp = "^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$", - -- vim_regexp = "\\v^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$", - -- file = 1, - -- line = 2, - -- column = 3, - -- } - -- }) - -local osys = require("cmake-tools.osys") -require("cmake-tools").setup { - cmake_command = "cmake", -- this is used to specify cmake command path - ctest_command = "ctest", -- this is used to specify ctest command path - cmake_use_preset = true, - cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt - cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate` - cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild` - -- support macro expansion: - -- ${kit} - -- ${kitGenerator} - -- ${variant:xx} - cmake_build_directory = function() - if osys.iswin32 then - return "out\\${variant:buildType}" - end - return "out/${variant:buildType}" - end, -- this is used to specify generate directory for cmake, allows macro expansion, can be a string or a function returning the string, relative to cwd. - cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir - cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false - cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage - cmake_variants_message = { - short = { show = true }, -- whether to show short message - long = { show = true, max_length = 40 }, -- whether to show long message - }, - cmake_dap_configuration = { -- debug settings for cmake - name = "cpp", - type = "codelldb", - request = "launch", - stopOnEntry = false, - runInTerminal = true, - console = "integratedTerminal", - }, - cmake_executor = { -- executor to use - name = "quickfix", -- name of the executor - opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values. - default_opts = { -- a list of default and possible values for executors - quickfix = { - show = "always", -- "always", "only_on_error" - position = "belowright", -- "vertical", "horizontal", "leftabove", "aboveleft", "rightbelow", "belowright", "topleft", "botright", use `:h vertical` for example to see help on them - size = 10, - encoding = "utf-8", -- if encoding is not "utf-8", it will be converted to "utf-8" using `vim.fn.iconv` - auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful. - }, - toggleterm = { - direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float' - close_on_exit = false, -- whether close the terminal when exit - auto_scroll = true, -- whether auto scroll to the bottom - singleton = true, -- single instance, autocloses the opened one, if present - }, - overseer = { - new_task_opts = { - strategy = { - "toggleterm", - direction = "horizontal", - autos_croll = true, - quit_on_exit = "success" - } - }, -- options to pass into the `overseer.new_task` command - on_new_task = function(task) - require("overseer").open( - { enter = false, direction = "right" } - ) - end, -- a function that gets overseer.Task when it is created, before calling `task:start` - }, - terminal = { - name = "Main Terminal", - prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name - split_direction = "horizontal", -- "horizontal", "vertical" - split_size = 11, - - -- Window handling - single_terminal_per_instance = true, -- Single viewport, multiple windows - single_terminal_per_tab = true, -- Single viewport per tab - keep_terminal_static_location = true, -- Static location of the viewport if avialable - auto_resize = true, -- Resize the terminal if it already exists - - -- Running Tasks - start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun - focus = false, -- Focus on terminal when cmake task is launched. - do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter. - }, -- terminal executor uses the values in cmake_terminal - }, - }, - cmake_runner = { -- runner to use - name = "terminal", -- name of the runner - opts = {}, -- the options the runner will get, possible values depend on the runner type. See `default_opts` for possible values. - default_opts = { -- a list of default and possible values for runners - quickfix = { - show = "always", -- "always", "only_on_error" - position = "belowright", -- "bottom", "top" - size = 10, - encoding = "utf-8", - auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful. - }, - toggleterm = { - direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float' - close_on_exit = false, -- whether close the terminal when exit - auto_scroll = true, -- whether auto scroll to the bottom - singleton = true, -- single instance, autocloses the opened one, if present - }, - overseer = { - new_task_opts = { - strategy = { - "toggleterm", - direction = "horizontal", - autos_croll = true, - quit_on_exit = "success" - } - }, -- options to pass into the `overseer.new_task` command - on_new_task = function(task) - end, -- a function that gets overseer.Task when it is created, before calling `task:start` - }, - terminal = { - name = "Main Terminal", - prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name - split_direction = "horizontal", -- "horizontal", "vertical" - split_size = 11, - - -- Window handling - single_terminal_per_instance = true, -- Single viewport, multiple windows - single_terminal_per_tab = true, -- Single viewport per tab - keep_terminal_static_location = true, -- Static location of the viewport if avialable - auto_resize = true, -- Resize the terminal if it already exists - - -- Running Tasks - start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun - focus = false, -- Focus on terminal when cmake task is launched. - do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter. - }, - }, - }, - cmake_notifications = { - runner = { enabled = true }, - executor = { enabled = true }, - spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display - refresh_rate_ms = 100, -- how often to iterate icons - }, - cmake_virtual_text_support = true, -- Show the target related to current file using virtual text (at right corner) -} - -vim.keymap.set({'n'}, 'vn', 'Neogit kind=auto', { desc = 'Neogit' }) -vim.keymap.set({'n'}, 'vN', 'Neogit kind=floating', { desc = 'Neogit' }) - vim.keymap.set({'n'}, 'kp', 'PasteImage', { desc = "Paste image from system clipboard" }) -vim.keymap.set({'n'}, 'xM', 'Lazy reload mise.nvim', { desc = "Reload mise environment" }) -vim.keymap.set({'n'}, 'uu', vim.cmd.UndotreeToggle, { desc = 'Undo Tree toggle' }) -vim.keymap.set('n', "cx", "Trouble diagnostics toggle", { desc = "Diagnostics (Trouble)" }) -vim.keymap.set('n', "cX", "Trouble diagnostics toggle filter.buf=0", { desc = "Buffer Diagnostics (Trouble)" }) -vim.keymap.set('n', "cs", "Trouble symbols toggle focus=false", { desc = "Symbols (Trouble)" }) -vim.keymap.set('n', "cl", "Trouble lsp toggle focus=false win.position=right", { desc = "LSP Definitions / references / ... (Trouble)" }) -vim.keymap.set('n', "cL", "Trouble loclist toggle", { desc = "Location List (Trouble)" }) -vim.keymap.set('n', "cQ", "Trouble qflist toggle", { desc = "Quickfix List (Trouble)" }) - -vim.keymap.set('n', "uo", "OverseerToggle", { desc = "Overseer Toggle" }) -vim.keymap.set('n', "", "OverseerRun", { desc = "Run Overseer" }) -vim.keymap.set('n', "", "OverseerToggle", { desc = "Overseer Toggle" }) diff --git a/config/nvim/plugin/treesitter.lua b/config/nvim/plugin/treesitter.lua index 3a30ba1..ee5614b 100644 --- a/config/nvim/plugin/treesitter.lua +++ b/config/nvim/plugin/treesitter.lua @@ -1,3 +1,12 @@ +vim.pack.add({ + { src = 'https://github.com/nvim-treesitter/nvim-treesitter', version = 'main' }, + { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, + { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, + { src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' }, + { src = 'https://github.com/romus204/tree-sitter-manager.nvim' }, + { src = 'https://github.com/JoosepAlviste/nvim-ts-context-commentstring' }, +}) + require("tree-sitter-manager").setup({ -- Default Options -- ensure_installed = {}, -- list of parsers to install at the start of a neovim session diff --git a/config/nvim/plugin/trouble.lua b/config/nvim/plugin/trouble.lua new file mode 100644 index 0000000..816ebe9 --- /dev/null +++ b/config/nvim/plugin/trouble.lua @@ -0,0 +1,18 @@ +vim.pack.add({ + { src = "https://github.com/folke/trouble.nvim" }, +}) + +require('trouble').setup({ + defaults = { + auto_close = true, + auto_open = true, + }, +}) + +vim.keymap.set('n', "cx", "Trouble diagnostics toggle", { desc = "Diagnostics (Trouble)" }) +vim.keymap.set('n', "cX", "Trouble diagnostics toggle filter.buf=0", { desc = "Buffer Diagnostics (Trouble)" }) +vim.keymap.set('n', "cs", "Trouble symbols toggle focus=false", { desc = "Symbols (Trouble)" }) +vim.keymap.set('n', "cl", "Trouble lsp toggle focus=false win.position=right", { desc = "LSP Definitions / references / ... (Trouble)" }) +vim.keymap.set('n', "cL", "Trouble loclist toggle", { desc = "Location List (Trouble)" }) +vim.keymap.set('n', "cQ", "Trouble qflist toggle", { desc = "Quickfix List (Trouble)" }) + diff --git a/config/nvim/plugin/undotree.lua b/config/nvim/plugin/undotree.lua new file mode 100644 index 0000000..de142a4 --- /dev/null +++ b/config/nvim/plugin/undotree.lua @@ -0,0 +1,5 @@ +vim.pack.add({ + { src = 'https://github.com/mbbill/undotree' }, +}) + +vim.keymap.set({'n'}, 'uu', vim.cmd.UndotreeToggle, { desc = 'Undo Tree toggle' }) diff --git a/config/nvim/plugin/vim-tmux-navigator.lua b/config/nvim/plugin/vim-tmux-navigator.lua index baead05..4941b43 100644 --- a/config/nvim/plugin/vim-tmux-navigator.lua +++ b/config/nvim/plugin/vim-tmux-navigator.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/christoomey/vim-tmux-navigator' }, +}) + vim.keymap.set('n', "", "TmuxNavigateLeft" ) vim.keymap.set('n', "", "TmuxNavigateDown" ) vim.keymap.set('n', "", "TmuxNavigateUp" ) diff --git a/config/nvim/plugin/vimtex.lua b/config/nvim/plugin/vimtex.lua index eafba38..adfdc7c 100644 --- a/config/nvim/plugin/vimtex.lua +++ b/config/nvim/plugin/vimtex.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/lervag/vimtex' }, +}) vim.g.tex_flavor = "latex" vim.g.vimtex_view_method = "zathura" -- Change to your preferred PDF viewer vim.g.vimtex_quickfix_mode = 0 -- Disable quickfix window diff --git a/config/nvim/plugin/which-key.lua b/config/nvim/plugin/which-key.lua index 94a6089..20856ed 100644 --- a/config/nvim/plugin/which-key.lua +++ b/config/nvim/plugin/which-key.lua @@ -1,3 +1,7 @@ +vim.pack.add({ + { src = 'https://github.com/folke/which-key.nvim' }, +}) + require('which-key').setup({ icons = { -- set icon mappings to true if you have a Nerd Font diff --git a/config/nvim/plugin/window-picker.lua b/config/nvim/plugin/window-picker.lua index 118c17c..34cc160 100644 --- a/config/nvim/plugin/window-picker.lua +++ b/config/nvim/plugin/window-picker.lua @@ -1,3 +1,6 @@ +vim.pack.add({ + { src = 'https://github.com/ten3roberts/window-picker.nvim' }, +}) require('window-picker').setup({ -- Default keys to annotate, keys will be used in order. The default uses the diff --git a/config/nvim/plugin/zoxide.lua b/config/nvim/plugin/zoxide.lua new file mode 100644 index 0000000..807f639 --- /dev/null +++ b/config/nvim/plugin/zoxide.lua @@ -0,0 +1,11 @@ +if vim.fn.executable("zoxide") == 1 then + vim.pack.add({ + { src = 'https://github.com/thunder-coding/zincoxide' }, + }) + require('zincoxide').setup({ + zincoxide_cmd = "zoxide", + complete = true, + behaviour = "tabs", + }) +end +