feat: :CP open [problem|contest|standings] #315

Closed
opened 2026-03-05 20:40:46 +00:00 by barrettruth · 0 comments
barrettruth commented 2026-03-05 20:40:46 +00:00

Open the relevant URL for the active contest/problem in the system browser via `vim.ui.open`. No scraping — all URLs are either in the cache or derivable from known platform patterns.

Subcommands:

  • `:CP open` / `:CP open problem` — problem statement URL (from cache)
  • `:CP open contest` — contest landing page URL (from cache)
  • `:CP open standings` — standings URL (constructed from platform + contest ID)

URL patterns for standings:

Requires active contest state. Errors if no contest is loaded.

Open the relevant URL for the active contest/problem in the system browser via \`vim.ui.open\`. No scraping — all URLs are either in the cache or derivable from known platform patterns. Subcommands: - \`:CP open\` / \`:CP open problem\` — problem statement URL (from cache) - \`:CP open contest\` — contest landing page URL (from cache) - \`:CP open standings\` — standings URL (constructed from platform + contest ID) URL patterns for standings: - Codeforces: \`https://codeforces.com/contest/{id}/standings\` - AtCoder: \`https://atcoder.jp/contests/{id}/standings\` - CodeChef: \`https://www.codechef.com/{id}/rankings\` - CSES/Kattis/USACO: no standings concept, error gracefully Requires active contest state. Errors if no contest is loaded.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/cp.nvim#315
No description provided.