## Problem Two gaps in the plugin: (1) contest pickers have no way to know whether a contest supports countdown (race), so the UI can't surface that affordance; (2) `:CP submit` hardcodes a single language ID per platform with no way to choose C++ standard or override the platform ID. ## Solution **Race countdown** (`4e709c8`): Add `supports_countdown` boolean to `ContestListResult` and wire it through CSES/USACO scrapers, cache, race module, and pickers. **Language version selection** (`b90ac67`): Add `LANGUAGE_VERSIONS` and `DEFAULT_VERSIONS` tables in `constants.lua`. Config gains `version` and `submit_id` fields validated at setup time. `submit.lua` resolves the effective config to a platform ID (priority: `submit_id` > `version` > default). Helpdocs add `*cp-submit-language*` section. Tests cover `LANGUAGE_IDS` completeness. |
||
|---|---|---|
| .. | ||
| commands | ||
| pickers | ||
| runner | ||
| ui | ||
| cache.lua | ||
| config.lua | ||
| constants.lua | ||
| credentials.lua | ||
| health.lua | ||
| helpers.lua | ||
| init.lua | ||
| log.lua | ||
| race.lua | ||
| restore.lua | ||
| scraper.lua | ||
| setup.lua | ||
| state.lua | ||
| stress.lua | ||
| submit.lua | ||
| utils.lua | ||
| version.lua | ||