From 057b0890c28f8ad2e59c4269c92270ad25575037 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Thu, 2 Oct 2025 13:56:38 -0400 Subject: [PATCH] fix: remove unused function --- lua/cp/cache.lua | 31 ++++++++++++++++++++----------- lua/cp/pickers/init.lua | 6 +++--- lua/cp/state.lua | 34 ---------------------------------- 3 files changed, 23 insertions(+), 48 deletions(-) diff --git a/lua/cp/cache.lua b/lua/cp/cache.lua index 588ac38..ede6eaa 100644 --- a/lua/cp/cache.lua +++ b/lua/cp/cache.lua @@ -4,6 +4,18 @@ ---@field problem_id? string ---@field language? string +---@class ContestData +---@field problems Problem[] +---@field test_cases? CachedTestCase[] +---@field timeout_ms? number +---@field memory_mb? number +---@field interactive? boolean + +---@class ContestSummary +---@field display_name string +---@field name string +---@field id string + ---@class CacheData ---@field [string] table ---@field file_states? table @@ -12,13 +24,6 @@ ---@class ContestListData ---@field contests table[] ----@class ContestData ----@field problems Problem[] ----@field test_cases? CachedTestCase[] ----@field timeout_ms? number ----@field memory_mb? number ----@field interactive? boolean - ---@class Problem ---@field id string ---@field name? string @@ -36,6 +41,8 @@ local cache_file = vim.fn.stdpath('data') .. '/cp-nvim.json' local cache_data = {} local loaded = false +--- Load the cache from disk if not done already +---@return nil function M.load() if loaded then return @@ -63,6 +70,8 @@ function M.load() loaded = true end +--- Save the cache to disk, overwriting existing contents +---@return nil function M.save() vim.schedule(function() vim.fn.mkdir(vim.fn.fnamemodify(cache_file, ':h'), 'p') @@ -260,8 +269,8 @@ function M.set_file_state(file_path, platform, contest_id, problem_id, language) end ---@param platform string ----@return table[] -function M.get_contest_list(platform) +---@return table[ContestSummary] +function M.get_contest_summaries(platform) local contest_list = {} for contest_id, contest_data in pairs(cache_data[platform] or {}) do table.insert(contest_list, { @@ -274,8 +283,8 @@ function M.get_contest_list(platform) end ---@param platform string ----@param contests table[] -function M.set_contest_list(platform, contests) +---@param contests table[ContestSummary] +function M.set_contest_summaries(platform, contests) cache_data[platform] = cache_data[platform] or {} for _, contest in ipairs(contests) do cache_data[platform][contest.id] = cache_data[platform][contest] or {} diff --git a/lua/cp/pickers/init.lua b/lua/cp/pickers/init.lua index a3321a3..8a38ba9 100644 --- a/lua/cp/pickers/init.lua +++ b/lua/cp/pickers/init.lua @@ -49,13 +49,13 @@ function M.get_platform_contests(platform, refresh) cache.load() - local picker_contests = cache.get_contest_list(platform) + local picker_contests = cache.get_contest_summaries(platform) if refresh or vim.tbl_isempty(picker_contests) then logger.log(('Cache miss on %s contests'):format(platform)) local contests = scraper.scrape_contest_list(platform) - cache.set_contest_list(platform, contests) + cache.set_contest_summaries(platform, contests) end logger.log( @@ -64,7 +64,7 @@ function M.get_platform_contests(platform, refresh) true ) - picker_contests = cache.get_contest_list(platform) + picker_contests = cache.get_contest_summaries(platform) return picker_contests end diff --git a/lua/cp/state.lua b/lua/cp/state.lua index 497e5d5..15bb04d 100644 --- a/lua/cp/state.lua +++ b/lua/cp/state.lua @@ -7,11 +7,6 @@ ---@field set_problem_id fun(problem_id: string) ---@field get_active_panel fun(): string? ---@field set_active_panel fun(): string? ----@field get_saved_session fun(): table? ----@field set_saved_session fun(session: table) ----@field get_context fun(): {platform: string?, contest_id: string?, problem_id: string?} ----@field has_context fun(): boolean ----@field reset fun() ---@field get_base_name fun(): string? ---@field get_source_file fun(language?: string): string? ---@field get_binary_file fun(): string? @@ -54,14 +49,6 @@ function M.set_problem_id(problem_id) state.problem_id = problem_id end -function M.get_saved_session() - return state.saved_session -end - -function M.set_saved_session(session) - state.saved_session = session -end - function M.get_base_name() local platform, contest_id, problem_id = M.get_platform(), M.get_contest_id(), M.get_problem_id() if not platform or not contest_id or not problem_id then @@ -78,14 +65,6 @@ function M.get_base_name() end end -function M.get_context() - return { - platform = state.platform, - contest_id = state.contest_id, - problem_id = state.problem_id, - } -end - function M.get_source_file(language) local base_name = M.get_base_name() if not base_name or not M.get_platform() then @@ -127,10 +106,6 @@ function M.get_expected_file() return base_name and ('io/%s.expected'):format(base_name) or nil end -function M.has_context() - return state.platform and state.contest_id -end - function M.get_active_panel() return state.active_panel end @@ -139,13 +114,4 @@ function M.set_active_panel(panel) state.active_panel = panel end -function M.reset() - state.platform = nil - state.contest_id = nil - state.problem_id = nil - state.test_cases = nil - state.run_panel_active = false - state.saved_session = nil -end - return M