cp.nvim/lua/cp
Barrett Ruth b90ac67826
feat(config): add language version selection with setup-time validation
Problem: users cannot choose which C++ standard (e.g. C++17 vs C++20
vs C++23) to submit with — the plugin hardcodes a single platform ID
per language with no discoverability or override mechanism.

Solution: add `LANGUAGE_VERSIONS` and `DEFAULT_VERSIONS` tables in
`constants.lua` as the single source of truth. `config.lua` gains
`version` and `submit_id` fields on `CpLanguage`/`CpPlatformOverrides`,
validated at setup time. `submit.lua` resolves the effective config to
a platform ID (priority: `submit_id` > `version` > default). Helpdocs
document the new `*cp-submit-language*` section with per-platform
available versions and the `submit_id` escape hatch. Tests cover
`LANGUAGE_IDS` completeness and `get_language_id` lookups.
2026-03-06 18:04:04 -05:00
..
commands feat(config): merge platform config model and add disabled-platform guard (#336) 2026-03-06 16:14:16 -05:00
pickers feat(race): add supports_countdown to ContestListResult 2026-03-06 18:01:08 -05:00
runner fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
ui fix: cancel active process on contest switch (#316) 2026-03-05 17:42:50 -05:00
cache.lua feat(race): add supports_countdown to ContestListResult 2026-03-06 18:01:08 -05:00
config.lua feat(config): add language version selection with setup-time validation 2026-03-06 18:04:04 -05:00
constants.lua feat(config): add language version selection with setup-time validation 2026-03-06 18:04:04 -05:00
credentials.lua feat: validate credentials on :CP <platform> login (#310) 2026-03-05 15:12:09 -05:00
health.lua fix: replace deprecated vim.loop with vim.uv 2026-02-26 22:45:07 -05:00
helpers.lua feat(ui): auto-hide source buffer on close 2025-10-24 14:47:12 -04:00
init.lua fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
log.lua fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
race.lua feat(race): add supports_countdown to ContestListResult 2026-03-06 18:01:08 -05:00
restore.lua fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
scraper.lua feat(race): add supports_countdown to ContestListResult 2026-03-06 18:01:08 -05:00
setup.lua refactor: remove open_url config option in favour of :CP open (#322) 2026-03-05 22:55:43 -05:00
state.lua refactor(run): remove I/O view test navigation keymaps 2026-03-04 00:26:22 -05:00
stress.lua fix: cancel active process on contest switch (#316) 2026-03-05 17:42:50 -05:00
submit.lua feat(config): add language version selection with setup-time validation 2026-03-06 18:04:04 -05:00
utils.lua fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
version.lua fix: refactor 2025-09-21 11:19:00 -04:00