diff --git a/lua/wrap/lazy.lua b/lua/wrap/lazy.lua index fb96424..dc56c45 100644 --- a/lua/wrap/lazy.lua +++ b/lua/wrap/lazy.lua @@ -62,7 +62,10 @@ require("lazy").setup({ { "nvim-telescope/telescope.nvim", tag = "0.1.8", - dependencies = { "nvim-lua/plenary.nvim" } + dependencies = { + "nvim-lua/plenary.nvim", + { "nvim-telescope/telescope-fzf-native.nvim", build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release" }, + } }, -- the goat @@ -176,4 +179,6 @@ require("lazy").setup({ require("hlsearch").setup() end }, + + { 'mistweaverco/kulala.nvim', opts = {} }, }) diff --git a/lua/wrap/raddbg.lua b/lua/wrap/raddbg.lua index f2b3239..0cec349 100644 --- a/lua/wrap/raddbg.lua +++ b/lua/wrap/raddbg.lua @@ -12,18 +12,25 @@ local function to_posix_path(path) end local function read_entire_file(file) - local f = io.open(file, "rb") - if f then - local content = f:read("*all") - f:close() - return content + local attempts = 5 + local delay = 5 -- milliseconds + + for i = 1, attempts do + local f = io.open(file, "rb") + if f then + local content = f:read("*all") + f:close() + return content + end + vim.loop.sleep(delay) -- Give some time before retrying end + return "" end vim.api.nvim_set_hl(0, raddbg_breakpoint_ns, { fg="#EE6969" }) -vim.fn.sign_define(raddbg_breakpoint_ns, { text="", texthl=raddbg_breakpoint_ns, linehl="", numhl="" }) +vim.fn.sign_define(raddbg_breakpoint_ns, { text="", texthl=raddbg_breakpoint_ns, linehl="", numhl="" }) local raddbg_root = to_posix_path(os.getenv("APPDATA") .. "\\raddbg\\") @@ -119,14 +126,6 @@ fs_watcher:start( end) ) -local function raddbg_toggle_breakpoint(in_line_number) - local file_path = to_posix_path(vim.fn.expand("%:p")) - local line_number = in_line_number or vim.api.nvim_win_get_cursor(0)[1] - - raddbg_cmd("toggle_breakpoint", { file_path .. ":" .. line_number }); - raddbg_cmd("write_project_data"); -end - local function raddbg_goto_current_file() local file_path = to_posix_path(vim.fn.expand("%:p")) print(file_path) @@ -136,8 +135,30 @@ local function raddbg_goto_current_file() raddbg_cmd("goto_line", { line_number }); end -vim.keymap.set("n", "", ":RaddbgToggleBreakpoint", { silent = true }) +local function raddbg_toggle_breakpoint(in_line_number) + local file_path = to_posix_path(vim.fn.expand("%:p")) + local line_number = in_line_number or vim.api.nvim_win_get_cursor(0)[1] + + raddbg_cmd("toggle_breakpoint", { file_path .. ":" .. line_number }); + + local timer = vim.loop.new_timer() + timer:start(20, 0, vim.schedule_wrap(function() + raddbg_cmd("write_project_data"); + end)) +end + +local function raddbg_run(in_line_number) + raddbg_cmd("run"); +end + +vim.keymap.set("n", "", ":RaddbgToggleBreakpoint", { silent = true }) +-- vim.keymap.set("n", "", ":RaddbgRun", { silent = true }) +vim.keymap.set("n", "", function() + if pcall(function() vim.cmd.make() end) then + vim.cmd "RaddbgRun" + end +end, { silent = true }) -- Commands @@ -149,6 +170,10 @@ vim.api.nvim_create_user_command("RaddbgToggleBreakpoint", function() raddbg_toggle_breakpoint() end, {}) +vim.api.nvim_create_user_command("RaddbgRun", function() + raddbg_run() +end, {}) + vim.api.nvim_create_autocmd("BufReadPost", { pattern = "*", callback = read_breakpoints_from_project diff --git a/lua/wrap/remaps.lua b/lua/wrap/remaps.lua index 7493ec5..ba99da9 100644 --- a/lua/wrap/remaps.lua +++ b/lua/wrap/remaps.lua @@ -130,22 +130,22 @@ end -- Overseer.nvim ---------------------------------------------------------------------------- -local overseer = require("overseer") - -if overseer then - vim.api.nvim_create_user_command("OverseerRestartLast", function() - local tasks = overseer.list_tasks({ recent_first = true }) - if vim.tbl_isempty(tasks) then - -- no tasks to restart, let the user pick - overseer.run_template() - else - overseer.run_action(tasks[1], "restart") - end - end, {}) - - vim.keymap.set("n", "", function() vim.cmd "OverseerRestartLast" end) - vim.keymap.set("n", "", function() vim.cmd "OverseerRun" end) -end +-- local overseer = require("overseer") +-- +-- if overseer then +-- vim.api.nvim_create_user_command("OverseerRestartLast", function() +-- local tasks = overseer.list_tasks({ recent_first = true }) +-- if vim.tbl_isempty(tasks) then +-- -- no tasks to restart, let the user pick +-- overseer.run_template() +-- else +-- overseer.run_action(tasks[1], "restart") +-- end +-- end, {}) +-- +-- vim.keymap.set("n", "", function() vim.cmd "OverseerRestartLast" end) +-- vim.keymap.set("n", "", function() vim.cmd "OverseerRun" end) +-- end ---------------------------------------------------------------------------- -- Formatting / Code Completion /Misc