cpbooster
is a cross-platform CLI tool designed to boost competitive programmer's speed during contests by automating various routine tasks like compiling and testing, debugging, cloning testcases, loading template, etc. The console command suits any coding environment (i.e. VSCode, Jetbrains IDEs, Vim, Emacs, Geany, Sublime Text, ...) and it’s very easy to use. Vim / NeoVim users can install cpbooster.vim plugin to boost their speed even more.
cpbooster
Websitehttps://searleser97.github.io/cpbooster/
cpbooster
comes with a short alias command called cpb
to avoid writing the long command each time
Automatically clone sample testcases files with corresponding source code files with template loaded into a desired directory
cpb clone
waits for competitive companion plugin to send parsed data for each problemTest your code against sample testcases quickly
cpb test mycode.cpp
test your program against all available test casescpb test mycode.cpp -t 1
test your program against the test case with the given idcpb test /some/path/mycode.cpp
test a program that is not located in your current locationSupported results:
Run code with your own debugging flags easily
cpb test mycode.cpp -d
to use keyboard as inputcpb test mycode.cpp -t 2 -d
to use a test case file as inputcpb test /some/path/mycode.cpp -d
debug a program that is not located in your current locationSubmit your code from the terminal really quickly.
cpb submit mycode.cpp
submits your file to the corresponding judge.open your preferred editor in the contest directory immediately after cloning it. See Editors
Create source files with corresponding template loaded
cpb create a.py
creates single file with corresponding template loaded based on file extensioncpb create {a..n}.cpp
creates multiple consecutive files from "a.cpp" to "n.cpp"cpb create {a...n}.cpp
same as previous command (Any amount of dots greater than 1 work)cpb create {a-n}.cpp
same as previous command (Single dash also works)cpb create /some/path/a.cpp
creates "a.cpp" in the specified path instead of current locationcpb create /some/path/{a-n}.cpp
creates "a.cpp ... n.cpp" in the specified path instead of current locationVim plugin cpbooster.vim boosts your speed even more
Flat File Structure. See Why Flat File Structure
Supports any programming language.
git clone https://github.com/{yourUsername}/cpbooster
cd
(change directory) to cpbooster
repo directorynpm install
cpbooster
from source: npm run install:dev
npm run lint
npm t
--here
option to cpb clone
to clone testcases in current directorygnu-time
as /usr/bin/time -f '%M' ./program
, can't use ps
due to lack of precision.
See https://stackoverflow.com/a/131346/13079132)cpb test <sourcefile> --with \<testcases_filename>
)NODE_ENV
in compile/debug command for debugging purposes.DebugOne
and DebugWithUserInput
functions.cpb create <filename>.<ext>
// time-limit: xxx
comment on top of a file of specific type/language.cpbooster
is licensed under the GNU General Public License v3.0