#execute #exec #cli #cmd

yanked drip

drip executes your code

1.0.2 Aug 16, 2022

#28 in #exec

CC0 license

14KB
199 lines

💦 drip

Version info last-commit license

Synopsis

drip exec FILE_PATH [ARGS...]
drip misc CMD [ARGS...]
drip {-h|--help|help}
drip {-V|--version}

Install

Install from cargo

$ cargo install drip

Build from source

$ git clone https://github.com/nullputra/drip
$ cd drip
$ cargo build --release

Print version

# cmd
$ copy /y target\\release\\drip.exe .
$ drip -V
drip 1.0.2

# pwsh
$ cp target\\release\\drip.exe .
$ .\drip -V
drip 1.0.2

Examples

drip -h

# cmd(drip) or pwsh(.\drip)
$ drip -h
drip 1.0.2
Nullputra <stdnlptr@gmail.com>

USAGE:
    drip.exe <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    exec    Execute scripts according to extension
    help    Print this message or the help of the given subcommand(s)
    misc    Running scripts independent of extension

drip exec

# cmd(drip) or pwsh(.\drip)
$ cat drip.toml
symbol = ">"

[exec]
cpp = [
    "g++ -g -O2 -std=c++17 -W $FILE_PATH -o $FILE_PATH_WITHOUT_EXT",
    "$FILE_PATH_WITHOUT_EXT",
]
py = "py -3 $filePath"

$ drip exec tests\data\fft.py
scrs: "py -3 tests\data\fft.py"
args: []
> py -3 tests\data\fft.py
1 4 11 26 36 40 32

$ drip exec tests\data\z-algorithm.cpp
scrs: ["g++ -g -O2 -std=c++17 -W tests\data\z-algorithm.cpp -o tests\data\z-algorithm", "tests\data\z-algorithm"]
args: []
> g++ -g -O2 -std=c++17 -W tests\data\z-algorithm.cpp -o tests\data\z-algorithm
> tests\data\z-algorithm
z-algorithm works

drip misc

# cmd(drip) or pwsh(.\drip)
$ cat drip.toml
symbol = ">"

[env_var]
COMMIT_MSG = "Fix src\\main.rs"

[misc]
echo = "echo $0"
echo_confirm = { scrs = "echo $0", confirm = true }
echo2 = ["echo $0", "echo $1"]
push = { scrs = [
    "git add .",
    'git commit -m "$COMMIT_MSG"',
    "git push origin master",
], confirm = true }

$ drip misc echo arg0
scrs: "echo arg0"
args: ["arg0"]
> echo arg0
arg0

$ drip misc echo_confirm arg0
scrs: "echo arg0"
args: ["arg0"]
Continue? y
> echo arg0
arg0

$ drip misc echo2 arg0 arg1
scrs: ["echo arg0", "echo arg1"]
args: ["arg0", "arg1"]
> echo arg0
arg0
> echo arg1
arg1

$ drip misc push
scrs: ["git add --all", "git commit -m "Fix src\\main.rs"", "git push origin master"]
args: []
Continue? n
Error: Aborted

Debug

# cmd or pwsh
$ git clone https://github.com/nullputra/drip
$ cd drip
$ cargo run -- exec tests\data\fft.py
scrs: "py -3 tests\data\fft.py"
args: []
> py -3 tests\data\fft.py
1 4 11 26 36 40 32

Future Outlook

I'd like to support ubuntu as well.

Refs

License

Licensed under CC0 1.0 (no credit needed).

Dependencies

~4–12MB
~144K SLoC