6 releases
0.1.5 | Dec 10, 2022 |
---|---|
0.1.4 | Dec 6, 2022 |
#1344 in Development tools
16KB
305 lines
| Documentation
Chobs (Changes Observer) is a tool that automatically restarting your process when file changes in the selected directory. It may be you system process or your project execution. For example if you don't want to call cargo run
on every code changes, you can use Chobs. From arg2u with ♥
Requirments
To use Chobs you need to install Cargo and Rust. Just paste into your terminal window:
curl https://sh.rustup.rs -sSf | sh
cargo install chobs
Usage
chobs <SUBCOMMAND>
Flags
-h, --help Prints help information
-V, --version Prints version information
Subcommands
help Prints this message or the help of the given subcommand(s)
init Creates chobs.json config file with default settings
watch Starts watching for changes
Subcommand: init
USAGE:
chobs init
Subcommand: watch
USAGE:
chobs watch [OPTIONS] --exec <exec>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-e, --exec <exec> Sets a command to execute
-r, --root-foler <root-folder> Sets a root folder to watch. (Default - ".")
Examples
chobs watch --exec "cargo run -- -f -b" -r .
chobs watch --exec "node index.js" -r .
You can use it with any exec.
If your exec is very long, you can create run.sh bash or shell script for your process.
chobs watch --exec ./run.sh
Automatic re-running
Chobs watches for changes in the files and folders in your root directory and restarts your process execution. To create config file use chobs init
Config
{
"verbose": true,
"ignore": ["target", ".git"],
"delay": 1000,
"root_folder": "../my_folder",
"exec": "cargo run -- -e -f -g -c"
}
verbose - enables logging (default - true)
ignore - list of directories and files you want to ignore (default - ["target",".git"])
delay - how often do you need to check for updates in ms (default - 1000 ms)
root_folder - folder to watch (default - ".")
exec - command to execute. You should provide either in the CLI's -e flag or in config file
Sponsor
BTC: 1BXuTySFfiamKSa2GeC7vjDPBE4uxtz3a6
License
MIT
Dependencies
~4.5MB
~86K SLoC