fix(run): foldcolumn
This commit is contained in:
parent
69fc2ecdbb
commit
a3dd6f4e1e
6 changed files with 187 additions and 10 deletions
|
|
@ -1,5 +1,12 @@
|
|||
---@class FileState
|
||||
---@field platform string
|
||||
---@field contest_id string
|
||||
---@field problem_id? string
|
||||
---@field language? string
|
||||
|
||||
---@class CacheData
|
||||
---@field [string] table<string, ContestData>
|
||||
---@field file_states? table<string, FileState>
|
||||
|
||||
---@class ContestData
|
||||
---@field problems Problem[]
|
||||
|
|
@ -228,4 +235,46 @@ function M.get_constraints(platform, contest_id, problem_id)
|
|||
return problem_data.timeout_ms, problem_data.memory_mb
|
||||
end
|
||||
|
||||
---@param file_path string
|
||||
---@return FileState?
|
||||
function M.get_file_state(file_path)
|
||||
vim.validate({
|
||||
file_path = { file_path, 'string' },
|
||||
})
|
||||
|
||||
if not cache_data.file_states then
|
||||
return nil
|
||||
end
|
||||
|
||||
return cache_data.file_states[file_path]
|
||||
end
|
||||
|
||||
---@param file_path string
|
||||
---@param platform string
|
||||
---@param contest_id string
|
||||
---@param problem_id? string
|
||||
---@param language? string
|
||||
function M.set_file_state(file_path, platform, contest_id, problem_id, language)
|
||||
vim.validate({
|
||||
file_path = { file_path, 'string' },
|
||||
platform = { platform, 'string' },
|
||||
contest_id = { contest_id, 'string' },
|
||||
problem_id = { problem_id, { 'string', 'nil' }, true },
|
||||
language = { language, { 'string', 'nil' }, true },
|
||||
})
|
||||
|
||||
if not cache_data.file_states then
|
||||
cache_data.file_states = {}
|
||||
end
|
||||
|
||||
cache_data.file_states[file_path] = {
|
||||
platform = platform,
|
||||
contest_id = contest_id,
|
||||
problem_id = problem_id,
|
||||
language = language,
|
||||
}
|
||||
|
||||
M.save()
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue