A Neovim plugin for competitive programming that manages testcases, downloads problems from online judges, and runs solutions.
CompetiTest.nvim is a Neovim plugin that automates competitive programming tasks. It manages testcases, compiles and runs solutions across multiple languages, and downloads problems and contests from online judges via browser integration. It solves the problem of manual testcase handling and streamlines contest workflows.
Competitive programmers who use Neovim and want to automate testcase management, solution testing, and problem downloading during contests.
Developers choose CompetiTest.nvim for its deep Neovim integration, flexible configuration, and automation features that save time in fast-paced competitive programming environments.
CompetiTest.nvim is a Neovim plugin for Competitive Programming: it can manage and check testcases, download problems and contests from online judges and much more
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports flexible storage in single or multiple files with configurable naming rules, allowing easy addition, editing, and deletion of testcases via commands like :CompetiTest add_testcase.
Integrates with the Competitive Companion browser extension to automatically fetch testcases, problems, and contests from online judges, saving manual effort during contests.
Offers popup and split interfaces with customizable layouts, mappings, and highlights, as detailed in the configuration options for runner_ui and popup_ui/split_ui.
Enables running multiple testcases simultaneously with configurable parallelism via the multiple_testing option, optimizing performance for time-sensitive contests.
Works seamlessly with C, C++, Rust, Java, and Python, and allows configuration for other languages through compile_command and run_command settings.
The roadmap admits that handling interactive tasks is not yet implemented, limiting its usefulness for certain competitive programming problem types.
Requires extensive Lua configuration for options like per-folder settings, UI layouts, and compile/run commands, which can be overwhelming for Neovim beginners.
Depends on Neovim ≥ 0.5 and the nui.nvim plugin, adding setup complexity compared to standalone tools and potentially causing compatibility issues.
As a niche plugin focused on competitive programming, it has a smaller user base and fewer third-party integrations compared to more general-purpose development tools.