diff --git a/Cargo.lock b/Cargo.lock index aca654f..0ab2802 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1002,9 +1002,9 @@ dependencies = [ [[package]] name = "nix-uri" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322d3e6cecd463a8f3bcbb875771eef2dcf1d402125899bfc85d327066fc95cc" +checksum = "d4acc3f0410bee3acab7e8d7099b7e5686244da81e1e642eaf46814398d863f0" dependencies = [ "nom", "serde", diff --git a/README.md b/README.md index 273df2a..a047223 100644 --- a/README.md +++ b/README.md @@ -20,14 +20,14 @@ Usage: flake-edit [OPTIONS] [FLAKE_REF] Commands: add Add a new flake reference - change - remove Remove a specific flake reference based on its id list List flake inputs update Update inputs to their latest specified release + pin + Pin inputs to their current or a specified rev help Print this message or the help of the given subcommand(s) @@ -95,6 +95,21 @@ Options: ``` ![flake-edit remove example](https://vhs.charm.sh/vhs-1Uo70AaoEMuYh2UR1JVARD.gif) +### `$ flake-edit update` +`$ flake-edit help update` + +``` +Update inputs to their latest specified release + +Usage: flake-edit update + +Options: + -h, --help + Print help +``` + +![flake-edit update example](https://vhs.charm.sh/vhs-V3ryrOu4Sd1ZU1KmvULCN.gif) + ### `$ flake-edit list` `$ flake-edit help list` @@ -114,6 +129,27 @@ List the outputs, that are specified inside the inputs attribute. List the outputs, that are specified inside the inputs attribute, in json format. ![flake-edit list example](https://vhs.charm.sh/vhs-35E6eiL63lFTSC70rQyE1Y.gif) +### `$ flake-edit pin` +`$ flake-edit help pin` + +``` +Pin inputs to their current or a specified rev + +Usage: flake-edit pin [REV] + +Arguments: + + The id of an input attribute + [REV] + Optionally specify a rev for the inputs attribute + +Options: + -h, --help + Print help +``` +![flake-edit pin](https://vhs.charm.sh/vhs-629lX7LqP4MS1aHffb4Ufh.gif) +Pin a specific input to it's current revision (rev). + ## License MIT diff --git a/assets/completions/fish/completions.fish b/assets/completions/fish/completions.fish index 5ccb2b9..dc8f580 100644 --- a/assets/completions/fish/completions.fish +++ b/assets/completions/fish/completions.fish @@ -2,6 +2,10 @@ function __fish_complete_inputs flake-edit list --format simple 2>/dev/null end +function __fish_complete_inputs_toplevel + flake-edit list --format toplevel 2>/dev/null +end + function __fish_complete_add flake-edit completion add 2>/dev/null end @@ -10,10 +14,10 @@ complete -c flake-edit -n "__fish_seen_subcommand_from rm" -f -a "(__fish_comple complete -c flake-edit -n "__fish_seen_subcommand_from remove" -f -a "(__fish_complete_inputs)" -d Input complete -c flake-edit -n "__fish_seen_subcommand_from change" -f -a "(__fish_complete_inputs)" -d Input complete -c flake-edit -n "__fish_seen_subcommand_from c" -f -a "(__fish_complete_inputs)" -d Input -complete -c flake-edit -n "__fish_seen_subcommand_from pin" -f -a "(__fish_complete_inputs)" -d Input -complete -c flake-edit -n "__fish_seen_subcommand_from p" -f -a "(__fish_complete_inputs)" -d Input +complete -c flake-edit -n "__fish_seen_subcommand_from pin" -f -a "(__fish_complete_inputs_toplevel)" -d Input +complete -c flake-edit -n "__fish_seen_subcommand_from p" -f -a "(__fish_complete_inputs_toplevel)" -d Input set -x ignore_space true -complete -c flake-edit -n "__fish_seen_subcommand_from a" -f -r --keep-order -a "(__fish_complete_add)" -d Add -complete -c flake-edit -n "__fish_seen_subcommand_from add" -f -r --keep-order -a "(__fish_complete_add)" -d Add +complete -c flake-edit -n "__fish_seen_subcommand_from a" -f -r --keep-order -a "(__fish_complete_add)" -d Add +complete -c flake-edit -n "__fish_seen_subcommand_from add" -f -r --keep-order -a "(__fish_complete_add)" -d Add set -x ignore_space false diff --git a/assets/tape/pin_input.tape b/assets/tape/pin_input.tape new file mode 100644 index 0000000..91d7769 --- /dev/null +++ b/assets/tape/pin_input.tape @@ -0,0 +1,71 @@ +# VHS documentation +# +# Output: +# Output .gif Create a GIF output at the given +# Output .mp4 Create an MP4 output at the given +# Output .webm Create a WebM output at the given +# +# Require: +# Require Ensure a program is on the $PATH to proceed +# +# Settings: +# Set FontSize Set the font size of the terminal +# Set FontFamily Set the font family of the terminal +# Set Height Set the height of the terminal +# Set Width Set the width of the terminal +# Set LetterSpacing Set the font letter spacing (tracking) +# Set LineHeight Set the font line height +# Set LoopOffset % Set the starting frame offset for the GIF loop +# Set Theme Set the theme of the terminal +# Set Padding Set the padding of the terminal +# Set Framerate Set the framerate of the recording +# Set PlaybackSpeed Set the playback speed of the recording +# Set MarginFill Set the file or color the margin will be filled with. +# Set Margin Set the size of the margin. Has no effect if MarginFill isn't set. +# Set BorderRadius Set terminal border radius, in pixels. +# Set WindowBar Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight) +# Set WindowBarSize Set window bar size, in pixels. Default is 40. +# Set TypingSpeed