feat(io): cleanup view

This commit is contained in:
Barrett Ruth 2025-11-06 01:31:50 -05:00
parent 07e4372a4a
commit 00987bb0ff
4 changed files with 17 additions and 13 deletions

View file

@ -51,8 +51,6 @@ local function contest_picker(platform, refresh, language)
end
end,
['ctrl-r'] = function()
local cache = require('cp.cache')
cache.clear_contest_list(platform)
contest_picker(platform, true, language)
end,
},

View file

@ -73,13 +73,19 @@ local function parse_and_strip_time_v(output)
return s, 0
end
local k = last_i - 1
while k >= 1 do
local ch = s:sub(k, k)
if ch ~= ' ' and ch ~= '\t' then
break
local tab_before_marker = s:find('\t[^\t]*Command being timed:', 1)
local k
if tab_before_marker then
k = tab_before_marker - 1
else
k = last_i - 1
while k >= 1 do
local ch = s:sub(k, k)
if ch == '\n' then
break
end
k = k - 1
end
k = k - 1
end
local head = s:sub(1, k)

View file

@ -189,8 +189,8 @@ function M.scrape_all_tests(platform, contest_id, callback)
local expected_file = 'io/' .. base_name .. '.' .. i .. '.cpout'
local input_content = t.input:gsub('\r', '')
local expected_content = t.expected:gsub('\r', '')
vim.fn.writefile(vim.split(input_content, '\n', { trimempty = true }), input_file)
vim.fn.writefile(vim.split(expected_content, '\n', { trimempty = true }), expected_file)
vim.fn.writefile(vim.split(input_content, '\n'), input_file)
vim.fn.writefile(vim.split(expected_content, '\n'), expected_file)
end
if type(callback) == 'function' then
callback({

View file

@ -434,8 +434,8 @@ function M.run_io_view(test_indices_arg, debug, mode)
end
if mode == 'combined' then
local test_cases = cache.get_test_cases(platform, contest_id, problem_id)
if test_cases and #test_cases > 1 then
local problem_data = contest_data.problems[contest_data.index_map[problem_id]]
if not problem_data.multi_test then
mode = 'individual'
end
end
@ -545,7 +545,7 @@ function M.run_io_view(test_indices_arg, debug, mode)
input_lines = vim.split(combined.input, '\n')
if result.actual then
if result.actual and result.actual ~= '' then
output_lines = vim.split(result.actual, '\n')
end