Problem: `ContestSummary.display_name` defaults to `None`, which serializes to JSON `null` → Lua `vim.NIL`. The picker displayed "vim.NIL" for every entry, and `start_time` was always stored because `vim.NIL` is truthy in Lua. Solution: pass `display_name=name` explicitly in `_parse_contests_page` so JSON never emits `null`. In `set_contest_summaries`, coerce `display_name` via a `~= vim.NIL` guard and apply the same guard before storing `start_time`. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| atcoder.py | ||
| base.py | ||
| codechef.py | ||
| codeforces.py | ||
| cses.py | ||
| kattis.py | ||
| language_ids.py | ||
| models.py | ||
| timeouts.py | ||
| usaco.py | ||