cp.nvim/lua
Barrett Ruth 916c9174a6
fix(commands): canonicalize CF contest IDs and auto-restore on action (#314)
## Problem

Two gaps in `commands/init.lua`. Codeforces contest IDs were passed
through raw, so full URLs (e.g.
`https://codeforces.com/contest/1933/problem/A`) or problem IDs with
trailing letters (e.g. `1933A`) caused scraper URL construction to fail.
Separately, action commands like `:CP run` silently failed when invoked
with no active contest instead of attempting to recover from the current
file's cached state.

## Solution

Add `canonicalize_cf_contest` to normalize URLs and strip trailing
problem letters in `parse_command`. Add a guard in `handle_command` that
calls `restore_from_current_file()` before dispatching any
contest-requiring action when no platform is active, returning early
only if no cached state is found.

Closes #306. Closes #308.
2026-03-05 15:37:33 -05:00
..
cp fix(commands): canonicalize CF contest IDs and auto-restore on action (#314) 2026-03-05 15:37:33 -05:00