Skip to content

GoberInfinity/cpbooster

 
 

Repository files navigation

cpbooster · GPLv3 license npm version

Competitive Programming Booster

About

cpbooster is a cross-platform CLI tool designed to boost competitive programmers in contests. The console command suits any coding environment and it’s very simple to use. Vim users are able to add mappings to their commands to boost their speed even more.

Usage

Usage: cpbooster <command> [options]

Commands:
  cpbooster serve  Run cpbooster as server for competitive companion plugin
  cpbooster test   Run {program} against all available testcases or specific
                   testcase if [--testid] option is set
  cpbooster new    Creates new configuration file with default values in
                   /home/$USER or,if [--configPath] option is set, it writes
                   in the specified path

Options:
  --version, -v     Show version number                                [boolean]
  --help, -h        Show help                                          [boolean]
  --configPath, -c  Path to read/write configuration file               [string]

Note: Run cpbooster <command> --help to display help information about an specific command.

Requirements

Installation

  1. Run:
  [sudo] npm install cpbooster -g
  1. Run:
  [sudo] cpbooster new
  1. Edit the configuration file created in your home directory according to your needs.
  2. You are now all set up to use cpbooster.

Configuration File Options

{
    "contestsDirectory": "/home/user/Contests",
    "cppTemplatePath": "/home/user/template.cpp",
    "cppCompileCommand": "g++ -std=gnu++17 -fconcepts",
    "cppDebugCommand": "g++ -std=gnu++17 -DDEBUG -fconcepts",
    "pyTemplatePath": "~/template.py",
    "pyRunCommand": "python3",
    "port": 1327,
    "terminal": "konsole"
}

Features

  • Automatically clone sample testcases files into an specific directory
  • Create source files from a template
  • Test your code against sample testcases quickly Supported results: AC (Accepted), WA (Wrong Answer), RTE (Runtime Error)
  • Run code with your own debugging flags easily

Support to open directory in terminal after cpbooster serve:

  • konsole
  • xterm
  • gnome-terminal
  • deepin-terminal

Future updates

  • Add support for Java and Python
  • Add support for more terminals
  • Build Vim native plugin

License

cpbooster is licensed under the GNU General Public License v3.0

About

Competitive Programming Booster

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 79.5%
  • JavaScript 20.5%