0.1.1 ā€¢ Published 4 years ago

spyc v0.1.1

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

So what is spyc ?

spyc is a CLI tool that monitors your CPP code and automatically compiles and executes the code whenever there is a change in the file.

spyc is designed mainly for competitive programmers so that they can efficiently debug and execute their code for multiple test cases without compiling again and again.

spyc also supports some of the common GCC flags used in competitive programming.

Installation

Using npm

Install globally
npm install -g spyc
Install as a dev dependency
npm install --save-dev spyc

Usage

To run spyc write.

spyc <yourfile.cpp> [,options]

Help

For CLI options, use -h or --help.

spyc -h

Runtime input

spyc allows user to provide or change the input file at runtime without stopping the currently running spyc program, this help programmers to check their code on multiple test cases without much effort.

For example click here.

Cat file

spyc also allows users to see their cpp file or input file at runtime with the help of cat option.

For example click here.

Check Stats

In spyc user can also see the past stats using stats options for performance comparison. This helps the user to check and compare the efficiency of their code on different test cases.

For example click here.

Supports some common gcc flags

spyc also support some of the common gcc flags like,

Flags
stdstd - Specify the C++ version or ISO standard version.
WallTurns on lots of compiler warning flags.
WerrorTurn any warning into a compilation error.
WextraEnables extra flags not enabled by -Wall.
WshadowEnable warning for Variable Shadowing.
O0No optmization.
O3Higher level of optmization.
fsanitizeSanitizer for runtime checks. (eg. --fsanitize=address)

My personal flag options

You guys can also use my preferred GCC flag options for compiling the code using quick flag.

spyc ./sample.cpp --quick

quick option will enable the following gcc flag combination.

g++ -DLOCAL -std=c++17 -Wshadow -Wall -o <output> <yourfile.cpp> -fsanitize=address 
-fsanitize=undefined -D_GLIBCXX_DEBUG -g

Examples

Demo to run simple cpp file.

Run command.

spyc ./sample.cpp

ā€‹

Demo to run cpp file with input.

Run command.

spyc ./sample.cpp --input=<inputfile>

or

spyc ./sample.cpp -i=<inputfile>

Demo to change the input file without restarting the app.

In spyc, we can also change or provide input at runtime without restarting the tool. This will help users to check their code on different test cases without wasting time on compiling and executing the code manually.

Run command.

--input=./in

or

-i=./in

Demo to cat input or code at runtime.

spyc can also display input file or cpp code at runtime without pausing or stopping the tool.

This helps competitive programmers to see and debug their code or check the input file within the spyc tool.

--cat=<filename>

Demo to check the stats.

In spyc, users can also see stats from past executions. This will help the user to optimize their code by comparing the execution time of their code.

stats