Skip to content

Commit fdd13b0

Browse files
Merge pull request #20 from anna-singleton/dev
merge dev into main for release v0.2.0
2 parents b723062 + 3a8f70c commit fdd13b0

File tree

9 files changed

+329
-122
lines changed

9 files changed

+329
-122
lines changed

Cargo.lock

Lines changed: 29 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,27 @@
11
[package]
22
name = "runfast"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
edition = "2021"
5+
authors = ["Anna Singleton<[email protected]>"]
6+
repository = "https://github.com/anna-singleton/runfast"
57

68
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
79

10+
[profile.dev]
11+
opt-level = 0
12+
13+
[profile.release]
14+
opt-level = 3
15+
16+
[build-dependencies]
17+
clap = { version = "4.0.15", features = ["derive"] }
18+
clap_mangen = { version = "0.2" }
19+
820
[dependencies]
921
clap = { version = "4.0.18", features = ["derive"] }
1022
directories = "4.0.1"
11-
serde = {version="1.0.147", features = ["derive"]}
12-
serde_derive = "1.0.147"
23+
serde = { version="1.0.147", features = ["derive"] }
24+
new_string_template = "1.4.0"
25+
regex = "1.6.0"
1326
skim = "0.9.4"
1427
toml = "0.5.9"

build.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
use clap::*;
2+
use std::fs;
3+
4+
include!("./src/cli.rs");
5+
6+
const MAN_PATH: &str = "./target/man";
7+
8+
fn generate_man_command(
9+
name: &str,
10+
app: clap::Command,
11+
) -> std::io::Result<()> {
12+
let man = clap_mangen::Man::new(app);
13+
let mut man_buffer: Vec<u8> = Default::default();
14+
man.render(&mut man_buffer)?;
15+
let out_dir = std::env::current_dir()?;
16+
std::fs::write(
17+
out_dir.join(&format!("{MAN_PATH}/{name}.1", name = name)),
18+
man_buffer,
19+
)?;
20+
21+
Ok(())
22+
}
23+
24+
fn main() -> std::io::Result<()> {
25+
fs::create_dir_all(MAN_PATH)?;
26+
generate_man_command("runfast", Cli::command())?;
27+
28+
Ok(())
29+
}

docs/man.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
NAME
2+
====
3+
4+
runfast
5+
6+
SYNOPSIS
7+
========
8+
9+
**runfast** \[**-f**\|**\--force-choose**\]
10+
\[**-r**\|**\--runners-path**\] \[**-h**\|**\--help**\]
11+
\[**-V**\|**\--version**\]
12+
13+
DESCRIPTION
14+
===========
15+
16+
OPTIONS
17+
=======
18+
19+
**-f**, **\--force-choose**=*FORCE\_CHOOSE\_NEW*
20+
21+
: Force runfast to choose a new runner, instead of looking for one
22+
that may already be set
23+
24+
**-r**, **\--runners-path**=*RUNNERS\_PATH* \[default: \~/.config/runfast/runners.toml\]
25+
26+
: Load specific toml config
27+
28+
**-h**, **\--help**
29+
30+
: Print help information
31+
32+
**-V**, **\--version**
33+
34+
: Print version information
35+
36+
VERSION
37+
=======
38+
39+
v0.1.0
40+
41+
AUTHORS
42+
=======
43+
44+
Anna Singleton\<annabeths111\@gmail.com\>

examples/runners.toml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[defaults]
2+
name="default name"
3+
cmd="echo no command set"
4+
quit_fast=false
5+
6+
[[runners]]
7+
name="rust run"
8+
cmd="cargo run"
9+
quit_fast=false
10+
11+
[[runners]]
12+
name="echo var showcase"
13+
cmd="echo {myvar}"
14+
quit_fast=false
15+
16+
[[runners]]
17+
name="unique"
18+
cmd="{command}"
19+
quit_fast=false

src/cli.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
use clap::Parser;
2+
3+
#[derive(Parser, Debug)]
4+
#[command(author, version, about, long_about=None)]
5+
pub(crate) struct Cli {
6+
#[arg(short, long="force-choose", help="Force runfast to choose a new runner, instead of \
7+
looking for one that may already be set")]
8+
pub(crate) force_choose_new: bool,
9+
#[arg(short, long="runners-path", help="Load specific toml config")]
10+
pub(crate) runners_path: Option<String>,
11+
}

src/defaults.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[[runners]]
2+
name="rust"
3+
cmd="cargo run"
4+
quit_fast=false
5+
6+
[[runners]]
7+
name="list"
8+
cmd="ls"
9+
quit_fast=false
10+
11+
[[runners]]
12+
name = "unique"
13+
cmd = "{command}"
14+
quit_fast = false

0 commit comments

Comments
 (0)