diff --git a/lua/cp/setup.lua b/lua/cp/setup.lua index 991242e..588abca 100644 --- a/lua/cp/setup.lua +++ b/lua/cp/setup.lua @@ -244,7 +244,11 @@ function M.setup_problem(problem_id, language) if vim.api.nvim_buf_is_valid(prov.bufnr) then vim.api.nvim_buf_set_name(prov.bufnr, source_file) vim.bo[prov.bufnr].swapfile = true - vim.cmd(string.format('silent keepalt noautocmd write! %s', vim.fn.fnameescape(source_file))) + vim.cmd.write({ + vim.fn.fnameescape(source_file), + bang = true, + mods = { silent = true, noautocmd = true, keepalt = true }, + }) state.set_solution_win(vim.api.nvim_get_current_win()) if config.hooks and config.hooks.setup_code and not vim.b[prov.bufnr].cp_setup_done then local ok = pcall(config.hooks.setup_code, state) diff --git a/lua/cp/ui/layouts.lua b/lua/cp/ui/layouts.lua index 730c17e..4e737d3 100644 --- a/lua/cp/ui/layouts.lua +++ b/lua/cp/ui/layouts.lua @@ -11,7 +11,7 @@ local function create_none_diff_layout(parent_win, expected_content, actual_cont vim.api.nvim_set_current_win(parent_win) vim.cmd.split() - vim.cmd('resize ' .. math.floor(vim.o.lines * 0.35)) + vim.cmd.resize(math.floor(vim.o.lines * 0.35)) local actual_win = vim.api.nvim_get_current_win() vim.api.nvim_win_set_buf(actual_win, actual_buf) @@ -50,7 +50,7 @@ local function create_vim_diff_layout(parent_win, expected_content, actual_conte vim.api.nvim_set_current_win(parent_win) vim.cmd.split() - vim.cmd('resize ' .. math.floor(vim.o.lines * 0.35)) + vim.cmd.resize(math.floor(vim.o.lines * 0.35)) local actual_win = vim.api.nvim_get_current_win() vim.api.nvim_win_set_buf(actual_win, actual_buf) @@ -98,7 +98,7 @@ local function create_git_diff_layout(parent_win, expected_content, actual_conte vim.api.nvim_set_current_win(parent_win) vim.cmd.split() - vim.cmd('resize ' .. math.floor(vim.o.lines * 0.35)) + vim.cmd.resize(math.floor(vim.o.lines * 0.35)) local diff_win = vim.api.nvim_get_current_win() vim.api.nvim_win_set_buf(diff_win, diff_buf) @@ -135,7 +135,7 @@ local function create_single_layout(parent_win, content) vim.api.nvim_set_current_win(parent_win) vim.cmd.split() - vim.cmd('resize ' .. math.floor(vim.o.lines * 0.35)) + vim.cmd.resize(math.floor(vim.o.lines * 0.35)) local win = vim.api.nvim_get_current_win() vim.api.nvim_win_set_buf(win, buf) vim.api.nvim_set_option_value('filetype', 'cp', { buf = buf }) diff --git a/lua/cp/ui/views.lua b/lua/cp/ui/views.lua index ab71d5b..d36ee41 100644 --- a/lua/cp/ui/views.lua +++ b/lua/cp/ui/views.lua @@ -40,7 +40,7 @@ function M.toggle_interactive(interactor_cmd) end end if state.saved_interactive_session then - vim.cmd(('source %s'):format(state.saved_interactive_session)) + vim.cmd.source(state.saved_interactive_session) vim.fn.delete(state.saved_interactive_session) state.saved_interactive_session = nil end @@ -75,8 +75,8 @@ function M.toggle_interactive(interactor_cmd) end state.saved_interactive_session = vim.fn.tempname() - vim.cmd(('mksession! %s'):format(state.saved_interactive_session)) - vim.cmd('silent only') + vim.cmd.mksession({ state.saved_interactive_session, bang = true }) + vim.cmd.only({ mods = { silent = true } }) local execute = require('cp.runner.execute') local run = require('cp.runner.run') @@ -104,7 +104,7 @@ function M.toggle_interactive(interactor_cmd) vim.log.levels.ERROR ) if state.saved_interactive_session then - vim.cmd(('source %s'):format(state.saved_interactive_session)) + vim.cmd.source(state.saved_interactive_session) vim.fn.delete(state.saved_interactive_session) state.saved_interactive_session = nil end @@ -122,7 +122,7 @@ function M.toggle_interactive(interactor_cmd) cmdline = vim.fn.shellescape(binary) end - vim.cmd('terminal ' .. cmdline) + vim.cmd.terminal(cmdline) local term_buf = vim.api.nvim_get_current_buf() local term_win = vim.api.nvim_get_current_win() @@ -139,7 +139,7 @@ function M.toggle_interactive(interactor_cmd) end end if state.saved_interactive_session then - vim.cmd(('source %s'):format(state.saved_interactive_session)) + vim.cmd.source(state.saved_interactive_session) vim.fn.delete(state.saved_interactive_session) state.saved_interactive_session = nil end @@ -524,7 +524,7 @@ function M.toggle_panel(panel_opts) end local saved = state.get_saved_session() if saved then - vim.cmd(('source %s'):format(saved)) + vim.cmd.source(saved) vim.fn.delete(saved) state.set_saved_session(nil) end @@ -582,8 +582,8 @@ function M.toggle_panel(panel_opts) local session_file = vim.fn.tempname() state.set_saved_session(session_file) - vim.cmd(('mksession! %s'):format(session_file)) - vim.cmd('silent only') + vim.cmd.mksession({ session_file, bang = true }) + vim.cmd.only({ mods = { silent = true } }) local tab_buf = utils.create_buffer_with_options() helpers.clearcol(tab_buf) @@ -630,7 +630,7 @@ function M.toggle_panel(panel_opts) then vim.api.nvim_win_set_cursor(test_windows.tab_win, { current_line, 0 }) vim.api.nvim_win_call(test_windows.tab_win, function() - vim.cmd('normal! zz') + vim.cmd.normal({ 'zz', bang = true }) end) end end