Commit graph

17 commits

Author SHA1 Message Date
Barrett Ruth
3c11d609f5
feat(codechef): implement full CodeChef support (#354)
## Problem

CodeChef had no working login, submit, or contest list. The browser
selectors were wrong, the contest list was missing present/past
contests,
and problem/contest URLs were unset.

## Solution

Fix login and submit selectors for the Drupal-based site. Paginate
`/api/list/contests/past` to collect all 228 Starters, then expand each
parent contest into individual division entries (e.g. `START228 (Div.
4)`).
Add language IDs, correct `url`/`contest_url`/`standings_url` in
metadata,
and make `:CP <platform>` open the contest picker directly.
2026-03-06 23:10:44 -05:00
Barrett Ruth
291de4e137
fix: expand language IDs, fix AtCoder submit, normalize logging (#353)
## Problem

Language version coverage was incomplete across all platforms, AtCoder
submit used a stale cookie fast-path that caused silent failures, and
raw
`vim.notify` calls throughout the codebase produced inconsistent or
missing `[cp.nvim]:` prefixes.

## Solution

Remove cookie persistence from AtCoder login/submit (always fresh
login),
increase the submit nav timeout to 40s, and switch to in-memory buffer
upload with the correct per-language extension from a full
`_LANGUAGE_ID_EXTENSION`
map covering all 116 AtCoder languages. Expand `LANGUAGE_VERSIONS` in
`constants.lua` with all AtCoder languages, 15 new CF languages with
full
version variants, and 50+ Kattis languages. Fix AtCoder `prolog` ID
(`6079`→`6081`, was Pony) and remove the non-existent `racket` entry.
Replace all raw `vim.notify` calls with `logger.log`. Simplify the
submit
language doc to point at `constants.lua` rather than maintaining a
static table.
2026-03-06 21:35:13 -05:00
Barrett Ruth
00987bb0ff feat(io): cleanup view 2025-11-06 01:31:50 -05:00
Barrett Ruth
bd30fb626c feat: start lang refactor 2025-10-24 01:11:19 -04:00
a0b5264761 fix: improve error handling 2025-10-05 16:06:08 -04:00
6b8a1e2087 more docs 2025-10-01 21:36:53 -04:00
b406c0ce4e fix: synchronous problem fetch 2025-10-01 12:25:07 -04:00
a54e6398cf fix(picker): rename 2025-09-30 20:57:14 -04:00
9704b11e7c fix(pickers): declare M as table 2025-09-30 20:33:40 -04:00
5588eae526 fix(picker): rename picker function names 2025-09-30 20:27:31 -04:00
4429b5fe67 fix 2025-09-24 00:47:44 -04:00
699207e713 lint 2025-09-24 00:44:08 -04:00
7ac91a3c4d fix async 2025-09-24 00:41:10 -04:00
62eab3df2d feat(picker): one step closer to fully async 2025-09-23 12:16:57 -04:00
0938b9bbd6 feat(pickers): ctrl-r to refresh 2025-09-21 12:13:59 -04:00
c1529c5d91 fix(ci): unused vars 2025-09-21 11:37:08 -04:00
a33e66680b feat(picker): picker support 2025-09-21 11:10:54 -04:00