diff --git a/config/nvim/lua/plugins/tools.lua b/config/nvim/lua/plugins/tools.lua index 41bb612..9716d46 100644 --- a/config/nvim/lua/plugins/tools.lua +++ b/config/nvim/lua/plugins/tools.lua @@ -1,151 +1,4 @@ return { - - { - 'Civitasv/cmake-tools.nvim', - lazy = true, - config = function () - 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) - } - end, - }, { "al1-ce/just.nvim", dependencies = { @@ -224,87 +77,6 @@ return { }, } }, - { - 'stevearc/overseer.nvim', - keys = { - { "xo", "OverseerOpen", desc = "Open Overseer" }, - { "to", "OverseerToggle", desc = "Overseer Toggle" }, - { "", "OverseerRun", desc = "Run Overseer" }, - { "", "OverseerToggle", desc = "Overseer Toggle" }, - }, - config = function() - require("overseer").setup({ - templates = { "builtin", "user" }, - component_aliases = { - default = { - { 'display_duration', detail_level = 2 }, - 'on_output_summarize', - 'on_exit_set_status', - 'on_result_diagnostics_quickfix', - 'on_complete_notify', - { "on_complete_dispose", require_view = { "SUCCESS", "FAILURE" } }, - }, - default_vscode = { - 'default', - 'on_result_diagnostics', - 'on_result_diagnostics_quickfix', - '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, - -- } - -- }) - - end, - }, - { - "otavioschwanck/arrow.nvim", - dependencies = { - { - "nvim-tree/nvim-web-devicons" - }, - -- or if using `mini.icons` - -- { "echasnovski/mini.icons" }, - }, - opts = { - show_icons = true, - leader_key = ';', -- Recommended to be a single key - buffer_leader_key = ';', -- Per Buffer Mappings - } - }, - { - "nvim-pack/nvim-spectre", - lazy = true, - cmd = { "Spectre" }, - keys = { - { "sr", function() require("spectre").open() end, desc = "Replace in files (Spectre)" }, - }, - opts = { - open_cmd = "noswapfile vnew", - highlight = { - search = "SpectreSearch", - replace = "SpectreReplace", - }, - mapping = { - ["send_to_qf"] = { - map = "", - cmd = "lua require('spectre.actions').send_to_qf()", - desc = "send all items to quickfix", - }, - }, - } - }, { "thunder-coding/zincoxide", opts = { @@ -319,17 +91,4 @@ return { }, cmd = { "Z", "Zg", "Zt", "Zw" }, }, - { - "folke/persistence.nvim", - event = "BufReadPre", - opts = { options = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp" } }, - -- stylua: ignore - keys = { - { "xr", function() require("persistence").load() end, desc = "Restore Session" }, - { "xs", function() require("persistence").save() end, desc = "Save Session" }, - { "xl", function() require("persistence").load({ last = true }) end, desc = "Restore Last Session" }, - { "xd", function() require("persistence").stop() end, desc = "Don't Save Current Session" }, - }, - }, - }