No description
Find a file
2025-09-12 17:35:43 -05:00
.github/workflows feat(ci): luals type checking 2025-09-12 17:35:01 -05:00
after cleanup window layout 2025-09-12 17:19:20 -05:00
lua/cp fix(ci): styling 2025-09-12 17:35:43 -05:00
plugin feat: modernize the plugin 2025-09-12 17:29:55 -05:00
scrapers fix formatting; 2025-09-12 17:20:38 -05:00
.gitignore initial commit 2025-09-11 23:52:32 -05:00
.python-version initial commit 2025-09-11 23:52:32 -05:00
CLAUDE.md code cleanup 2025-09-12 16:00:40 -05:00
pyproject.toml initial commit 2025-09-11 23:52:32 -05:00
readme.md feat: snippets and more 2025-09-12 15:48:12 -05:00
selene.toml fix ci 2025-09-12 00:13:50 -05:00
uv.lock initial commit 2025-09-11 23:52:32 -05:00
vim.toml fix ci 2025-09-12 00:13:50 -05:00

cp.nvim

neovim plugin for competitive programming.

NOTE: sample test data from codeforces is scraped via cloudscraper. Use at your own risk.

Features

  • Support for multiple online judges (AtCoder, Codeforces, CSES)
  • Automatic problem scraping and test case management
  • Integrated build, run, and debug commands
  • Diff mode for comparing output with expected results
  • LuaSnip integration for contest-specific snippets

Requirements

  • Neovim 0.10.0+
  • uv: problem scraping (optional)
  • LuaSnip: contest-specific snippets (optional)

Installation

Using lazy.nvim:

{
    "barrett-ruth/cp.nvim",
    cmd = "CP",
    dependencies = {
        "L3MON4D3/LuaSnip",
    }
}

Documentation

:help cp.nvim

TODO

  • update templates to minimum vrsion that's comatible with scrapers (i.e. aggregated testcases, ifdef local, etc.)
  • vimdocs
  • example video
  • more flexible setup (more of a question of philosophy)
  • USACO support