├── .gitignore ├── .github ├── .deploy │ └── bump.sh └── workflows │ ├── lint.yml │ └── release.yml ├── Cargo.toml ├── LICENSE ├── src ├── config.rs └── main.rs ├── README.md ├── install.sh └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | # These are backup files generated by rustfmt 6 | **/*.rs.bk 7 | 8 | .DS_Store 9 | .tmp.sh 10 | -------------------------------------------------------------------------------- /.github/.deploy/bump.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Bump the version number in the package.json file 4 | version=$(git describe --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/') 5 | version2=$(git describe --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g') 6 | 7 | echo "Bumping Cargo version to $version" 8 | echo "Bumping PKGBUILD version to $version2" 9 | 10 | # Update the version in the PKGBUILD file. 11 | sed -i "s/pkgver=.*/pkgver=$version2/" PKGBUILD 12 | 13 | # Replace the version in the Cargo.toml file with the $version variable 14 | sed -i "0,/version = \".*\"/s//version = \"$version\"/" Cargo.toml 15 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "plz" 3 | license = "MIT" 4 | edition = "2021" 5 | version = "0.1.0" 6 | readme = "README.md" 7 | categories = ["command-line-utilities"] 8 | homepage = "https://github.com/m1guelpf/plz-cli" 9 | repository = "https://github.com/m1guelpf/plz-cli" 10 | authors = ["Miguel Piedrafita "] 11 | description = "Generate bash scripts from the command line, using Codex" 12 | 13 | [dependencies] 14 | question = "0.2.2" 15 | spinners = "4.1.0" 16 | serde_json = { version = "1.0.89", default-features = false } 17 | clap = { version = "4.0.29", features = ["derive"] } 18 | reqwest = { version = "0.11.13", default-features = false, features = ["json", "blocking", "rustls-tls"] } 19 | bat = { version = "0.22.1", default-features = false, features = ["regex-onig"] } 20 | colored = "2.0.0" 21 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | on: [push, pull_request] 2 | 3 | name: CI 4 | 5 | jobs: 6 | lint: 7 | name: Lint 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout repository 11 | uses: actions/checkout@v3 12 | - uses: actions-rs/toolchain@v1 13 | with: 14 | profile: minimal 15 | toolchain: nightly 16 | override: true 17 | components: rustfmt, clippy 18 | - name: Cache build 19 | uses: Swatinem/rust-cache@v2 20 | with: 21 | key: cache 22 | - name: Check formatting 23 | uses: actions-rs/cargo@v1 24 | with: 25 | command: fmt 26 | args: --all -- --check 27 | - name: Clippy 28 | uses: actions-rs/clippy-check@v1 29 | with: 30 | token: ${{ secrets.GITHUB_TOKEN }} 31 | args: --all-features --all-targets 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Miguel Piedrafita 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/config.rs: -------------------------------------------------------------------------------- 1 | use colored::Colorize; 2 | use std::{env, io::Write, process::exit}; 3 | 4 | pub struct Config { 5 | pub api_key: String, 6 | pub api_base: String, 7 | pub shell: String, 8 | } 9 | 10 | impl Config { 11 | pub fn new() -> Self { 12 | let api_key = env::var("OPENAI_API_KEY").unwrap_or_else(|_| { 13 | println!("{}", "This program requires an OpenAI API key to run. Please set the OPENAI_API_KEY environment variable. https://github.com/m1guelpf/plz-cli#usage".red()); 14 | exit(1); 15 | }); 16 | let api_base = env::var("OPENAI_API_BASE").unwrap_or_else(|_| String::from("https://api.openai.com/v1")); 17 | let shell = env::var("SHELL").unwrap_or_else(|_| String::new()); 18 | 19 | Self { api_key, api_base, shell } 20 | } 21 | 22 | pub fn write_to_history(&self, code: &str) { 23 | let history_file = match self.shell.as_str() { 24 | "/bin/bash" => std::env::var("HOME").unwrap() + "/.bash_history", 25 | "/bin/zsh" => std::env::var("HOME").unwrap() + "/.zsh_history", 26 | _ => return, 27 | }; 28 | 29 | std::fs::OpenOptions::new() 30 | .append(true) 31 | .open(history_file) 32 | .map_or((), |mut file| { 33 | file.write_all(format!("{code}\n").as_bytes()) 34 | .unwrap_or_else(|_| { 35 | exit(1); 36 | }); 37 | }); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Copilot, for your terminal 2 | 3 | A CLI tool that generates shell scripts from a human readable description. 4 | 5 | ## Installation 6 | 7 | You can install `plz` by running the following command in your terminal. 8 | 9 | ``` 10 | curl -fsSL https://raw.githubusercontent.com/m1guelpf/plz-cli/main/install.sh | sh - 11 | ``` 12 | 13 | ### Homebrew 14 | 15 | You can also install `plz` using [Homebrew](https://brew.sh/). 16 | 17 | ```sh 18 | $ brew install plz-cli 19 | ``` 20 | 21 | You may need to close and reopen your terminal after installation. Alternatively, you can download the binary corresponding to your OS from the [latest release](https://github.com/m1guelpf/plz-cli/releases/latest). 22 | 23 | ## Usage 24 | 25 | `plz` uses [GPT-3](https://beta.openai.com/). To use it, you'll need to grab an API key from [your dashboard](https://beta.openai.com/), and save it to `OPENAI_API_KEY` as follows (you can also save it in your bash/zsh profile for persistance between sessions). 26 | 27 | ```bash 28 | export OPENAI_API_KEY='sk-XXXXXXXX' 29 | ``` 30 | 31 | Once you have configured your environment, run `plz` followed by whatever it is that you want to do (`plz show me all options for the plz cli`). 32 | 33 | To get a full overview of all available options, run `plz --help` 34 | 35 | ```sh 36 | $ plz --help 37 | Generates bash scripts from the command line 38 | 39 | Usage: plz [OPTIONS] 40 | 41 | Arguments: 42 | Description of the command to execute 43 | 44 | Options: 45 | -y, --force Run the generated program without asking for confirmation 46 | -h, --help Print help information 47 | -V, --version Print version information 48 | ``` 49 | 50 | ## Develop 51 | 52 | Make sure you have the latest version of rust installed (use [rustup](https://rustup.rs/)). Then, you can build the project by running `cargo build`, and run it with `cargo run`. 53 | 54 | ## License 55 | 56 | This project is open-sourced under the MIT license. See [the License file](LICENSE) for more information. 57 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | main() { 5 | BIN_DIR=${BIN_DIR-"$HOME/.bin"} 6 | mkdir -p "$BIN_DIR" 7 | 8 | case $SHELL in 9 | */zsh) 10 | PROFILE=$HOME/.zshrc 11 | ;; 12 | */bash) 13 | PROFILE=$HOME/.bashrc 14 | ;; 15 | */fish) 16 | PROFILE=$HOME/.config/fish/config.fish 17 | ;; 18 | */ash) 19 | PROFILE=$HOME/.profile 20 | ;; 21 | *) 22 | echo "could not detect shell, manually add ${BIN_DIR} to your PATH." 23 | exit 1 24 | esac 25 | 26 | if [[ ":$PATH:" != *":${BIN_DIR}:"* ]]; then 27 | echo >> "$PROFILE" && echo "export PATH=\"\$PATH:$BIN_DIR\"" >> "$PROFILE" 28 | fi 29 | 30 | PLATFORM="$(uname -s)" 31 | case $PLATFORM in 32 | Linux) 33 | PLATFORM="linux" 34 | ;; 35 | Darwin) 36 | PLATFORM="darwin" 37 | ;; 38 | *) 39 | err "unsupported platform: $PLATFORM" 40 | ;; 41 | esac 42 | 43 | ARCHITECTURE="$(uname -m)" 44 | if [ "${ARCHITECTURE}" = "x86_64" ]; then 45 | # Redirect stderr to /dev/null to avoid printing errors if non Rosetta. 46 | if [ "$(sysctl -n sysctl.proc_translated 2>/dev/null)" = "1" ]; then 47 | ARCHITECTURE="aarch64" # Rosetta. 48 | else 49 | ARCHITECTURE="x86_64" # Intel. 50 | fi 51 | elif [ "${ARCHITECTURE}" = "arm64" ] ||[ "${ARCHITECTURE}" = "aarch64" ] ; then 52 | ARCHITECTURE="aarch64" # Arm. 53 | else 54 | ARCHITECTURE="x86_64" # Amd. 55 | fi 56 | 57 | BINARY_URL="https://github.com/m1guelpf/plz-cli/releases/latest/download/plz-${PLATFORM}-${ARCHITECTURE}" 58 | echo "$BINARY_URL" 59 | 60 | echo "downloading latest binary" 61 | ensure curl -L "$BINARY_URL" -o "$BIN_DIR/plz" 62 | chmod +x "$BIN_DIR/plz" 63 | 64 | echo "installed - $("$BIN_DIR/plz" --version)" 65 | } 66 | 67 | # Run a command that should never fail. If the command fails execution 68 | # will immediately terminate with an error showing the failing 69 | # command. 70 | ensure() { 71 | if ! "$@"; then err "command failed: $*"; fi 72 | } 73 | 74 | main "$@" || exit 1 75 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #![warn(clippy::all, clippy::pedantic, clippy::nursery)] 2 | 3 | use bat::PrettyPrinter; 4 | use clap::Parser; 5 | use colored::Colorize; 6 | use config::Config; 7 | use question::{Answer, Question}; 8 | use reqwest::blocking::Client; 9 | use serde_json::json; 10 | use spinners::{Spinner, Spinners}; 11 | use std::process::Command; 12 | 13 | mod config; 14 | 15 | #[derive(Parser, Debug)] 16 | #[command(author, version, about, long_about = None)] 17 | struct Cli { 18 | /// Description of the command to execute 19 | prompt: Vec, 20 | 21 | /// Run the generated program without asking for confirmation 22 | #[clap(short = 'y', long)] 23 | force: bool, 24 | } 25 | 26 | fn main() { 27 | let cli = Cli::parse(); 28 | let config = Config::new(); 29 | 30 | let client = Client::new(); 31 | let mut spinner = Spinner::new(Spinners::BouncingBar, "Generating your command...".into()); 32 | let api_addr = format!("{}/completions", config.api_base); 33 | let response = client 34 | .post(api_addr) 35 | .json(&json!({ 36 | "top_p": 1, 37 | "stop": "```", 38 | "temperature": 0, 39 | "suffix": "\n```", 40 | "max_tokens": 1000, 41 | "presence_penalty": 0, 42 | "frequency_penalty": 0, 43 | "model": "gpt-3.5-turbo-instruct", 44 | "prompt": build_prompt(&cli.prompt.join(" ")), 45 | })) 46 | .header("Authorization", format!("Bearer {}", config.api_key)) 47 | .send() 48 | .unwrap(); 49 | 50 | let status_code = response.status(); 51 | if status_code.is_client_error() { 52 | let response_body = response.json::().unwrap(); 53 | let error_message = response_body["error"]["message"].as_str().unwrap(); 54 | spinner.stop_and_persist( 55 | "✖".red().to_string().as_str(), 56 | format!("API error: \"{error_message}\"").red().to_string(), 57 | ); 58 | std::process::exit(1); 59 | } else if status_code.is_server_error() { 60 | spinner.stop_and_persist( 61 | "✖".red().to_string().as_str(), 62 | format!("OpenAI is currently experiencing problems. Status code: {status_code}") 63 | .red() 64 | .to_string(), 65 | ); 66 | std::process::exit(1); 67 | } 68 | 69 | let code = response.json::().unwrap()["choices"][0]["text"] 70 | .as_str() 71 | .unwrap() 72 | .trim() 73 | .to_string(); 74 | 75 | spinner.stop_and_persist( 76 | "✔".green().to_string().as_str(), 77 | "Got some code!".green().to_string(), 78 | ); 79 | 80 | PrettyPrinter::new() 81 | .input_from_bytes(code.as_bytes()) 82 | .language("bash") 83 | .grid(true) 84 | .print() 85 | .unwrap(); 86 | 87 | let should_run = if cli.force { 88 | true 89 | } else { 90 | Question::new( 91 | ">> Run the generated program? [Y/n]" 92 | .bright_black() 93 | .to_string() 94 | .as_str(), 95 | ) 96 | .yes_no() 97 | .until_acceptable() 98 | .default(Answer::YES) 99 | .ask() 100 | .expect("Couldn't ask question.") 101 | == Answer::YES 102 | }; 103 | 104 | if should_run { 105 | config.write_to_history(code.as_str()); 106 | spinner = Spinner::new(Spinners::BouncingBar, "Executing...".into()); 107 | 108 | let output = Command::new("bash") 109 | .arg("-c") 110 | .arg(code.as_str()) 111 | .output() 112 | .unwrap_or_else(|_| { 113 | spinner.stop_and_persist( 114 | "✖".red().to_string().as_str(), 115 | "Failed to execute the generated program.".red().to_string(), 116 | ); 117 | std::process::exit(1); 118 | }); 119 | 120 | if !output.status.success() { 121 | spinner.stop_and_persist( 122 | "✖".red().to_string().as_str(), 123 | "The program threw an error.".red().to_string(), 124 | ); 125 | println!("{}", String::from_utf8_lossy(&output.stderr)); 126 | std::process::exit(1); 127 | } 128 | 129 | spinner.stop_and_persist( 130 | "✔".green().to_string().as_str(), 131 | "Command ran successfully".green().to_string(), 132 | ); 133 | 134 | println!("{}", String::from_utf8_lossy(&output.stdout)); 135 | } 136 | } 137 | 138 | fn build_prompt(prompt: &str) -> String { 139 | let os_hint = if cfg!(target_os = "macos") { 140 | " (on macOS)" 141 | } else if cfg!(target_os = "linux") { 142 | " (on Linux)" 143 | } else { 144 | "" 145 | }; 146 | 147 | format!("{prompt}{os_hint}:\n```bash\n#!/bin/bash\n") 148 | } 149 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | on: 2 | release: 3 | types: 4 | - created 5 | 6 | env: 7 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 8 | CARGO_TERM_COLOR: always 9 | 10 | name: Create Release / Upload Assets 11 | 12 | jobs: 13 | version_bump: 14 | name: Bump cache version 15 | runs-on: ubuntu-latest 16 | steps: 17 | - name: Checkout code 18 | uses: actions/checkout@v2 19 | 20 | - name: Cache Version 21 | run: .github/.deploy/bump.sh 22 | 23 | - uses: actions/upload-artifact@v2 24 | with: 25 | name: pkg-version 26 | path: Cargo.toml 27 | 28 | windows: 29 | name: Build for Windows 30 | runs-on: windows-latest 31 | needs: [version_bump] 32 | 33 | steps: 34 | - name: Checkout code 35 | uses: actions/checkout@v2 36 | 37 | - uses: actions/download-artifact@v2 38 | with: 39 | name: pkg-version 40 | 41 | - name: Set up cargo cache 42 | uses: actions/cache@v3 43 | continue-on-error: false 44 | with: 45 | path: | 46 | ~/.cargo/bin/ 47 | ~/.cargo/registry/index/ 48 | ~/.cargo/registry/cache/ 49 | ~/.cargo/git/db/ 50 | target/ 51 | key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} 52 | restore-keys: ${{ runner.os }}-cargo- 53 | 54 | - name: Build 55 | run: cargo build --release 56 | 57 | - name: "Move to outputs/ folder" 58 | run: | 59 | mkdir outputs 60 | cp target/release/*.exe outputs/plz-win-x86_64.exe 61 | 62 | - name: Upload to temporary storage 63 | uses: actions/upload-artifact@master 64 | with: 65 | name: output-artifact 66 | path: outputs 67 | 68 | linux: 69 | name: Build for Linux 70 | runs-on: ubuntu-latest 71 | needs: [version_bump] 72 | 73 | steps: 74 | - name: Checkout code 75 | uses: actions/checkout@v2 76 | 77 | - uses: actions/download-artifact@v2 78 | with: 79 | name: pkg-version 80 | 81 | - name: Set up cargo cache 82 | uses: actions/cache@v3 83 | continue-on-error: false 84 | with: 85 | path: | 86 | ~/.cargo/bin/ 87 | ~/.cargo/registry/index/ 88 | ~/.cargo/registry/cache/ 89 | ~/.cargo/git/db/ 90 | target/ 91 | key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} 92 | restore-keys: ${{ runner.os }}-cargo- 93 | 94 | - name: Build 95 | run: cargo build --release 96 | 97 | - name: Install cargo-deb 98 | run: cargo install cargo-deb 99 | continue-on-error: true 100 | 101 | - name: Create deb package 102 | run: cargo deb 103 | 104 | - name: "Move to outputs/ folder" 105 | run: | 106 | mkdir outputs 107 | cp target/release/plz outputs/plz-linux-x86_64 108 | cp target/debian/*.deb outputs/plz-linux-x86_64.deb 109 | 110 | - name: Upload to temporary storage 111 | uses: actions/upload-artifact@master 112 | with: 113 | name: output-artifact 114 | path: outputs 115 | 116 | linux-musl: 117 | name: Musl build for Linux 118 | runs-on: ubuntu-latest 119 | needs: [version_bump] 120 | 121 | steps: 122 | - name: Checkout code 123 | uses: actions/checkout@v2 124 | 125 | - uses: actions/download-artifact@v2 126 | with: 127 | name: pkg-version 128 | 129 | - name: Set up cargo cache 130 | uses: actions/cache@v3 131 | continue-on-error: false 132 | with: 133 | path: | 134 | ~/.cargo/bin/ 135 | ~/.cargo/registry/index/ 136 | ~/.cargo/registry/cache/ 137 | ~/.cargo/git/db/ 138 | target/ 139 | key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} 140 | restore-keys: ${{ runner.os }}-cargo- 141 | 142 | - name: Install Rust musl toolchain 143 | uses: actions-rs/toolchain@v1 144 | with: 145 | toolchain: stable 146 | target: x86_64-unknown-linux-musl 147 | override: true 148 | profile: minimal 149 | 150 | - name: Install gcc-musl compiler 151 | shell: bash 152 | run: | 153 | sudo apt-get install musl-tools 154 | musl-gcc --version || true 155 | 156 | - name: Build 157 | run: cargo build --release --target=x86_64-unknown-linux-musl 158 | 159 | - name: "Move to outputs/ folder" 160 | run: | 161 | mkdir outputs 162 | cp target/x86_64-unknown-linux-musl/release/plz outputs/plz-linux-musl-x86_64 163 | 164 | - name: Upload to temporary storage 165 | uses: actions/upload-artifact@master 166 | with: 167 | name: output-artifact 168 | path: outputs 169 | 170 | macos: 171 | name: Build for Mac 172 | runs-on: macos-11 173 | needs: [version_bump] 174 | 175 | steps: 176 | - name: Checkout code 177 | uses: actions/checkout@v2 178 | 179 | - uses: actions/download-artifact@v2 180 | with: 181 | name: pkg-version 182 | 183 | - name: Set up cargo cache 184 | uses: actions/cache@v3 185 | continue-on-error: false 186 | with: 187 | path: | 188 | ~/.cargo/bin/ 189 | ~/.cargo/registry/index/ 190 | ~/.cargo/registry/cache/ 191 | ~/.cargo/git/db/ 192 | target/ 193 | key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} 194 | restore-keys: ${{ runner.os }}-cargo- 195 | 196 | - name: Install ARM target 197 | run: rustup update && rustup target add aarch64-apple-darwin 198 | 199 | - name: ARM Build 200 | run: cargo build --release --target=aarch64-apple-darwin 201 | 202 | - name: Build 203 | run: cargo build --release 204 | 205 | - name: "Move to outputs/ folder" 206 | run: | 207 | mkdir outputs 208 | cp target/aarch64-apple-darwin/release/plz outputs/plz-darwin-aarch64 209 | cp target/release/plz outputs/plz-darwin-x86_64 210 | 211 | - name: Upload to temporary storage 212 | uses: actions/upload-artifact@master 213 | with: 214 | name: output-artifact 215 | path: outputs 216 | 217 | release: 218 | name: Release assets 219 | runs-on: ubuntu-latest 220 | needs: [windows, linux, linux-musl, macos] 221 | 222 | steps: 223 | - name: Download from temporary storage 224 | uses: actions/download-artifact@master 225 | with: 226 | name: output-artifact 227 | path: outputs 228 | 229 | - name: Upload binaries to release 230 | uses: svenstaro/upload-release-action@v2 231 | with: 232 | repo_token: ${{ secrets.GITHUB_TOKEN }} 233 | file: outputs/* 234 | tag: ${{ github.ref }} 235 | overwrite: true 236 | file_glob: true 237 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "adler" 7 | version = "1.0.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 10 | 11 | [[package]] 12 | name = "aho-corasick" 13 | version = "0.7.20" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 16 | dependencies = [ 17 | "memchr", 18 | ] 19 | 20 | [[package]] 21 | name = "ansi_colours" 22 | version = "1.2.1" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "7db9d9767fde724f83933a716ee182539788f293828244e9d999695ce0f7ba1e" 25 | dependencies = [ 26 | "rgb", 27 | ] 28 | 29 | [[package]] 30 | name = "ansi_term" 31 | version = "0.12.1" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 34 | dependencies = [ 35 | "winapi", 36 | ] 37 | 38 | [[package]] 39 | name = "atty" 40 | version = "0.2.14" 41 | source = "registry+https://github.com/rust-lang/crates.io-index" 42 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 43 | dependencies = [ 44 | "hermit-abi 0.1.19", 45 | "libc", 46 | "winapi", 47 | ] 48 | 49 | [[package]] 50 | name = "autocfg" 51 | version = "1.1.0" 52 | source = "registry+https://github.com/rust-lang/crates.io-index" 53 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 54 | 55 | [[package]] 56 | name = "base64" 57 | version = "0.13.1" 58 | source = "registry+https://github.com/rust-lang/crates.io-index" 59 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 60 | 61 | [[package]] 62 | name = "bat" 63 | version = "0.22.1" 64 | source = "registry+https://github.com/rust-lang/crates.io-index" 65 | checksum = "fbfdea7507f0848118a3be1a76643a92705a9ff675796f9cadb309b7e95ab65d" 66 | dependencies = [ 67 | "ansi_colours", 68 | "ansi_term", 69 | "bincode", 70 | "bytesize", 71 | "clircle", 72 | "console", 73 | "content_inspector", 74 | "encoding", 75 | "flate2", 76 | "globset", 77 | "once_cell", 78 | "path_abs", 79 | "semver", 80 | "serde", 81 | "serde_yaml", 82 | "syntect", 83 | "thiserror", 84 | "unicode-width", 85 | ] 86 | 87 | [[package]] 88 | name = "bincode" 89 | version = "1.3.3" 90 | source = "registry+https://github.com/rust-lang/crates.io-index" 91 | checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" 92 | dependencies = [ 93 | "serde", 94 | ] 95 | 96 | [[package]] 97 | name = "bitflags" 98 | version = "1.3.2" 99 | source = "registry+https://github.com/rust-lang/crates.io-index" 100 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 101 | 102 | [[package]] 103 | name = "bstr" 104 | version = "0.2.17" 105 | source = "registry+https://github.com/rust-lang/crates.io-index" 106 | checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" 107 | dependencies = [ 108 | "memchr", 109 | ] 110 | 111 | [[package]] 112 | name = "bumpalo" 113 | version = "3.11.1" 114 | source = "registry+https://github.com/rust-lang/crates.io-index" 115 | checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" 116 | 117 | [[package]] 118 | name = "bytemuck" 119 | version = "1.12.3" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" 122 | 123 | [[package]] 124 | name = "bytes" 125 | version = "1.3.0" 126 | source = "registry+https://github.com/rust-lang/crates.io-index" 127 | checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" 128 | 129 | [[package]] 130 | name = "bytesize" 131 | version = "1.1.0" 132 | source = "registry+https://github.com/rust-lang/crates.io-index" 133 | checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" 134 | 135 | [[package]] 136 | name = "cc" 137 | version = "1.0.78" 138 | source = "registry+https://github.com/rust-lang/crates.io-index" 139 | checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" 140 | 141 | [[package]] 142 | name = "cfg-if" 143 | version = "1.0.0" 144 | source = "registry+https://github.com/rust-lang/crates.io-index" 145 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 146 | 147 | [[package]] 148 | name = "clap" 149 | version = "4.0.29" 150 | source = "registry+https://github.com/rust-lang/crates.io-index" 151 | checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" 152 | dependencies = [ 153 | "bitflags", 154 | "clap_derive", 155 | "clap_lex", 156 | "is-terminal", 157 | "once_cell", 158 | "strsim", 159 | "termcolor", 160 | ] 161 | 162 | [[package]] 163 | name = "clap_derive" 164 | version = "4.0.21" 165 | source = "registry+https://github.com/rust-lang/crates.io-index" 166 | checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" 167 | dependencies = [ 168 | "heck", 169 | "proc-macro-error", 170 | "proc-macro2", 171 | "quote", 172 | "syn", 173 | ] 174 | 175 | [[package]] 176 | name = "clap_lex" 177 | version = "0.3.0" 178 | source = "registry+https://github.com/rust-lang/crates.io-index" 179 | checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" 180 | dependencies = [ 181 | "os_str_bytes", 182 | ] 183 | 184 | [[package]] 185 | name = "clircle" 186 | version = "0.3.0" 187 | source = "registry+https://github.com/rust-lang/crates.io-index" 188 | checksum = "e68bbd985a63de680ab4d1ad77b6306611a8f961b282c8b5ab513e6de934e396" 189 | dependencies = [ 190 | "cfg-if", 191 | "libc", 192 | "serde", 193 | "winapi", 194 | ] 195 | 196 | [[package]] 197 | name = "colored" 198 | version = "2.0.0" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" 201 | dependencies = [ 202 | "atty", 203 | "lazy_static", 204 | "winapi", 205 | ] 206 | 207 | [[package]] 208 | name = "console" 209 | version = "0.15.2" 210 | source = "registry+https://github.com/rust-lang/crates.io-index" 211 | checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c" 212 | dependencies = [ 213 | "encode_unicode", 214 | "lazy_static", 215 | "libc", 216 | "terminal_size", 217 | "unicode-width", 218 | "winapi", 219 | ] 220 | 221 | [[package]] 222 | name = "content_inspector" 223 | version = "0.2.4" 224 | source = "registry+https://github.com/rust-lang/crates.io-index" 225 | checksum = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" 226 | dependencies = [ 227 | "memchr", 228 | ] 229 | 230 | [[package]] 231 | name = "crc32fast" 232 | version = "1.3.2" 233 | source = "registry+https://github.com/rust-lang/crates.io-index" 234 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 235 | dependencies = [ 236 | "cfg-if", 237 | ] 238 | 239 | [[package]] 240 | name = "encode_unicode" 241 | version = "0.3.6" 242 | source = "registry+https://github.com/rust-lang/crates.io-index" 243 | checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" 244 | 245 | [[package]] 246 | name = "encoding" 247 | version = "0.2.33" 248 | source = "registry+https://github.com/rust-lang/crates.io-index" 249 | checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" 250 | dependencies = [ 251 | "encoding-index-japanese", 252 | "encoding-index-korean", 253 | "encoding-index-simpchinese", 254 | "encoding-index-singlebyte", 255 | "encoding-index-tradchinese", 256 | ] 257 | 258 | [[package]] 259 | name = "encoding-index-japanese" 260 | version = "1.20141219.5" 261 | source = "registry+https://github.com/rust-lang/crates.io-index" 262 | checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" 263 | dependencies = [ 264 | "encoding_index_tests", 265 | ] 266 | 267 | [[package]] 268 | name = "encoding-index-korean" 269 | version = "1.20141219.5" 270 | source = "registry+https://github.com/rust-lang/crates.io-index" 271 | checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" 272 | dependencies = [ 273 | "encoding_index_tests", 274 | ] 275 | 276 | [[package]] 277 | name = "encoding-index-simpchinese" 278 | version = "1.20141219.5" 279 | source = "registry+https://github.com/rust-lang/crates.io-index" 280 | checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" 281 | dependencies = [ 282 | "encoding_index_tests", 283 | ] 284 | 285 | [[package]] 286 | name = "encoding-index-singlebyte" 287 | version = "1.20141219.5" 288 | source = "registry+https://github.com/rust-lang/crates.io-index" 289 | checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" 290 | dependencies = [ 291 | "encoding_index_tests", 292 | ] 293 | 294 | [[package]] 295 | name = "encoding-index-tradchinese" 296 | version = "1.20141219.5" 297 | source = "registry+https://github.com/rust-lang/crates.io-index" 298 | checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" 299 | dependencies = [ 300 | "encoding_index_tests", 301 | ] 302 | 303 | [[package]] 304 | name = "encoding_index_tests" 305 | version = "0.1.4" 306 | source = "registry+https://github.com/rust-lang/crates.io-index" 307 | checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" 308 | 309 | [[package]] 310 | name = "encoding_rs" 311 | version = "0.8.31" 312 | source = "registry+https://github.com/rust-lang/crates.io-index" 313 | checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" 314 | dependencies = [ 315 | "cfg-if", 316 | ] 317 | 318 | [[package]] 319 | name = "errno" 320 | version = "0.2.8" 321 | source = "registry+https://github.com/rust-lang/crates.io-index" 322 | checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" 323 | dependencies = [ 324 | "errno-dragonfly", 325 | "libc", 326 | "winapi", 327 | ] 328 | 329 | [[package]] 330 | name = "errno-dragonfly" 331 | version = "0.1.2" 332 | source = "registry+https://github.com/rust-lang/crates.io-index" 333 | checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 334 | dependencies = [ 335 | "cc", 336 | "libc", 337 | ] 338 | 339 | [[package]] 340 | name = "flate2" 341 | version = "1.0.25" 342 | source = "registry+https://github.com/rust-lang/crates.io-index" 343 | checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 344 | dependencies = [ 345 | "crc32fast", 346 | "miniz_oxide", 347 | ] 348 | 349 | [[package]] 350 | name = "fnv" 351 | version = "1.0.7" 352 | source = "registry+https://github.com/rust-lang/crates.io-index" 353 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 354 | 355 | [[package]] 356 | name = "form_urlencoded" 357 | version = "1.1.0" 358 | source = "registry+https://github.com/rust-lang/crates.io-index" 359 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 360 | dependencies = [ 361 | "percent-encoding", 362 | ] 363 | 364 | [[package]] 365 | name = "futures-channel" 366 | version = "0.3.25" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" 369 | dependencies = [ 370 | "futures-core", 371 | ] 372 | 373 | [[package]] 374 | name = "futures-core" 375 | version = "0.3.25" 376 | source = "registry+https://github.com/rust-lang/crates.io-index" 377 | checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" 378 | 379 | [[package]] 380 | name = "futures-io" 381 | version = "0.3.25" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" 384 | 385 | [[package]] 386 | name = "futures-sink" 387 | version = "0.3.25" 388 | source = "registry+https://github.com/rust-lang/crates.io-index" 389 | checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" 390 | 391 | [[package]] 392 | name = "futures-task" 393 | version = "0.3.25" 394 | source = "registry+https://github.com/rust-lang/crates.io-index" 395 | checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" 396 | 397 | [[package]] 398 | name = "futures-util" 399 | version = "0.3.25" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" 402 | dependencies = [ 403 | "futures-core", 404 | "futures-io", 405 | "futures-task", 406 | "memchr", 407 | "pin-project-lite", 408 | "pin-utils", 409 | "slab", 410 | ] 411 | 412 | [[package]] 413 | name = "globset" 414 | version = "0.4.9" 415 | source = "registry+https://github.com/rust-lang/crates.io-index" 416 | checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" 417 | dependencies = [ 418 | "aho-corasick", 419 | "bstr", 420 | "fnv", 421 | "log", 422 | "regex", 423 | ] 424 | 425 | [[package]] 426 | name = "h2" 427 | version = "0.3.15" 428 | source = "registry+https://github.com/rust-lang/crates.io-index" 429 | checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" 430 | dependencies = [ 431 | "bytes", 432 | "fnv", 433 | "futures-core", 434 | "futures-sink", 435 | "futures-util", 436 | "http", 437 | "indexmap", 438 | "slab", 439 | "tokio", 440 | "tokio-util", 441 | "tracing", 442 | ] 443 | 444 | [[package]] 445 | name = "hashbrown" 446 | version = "0.12.3" 447 | source = "registry+https://github.com/rust-lang/crates.io-index" 448 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 449 | 450 | [[package]] 451 | name = "heck" 452 | version = "0.4.0" 453 | source = "registry+https://github.com/rust-lang/crates.io-index" 454 | checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" 455 | 456 | [[package]] 457 | name = "hermit-abi" 458 | version = "0.1.19" 459 | source = "registry+https://github.com/rust-lang/crates.io-index" 460 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 461 | dependencies = [ 462 | "libc", 463 | ] 464 | 465 | [[package]] 466 | name = "hermit-abi" 467 | version = "0.2.6" 468 | source = "registry+https://github.com/rust-lang/crates.io-index" 469 | checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" 470 | dependencies = [ 471 | "libc", 472 | ] 473 | 474 | [[package]] 475 | name = "http" 476 | version = "0.2.8" 477 | source = "registry+https://github.com/rust-lang/crates.io-index" 478 | checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" 479 | dependencies = [ 480 | "bytes", 481 | "fnv", 482 | "itoa", 483 | ] 484 | 485 | [[package]] 486 | name = "http-body" 487 | version = "0.4.5" 488 | source = "registry+https://github.com/rust-lang/crates.io-index" 489 | checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" 490 | dependencies = [ 491 | "bytes", 492 | "http", 493 | "pin-project-lite", 494 | ] 495 | 496 | [[package]] 497 | name = "httparse" 498 | version = "1.8.0" 499 | source = "registry+https://github.com/rust-lang/crates.io-index" 500 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 501 | 502 | [[package]] 503 | name = "httpdate" 504 | version = "1.0.2" 505 | source = "registry+https://github.com/rust-lang/crates.io-index" 506 | checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" 507 | 508 | [[package]] 509 | name = "hyper" 510 | version = "0.14.23" 511 | source = "registry+https://github.com/rust-lang/crates.io-index" 512 | checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" 513 | dependencies = [ 514 | "bytes", 515 | "futures-channel", 516 | "futures-core", 517 | "futures-util", 518 | "h2", 519 | "http", 520 | "http-body", 521 | "httparse", 522 | "httpdate", 523 | "itoa", 524 | "pin-project-lite", 525 | "socket2", 526 | "tokio", 527 | "tower-service", 528 | "tracing", 529 | "want", 530 | ] 531 | 532 | [[package]] 533 | name = "hyper-rustls" 534 | version = "0.23.2" 535 | source = "registry+https://github.com/rust-lang/crates.io-index" 536 | checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" 537 | dependencies = [ 538 | "http", 539 | "hyper", 540 | "rustls", 541 | "tokio", 542 | "tokio-rustls", 543 | ] 544 | 545 | [[package]] 546 | name = "idna" 547 | version = "0.3.0" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 550 | dependencies = [ 551 | "unicode-bidi", 552 | "unicode-normalization", 553 | ] 554 | 555 | [[package]] 556 | name = "indexmap" 557 | version = "1.9.2" 558 | source = "registry+https://github.com/rust-lang/crates.io-index" 559 | checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" 560 | dependencies = [ 561 | "autocfg", 562 | "hashbrown", 563 | ] 564 | 565 | [[package]] 566 | name = "io-lifetimes" 567 | version = "1.0.3" 568 | source = "registry+https://github.com/rust-lang/crates.io-index" 569 | checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" 570 | dependencies = [ 571 | "libc", 572 | "windows-sys", 573 | ] 574 | 575 | [[package]] 576 | name = "ipnet" 577 | version = "2.7.0" 578 | source = "registry+https://github.com/rust-lang/crates.io-index" 579 | checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" 580 | 581 | [[package]] 582 | name = "is-terminal" 583 | version = "0.4.1" 584 | source = "registry+https://github.com/rust-lang/crates.io-index" 585 | checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" 586 | dependencies = [ 587 | "hermit-abi 0.2.6", 588 | "io-lifetimes", 589 | "rustix", 590 | "windows-sys", 591 | ] 592 | 593 | [[package]] 594 | name = "itoa" 595 | version = "1.0.5" 596 | source = "registry+https://github.com/rust-lang/crates.io-index" 597 | checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" 598 | 599 | [[package]] 600 | name = "js-sys" 601 | version = "0.3.60" 602 | source = "registry+https://github.com/rust-lang/crates.io-index" 603 | checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" 604 | dependencies = [ 605 | "wasm-bindgen", 606 | ] 607 | 608 | [[package]] 609 | name = "lazy_static" 610 | version = "1.4.0" 611 | source = "registry+https://github.com/rust-lang/crates.io-index" 612 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 613 | 614 | [[package]] 615 | name = "libc" 616 | version = "0.2.138" 617 | source = "registry+https://github.com/rust-lang/crates.io-index" 618 | checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" 619 | 620 | [[package]] 621 | name = "linked-hash-map" 622 | version = "0.5.6" 623 | source = "registry+https://github.com/rust-lang/crates.io-index" 624 | checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 625 | 626 | [[package]] 627 | name = "linux-raw-sys" 628 | version = "0.1.4" 629 | source = "registry+https://github.com/rust-lang/crates.io-index" 630 | checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" 631 | 632 | [[package]] 633 | name = "log" 634 | version = "0.4.17" 635 | source = "registry+https://github.com/rust-lang/crates.io-index" 636 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 637 | dependencies = [ 638 | "cfg-if", 639 | ] 640 | 641 | [[package]] 642 | name = "maplit" 643 | version = "1.0.2" 644 | source = "registry+https://github.com/rust-lang/crates.io-index" 645 | checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" 646 | 647 | [[package]] 648 | name = "memchr" 649 | version = "2.5.0" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 652 | 653 | [[package]] 654 | name = "mime" 655 | version = "0.3.16" 656 | source = "registry+https://github.com/rust-lang/crates.io-index" 657 | checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" 658 | 659 | [[package]] 660 | name = "miniz_oxide" 661 | version = "0.6.2" 662 | source = "registry+https://github.com/rust-lang/crates.io-index" 663 | checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 664 | dependencies = [ 665 | "adler", 666 | ] 667 | 668 | [[package]] 669 | name = "mio" 670 | version = "0.8.5" 671 | source = "registry+https://github.com/rust-lang/crates.io-index" 672 | checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" 673 | dependencies = [ 674 | "libc", 675 | "log", 676 | "wasi", 677 | "windows-sys", 678 | ] 679 | 680 | [[package]] 681 | name = "num_cpus" 682 | version = "1.14.0" 683 | source = "registry+https://github.com/rust-lang/crates.io-index" 684 | checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" 685 | dependencies = [ 686 | "hermit-abi 0.1.19", 687 | "libc", 688 | ] 689 | 690 | [[package]] 691 | name = "once_cell" 692 | version = "1.16.0" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" 695 | 696 | [[package]] 697 | name = "onig" 698 | version = "6.4.0" 699 | source = "registry+https://github.com/rust-lang/crates.io-index" 700 | checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" 701 | dependencies = [ 702 | "bitflags", 703 | "libc", 704 | "once_cell", 705 | "onig_sys", 706 | ] 707 | 708 | [[package]] 709 | name = "onig_sys" 710 | version = "69.8.1" 711 | source = "registry+https://github.com/rust-lang/crates.io-index" 712 | checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7" 713 | dependencies = [ 714 | "cc", 715 | "pkg-config", 716 | ] 717 | 718 | [[package]] 719 | name = "os_str_bytes" 720 | version = "6.4.1" 721 | source = "registry+https://github.com/rust-lang/crates.io-index" 722 | checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" 723 | 724 | [[package]] 725 | name = "path_abs" 726 | version = "0.5.1" 727 | source = "registry+https://github.com/rust-lang/crates.io-index" 728 | checksum = "05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3" 729 | dependencies = [ 730 | "std_prelude", 731 | ] 732 | 733 | [[package]] 734 | name = "percent-encoding" 735 | version = "2.2.0" 736 | source = "registry+https://github.com/rust-lang/crates.io-index" 737 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 738 | 739 | [[package]] 740 | name = "pin-project-lite" 741 | version = "0.2.9" 742 | source = "registry+https://github.com/rust-lang/crates.io-index" 743 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 744 | 745 | [[package]] 746 | name = "pin-utils" 747 | version = "0.1.0" 748 | source = "registry+https://github.com/rust-lang/crates.io-index" 749 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 750 | 751 | [[package]] 752 | name = "pkg-config" 753 | version = "0.3.26" 754 | source = "registry+https://github.com/rust-lang/crates.io-index" 755 | checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" 756 | 757 | [[package]] 758 | name = "plz" 759 | version = "0.1.0" 760 | dependencies = [ 761 | "bat", 762 | "clap", 763 | "colored", 764 | "question", 765 | "reqwest", 766 | "serde_json", 767 | "spinners", 768 | ] 769 | 770 | [[package]] 771 | name = "proc-macro-error" 772 | version = "1.0.4" 773 | source = "registry+https://github.com/rust-lang/crates.io-index" 774 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 775 | dependencies = [ 776 | "proc-macro-error-attr", 777 | "proc-macro2", 778 | "quote", 779 | "syn", 780 | "version_check", 781 | ] 782 | 783 | [[package]] 784 | name = "proc-macro-error-attr" 785 | version = "1.0.4" 786 | source = "registry+https://github.com/rust-lang/crates.io-index" 787 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 788 | dependencies = [ 789 | "proc-macro2", 790 | "quote", 791 | "version_check", 792 | ] 793 | 794 | [[package]] 795 | name = "proc-macro2" 796 | version = "1.0.49" 797 | source = "registry+https://github.com/rust-lang/crates.io-index" 798 | checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" 799 | dependencies = [ 800 | "unicode-ident", 801 | ] 802 | 803 | [[package]] 804 | name = "question" 805 | version = "0.2.2" 806 | source = "registry+https://github.com/rust-lang/crates.io-index" 807 | checksum = "acbb3ede7a8f9a8ab89e714637f2cf40001b58f21340d4242b2f11533e65fa8d" 808 | 809 | [[package]] 810 | name = "quote" 811 | version = "1.0.23" 812 | source = "registry+https://github.com/rust-lang/crates.io-index" 813 | checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" 814 | dependencies = [ 815 | "proc-macro2", 816 | ] 817 | 818 | [[package]] 819 | name = "regex" 820 | version = "1.7.0" 821 | source = "registry+https://github.com/rust-lang/crates.io-index" 822 | checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" 823 | dependencies = [ 824 | "aho-corasick", 825 | "memchr", 826 | "regex-syntax", 827 | ] 828 | 829 | [[package]] 830 | name = "regex-syntax" 831 | version = "0.6.28" 832 | source = "registry+https://github.com/rust-lang/crates.io-index" 833 | checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 834 | 835 | [[package]] 836 | name = "reqwest" 837 | version = "0.11.13" 838 | source = "registry+https://github.com/rust-lang/crates.io-index" 839 | checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" 840 | dependencies = [ 841 | "base64", 842 | "bytes", 843 | "encoding_rs", 844 | "futures-core", 845 | "futures-util", 846 | "h2", 847 | "http", 848 | "http-body", 849 | "hyper", 850 | "hyper-rustls", 851 | "ipnet", 852 | "js-sys", 853 | "log", 854 | "mime", 855 | "once_cell", 856 | "percent-encoding", 857 | "pin-project-lite", 858 | "rustls", 859 | "rustls-pemfile", 860 | "serde", 861 | "serde_json", 862 | "serde_urlencoded", 863 | "tokio", 864 | "tokio-rustls", 865 | "tower-service", 866 | "url", 867 | "wasm-bindgen", 868 | "wasm-bindgen-futures", 869 | "web-sys", 870 | "webpki-roots", 871 | "winreg", 872 | ] 873 | 874 | [[package]] 875 | name = "rgb" 876 | version = "0.8.34" 877 | source = "registry+https://github.com/rust-lang/crates.io-index" 878 | checksum = "3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3" 879 | dependencies = [ 880 | "bytemuck", 881 | ] 882 | 883 | [[package]] 884 | name = "ring" 885 | version = "0.16.20" 886 | source = "registry+https://github.com/rust-lang/crates.io-index" 887 | checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" 888 | dependencies = [ 889 | "cc", 890 | "libc", 891 | "once_cell", 892 | "spin", 893 | "untrusted", 894 | "web-sys", 895 | "winapi", 896 | ] 897 | 898 | [[package]] 899 | name = "rustix" 900 | version = "0.36.5" 901 | source = "registry+https://github.com/rust-lang/crates.io-index" 902 | checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588" 903 | dependencies = [ 904 | "bitflags", 905 | "errno", 906 | "io-lifetimes", 907 | "libc", 908 | "linux-raw-sys", 909 | "windows-sys", 910 | ] 911 | 912 | [[package]] 913 | name = "rustls" 914 | version = "0.20.7" 915 | source = "registry+https://github.com/rust-lang/crates.io-index" 916 | checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" 917 | dependencies = [ 918 | "log", 919 | "ring", 920 | "sct", 921 | "webpki", 922 | ] 923 | 924 | [[package]] 925 | name = "rustls-pemfile" 926 | version = "1.0.1" 927 | source = "registry+https://github.com/rust-lang/crates.io-index" 928 | checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" 929 | dependencies = [ 930 | "base64", 931 | ] 932 | 933 | [[package]] 934 | name = "rustversion" 935 | version = "1.0.11" 936 | source = "registry+https://github.com/rust-lang/crates.io-index" 937 | checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" 938 | 939 | [[package]] 940 | name = "ryu" 941 | version = "1.0.12" 942 | source = "registry+https://github.com/rust-lang/crates.io-index" 943 | checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" 944 | 945 | [[package]] 946 | name = "same-file" 947 | version = "1.0.6" 948 | source = "registry+https://github.com/rust-lang/crates.io-index" 949 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 950 | dependencies = [ 951 | "winapi-util", 952 | ] 953 | 954 | [[package]] 955 | name = "sct" 956 | version = "0.7.0" 957 | source = "registry+https://github.com/rust-lang/crates.io-index" 958 | checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" 959 | dependencies = [ 960 | "ring", 961 | "untrusted", 962 | ] 963 | 964 | [[package]] 965 | name = "semver" 966 | version = "1.0.16" 967 | source = "registry+https://github.com/rust-lang/crates.io-index" 968 | checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" 969 | 970 | [[package]] 971 | name = "serde" 972 | version = "1.0.151" 973 | source = "registry+https://github.com/rust-lang/crates.io-index" 974 | checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" 975 | dependencies = [ 976 | "serde_derive", 977 | ] 978 | 979 | [[package]] 980 | name = "serde_derive" 981 | version = "1.0.151" 982 | source = "registry+https://github.com/rust-lang/crates.io-index" 983 | checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" 984 | dependencies = [ 985 | "proc-macro2", 986 | "quote", 987 | "syn", 988 | ] 989 | 990 | [[package]] 991 | name = "serde_json" 992 | version = "1.0.91" 993 | source = "registry+https://github.com/rust-lang/crates.io-index" 994 | checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" 995 | dependencies = [ 996 | "itoa", 997 | "ryu", 998 | "serde", 999 | ] 1000 | 1001 | [[package]] 1002 | name = "serde_urlencoded" 1003 | version = "0.7.1" 1004 | source = "registry+https://github.com/rust-lang/crates.io-index" 1005 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1006 | dependencies = [ 1007 | "form_urlencoded", 1008 | "itoa", 1009 | "ryu", 1010 | "serde", 1011 | ] 1012 | 1013 | [[package]] 1014 | name = "serde_yaml" 1015 | version = "0.8.26" 1016 | source = "registry+https://github.com/rust-lang/crates.io-index" 1017 | checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" 1018 | dependencies = [ 1019 | "indexmap", 1020 | "ryu", 1021 | "serde", 1022 | "yaml-rust", 1023 | ] 1024 | 1025 | [[package]] 1026 | name = "slab" 1027 | version = "0.4.7" 1028 | source = "registry+https://github.com/rust-lang/crates.io-index" 1029 | checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" 1030 | dependencies = [ 1031 | "autocfg", 1032 | ] 1033 | 1034 | [[package]] 1035 | name = "socket2" 1036 | version = "0.4.7" 1037 | source = "registry+https://github.com/rust-lang/crates.io-index" 1038 | checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" 1039 | dependencies = [ 1040 | "libc", 1041 | "winapi", 1042 | ] 1043 | 1044 | [[package]] 1045 | name = "spin" 1046 | version = "0.5.2" 1047 | source = "registry+https://github.com/rust-lang/crates.io-index" 1048 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" 1049 | 1050 | [[package]] 1051 | name = "spinners" 1052 | version = "4.1.0" 1053 | source = "registry+https://github.com/rust-lang/crates.io-index" 1054 | checksum = "08615eea740067d9899969bc2891c68a19c315cb1f66640af9a9ecb91b13bcab" 1055 | dependencies = [ 1056 | "lazy_static", 1057 | "maplit", 1058 | "strum", 1059 | ] 1060 | 1061 | [[package]] 1062 | name = "std_prelude" 1063 | version = "0.2.12" 1064 | source = "registry+https://github.com/rust-lang/crates.io-index" 1065 | checksum = "8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe" 1066 | 1067 | [[package]] 1068 | name = "strsim" 1069 | version = "0.10.0" 1070 | source = "registry+https://github.com/rust-lang/crates.io-index" 1071 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 1072 | 1073 | [[package]] 1074 | name = "strum" 1075 | version = "0.24.1" 1076 | source = "registry+https://github.com/rust-lang/crates.io-index" 1077 | checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" 1078 | dependencies = [ 1079 | "strum_macros", 1080 | ] 1081 | 1082 | [[package]] 1083 | name = "strum_macros" 1084 | version = "0.24.3" 1085 | source = "registry+https://github.com/rust-lang/crates.io-index" 1086 | checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" 1087 | dependencies = [ 1088 | "heck", 1089 | "proc-macro2", 1090 | "quote", 1091 | "rustversion", 1092 | "syn", 1093 | ] 1094 | 1095 | [[package]] 1096 | name = "syn" 1097 | version = "1.0.107" 1098 | source = "registry+https://github.com/rust-lang/crates.io-index" 1099 | checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" 1100 | dependencies = [ 1101 | "proc-macro2", 1102 | "quote", 1103 | "unicode-ident", 1104 | ] 1105 | 1106 | [[package]] 1107 | name = "syntect" 1108 | version = "5.0.0" 1109 | source = "registry+https://github.com/rust-lang/crates.io-index" 1110 | checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8" 1111 | dependencies = [ 1112 | "bincode", 1113 | "bitflags", 1114 | "flate2", 1115 | "fnv", 1116 | "lazy_static", 1117 | "once_cell", 1118 | "onig", 1119 | "regex-syntax", 1120 | "serde", 1121 | "serde_derive", 1122 | "serde_json", 1123 | "thiserror", 1124 | "walkdir", 1125 | ] 1126 | 1127 | [[package]] 1128 | name = "termcolor" 1129 | version = "1.1.3" 1130 | source = "registry+https://github.com/rust-lang/crates.io-index" 1131 | checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" 1132 | dependencies = [ 1133 | "winapi-util", 1134 | ] 1135 | 1136 | [[package]] 1137 | name = "terminal_size" 1138 | version = "0.1.17" 1139 | source = "registry+https://github.com/rust-lang/crates.io-index" 1140 | checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" 1141 | dependencies = [ 1142 | "libc", 1143 | "winapi", 1144 | ] 1145 | 1146 | [[package]] 1147 | name = "thiserror" 1148 | version = "1.0.38" 1149 | source = "registry+https://github.com/rust-lang/crates.io-index" 1150 | checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" 1151 | dependencies = [ 1152 | "thiserror-impl", 1153 | ] 1154 | 1155 | [[package]] 1156 | name = "thiserror-impl" 1157 | version = "1.0.38" 1158 | source = "registry+https://github.com/rust-lang/crates.io-index" 1159 | checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" 1160 | dependencies = [ 1161 | "proc-macro2", 1162 | "quote", 1163 | "syn", 1164 | ] 1165 | 1166 | [[package]] 1167 | name = "tinyvec" 1168 | version = "1.6.0" 1169 | source = "registry+https://github.com/rust-lang/crates.io-index" 1170 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1171 | dependencies = [ 1172 | "tinyvec_macros", 1173 | ] 1174 | 1175 | [[package]] 1176 | name = "tinyvec_macros" 1177 | version = "0.1.0" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 1180 | 1181 | [[package]] 1182 | name = "tokio" 1183 | version = "1.23.0" 1184 | source = "registry+https://github.com/rust-lang/crates.io-index" 1185 | checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" 1186 | dependencies = [ 1187 | "autocfg", 1188 | "bytes", 1189 | "libc", 1190 | "memchr", 1191 | "mio", 1192 | "num_cpus", 1193 | "pin-project-lite", 1194 | "socket2", 1195 | "windows-sys", 1196 | ] 1197 | 1198 | [[package]] 1199 | name = "tokio-rustls" 1200 | version = "0.23.4" 1201 | source = "registry+https://github.com/rust-lang/crates.io-index" 1202 | checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" 1203 | dependencies = [ 1204 | "rustls", 1205 | "tokio", 1206 | "webpki", 1207 | ] 1208 | 1209 | [[package]] 1210 | name = "tokio-util" 1211 | version = "0.7.4" 1212 | source = "registry+https://github.com/rust-lang/crates.io-index" 1213 | checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" 1214 | dependencies = [ 1215 | "bytes", 1216 | "futures-core", 1217 | "futures-sink", 1218 | "pin-project-lite", 1219 | "tokio", 1220 | "tracing", 1221 | ] 1222 | 1223 | [[package]] 1224 | name = "tower-service" 1225 | version = "0.3.2" 1226 | source = "registry+https://github.com/rust-lang/crates.io-index" 1227 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1228 | 1229 | [[package]] 1230 | name = "tracing" 1231 | version = "0.1.37" 1232 | source = "registry+https://github.com/rust-lang/crates.io-index" 1233 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 1234 | dependencies = [ 1235 | "cfg-if", 1236 | "pin-project-lite", 1237 | "tracing-core", 1238 | ] 1239 | 1240 | [[package]] 1241 | name = "tracing-core" 1242 | version = "0.1.30" 1243 | source = "registry+https://github.com/rust-lang/crates.io-index" 1244 | checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" 1245 | dependencies = [ 1246 | "once_cell", 1247 | ] 1248 | 1249 | [[package]] 1250 | name = "try-lock" 1251 | version = "0.2.3" 1252 | source = "registry+https://github.com/rust-lang/crates.io-index" 1253 | checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" 1254 | 1255 | [[package]] 1256 | name = "unicode-bidi" 1257 | version = "0.3.8" 1258 | source = "registry+https://github.com/rust-lang/crates.io-index" 1259 | checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" 1260 | 1261 | [[package]] 1262 | name = "unicode-ident" 1263 | version = "1.0.6" 1264 | source = "registry+https://github.com/rust-lang/crates.io-index" 1265 | checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" 1266 | 1267 | [[package]] 1268 | name = "unicode-normalization" 1269 | version = "0.1.22" 1270 | source = "registry+https://github.com/rust-lang/crates.io-index" 1271 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 1272 | dependencies = [ 1273 | "tinyvec", 1274 | ] 1275 | 1276 | [[package]] 1277 | name = "unicode-width" 1278 | version = "0.1.10" 1279 | source = "registry+https://github.com/rust-lang/crates.io-index" 1280 | checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" 1281 | 1282 | [[package]] 1283 | name = "untrusted" 1284 | version = "0.7.1" 1285 | source = "registry+https://github.com/rust-lang/crates.io-index" 1286 | checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" 1287 | 1288 | [[package]] 1289 | name = "url" 1290 | version = "2.3.1" 1291 | source = "registry+https://github.com/rust-lang/crates.io-index" 1292 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 1293 | dependencies = [ 1294 | "form_urlencoded", 1295 | "idna", 1296 | "percent-encoding", 1297 | ] 1298 | 1299 | [[package]] 1300 | name = "version_check" 1301 | version = "0.9.4" 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" 1303 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 1304 | 1305 | [[package]] 1306 | name = "walkdir" 1307 | version = "2.3.2" 1308 | source = "registry+https://github.com/rust-lang/crates.io-index" 1309 | checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" 1310 | dependencies = [ 1311 | "same-file", 1312 | "winapi", 1313 | "winapi-util", 1314 | ] 1315 | 1316 | [[package]] 1317 | name = "want" 1318 | version = "0.3.0" 1319 | source = "registry+https://github.com/rust-lang/crates.io-index" 1320 | checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" 1321 | dependencies = [ 1322 | "log", 1323 | "try-lock", 1324 | ] 1325 | 1326 | [[package]] 1327 | name = "wasi" 1328 | version = "0.11.0+wasi-snapshot-preview1" 1329 | source = "registry+https://github.com/rust-lang/crates.io-index" 1330 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1331 | 1332 | [[package]] 1333 | name = "wasm-bindgen" 1334 | version = "0.2.83" 1335 | source = "registry+https://github.com/rust-lang/crates.io-index" 1336 | checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" 1337 | dependencies = [ 1338 | "cfg-if", 1339 | "wasm-bindgen-macro", 1340 | ] 1341 | 1342 | [[package]] 1343 | name = "wasm-bindgen-backend" 1344 | version = "0.2.83" 1345 | source = "registry+https://github.com/rust-lang/crates.io-index" 1346 | checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" 1347 | dependencies = [ 1348 | "bumpalo", 1349 | "log", 1350 | "once_cell", 1351 | "proc-macro2", 1352 | "quote", 1353 | "syn", 1354 | "wasm-bindgen-shared", 1355 | ] 1356 | 1357 | [[package]] 1358 | name = "wasm-bindgen-futures" 1359 | version = "0.4.33" 1360 | source = "registry+https://github.com/rust-lang/crates.io-index" 1361 | checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" 1362 | dependencies = [ 1363 | "cfg-if", 1364 | "js-sys", 1365 | "wasm-bindgen", 1366 | "web-sys", 1367 | ] 1368 | 1369 | [[package]] 1370 | name = "wasm-bindgen-macro" 1371 | version = "0.2.83" 1372 | source = "registry+https://github.com/rust-lang/crates.io-index" 1373 | checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" 1374 | dependencies = [ 1375 | "quote", 1376 | "wasm-bindgen-macro-support", 1377 | ] 1378 | 1379 | [[package]] 1380 | name = "wasm-bindgen-macro-support" 1381 | version = "0.2.83" 1382 | source = "registry+https://github.com/rust-lang/crates.io-index" 1383 | checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" 1384 | dependencies = [ 1385 | "proc-macro2", 1386 | "quote", 1387 | "syn", 1388 | "wasm-bindgen-backend", 1389 | "wasm-bindgen-shared", 1390 | ] 1391 | 1392 | [[package]] 1393 | name = "wasm-bindgen-shared" 1394 | version = "0.2.83" 1395 | source = "registry+https://github.com/rust-lang/crates.io-index" 1396 | checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" 1397 | 1398 | [[package]] 1399 | name = "web-sys" 1400 | version = "0.3.60" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" 1403 | dependencies = [ 1404 | "js-sys", 1405 | "wasm-bindgen", 1406 | ] 1407 | 1408 | [[package]] 1409 | name = "webpki" 1410 | version = "0.22.0" 1411 | source = "registry+https://github.com/rust-lang/crates.io-index" 1412 | checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" 1413 | dependencies = [ 1414 | "ring", 1415 | "untrusted", 1416 | ] 1417 | 1418 | [[package]] 1419 | name = "webpki-roots" 1420 | version = "0.22.6" 1421 | source = "registry+https://github.com/rust-lang/crates.io-index" 1422 | checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" 1423 | dependencies = [ 1424 | "webpki", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "winapi" 1429 | version = "0.3.9" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1432 | dependencies = [ 1433 | "winapi-i686-pc-windows-gnu", 1434 | "winapi-x86_64-pc-windows-gnu", 1435 | ] 1436 | 1437 | [[package]] 1438 | name = "winapi-i686-pc-windows-gnu" 1439 | version = "0.4.0" 1440 | source = "registry+https://github.com/rust-lang/crates.io-index" 1441 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1442 | 1443 | [[package]] 1444 | name = "winapi-util" 1445 | version = "0.1.5" 1446 | source = "registry+https://github.com/rust-lang/crates.io-index" 1447 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 1448 | dependencies = [ 1449 | "winapi", 1450 | ] 1451 | 1452 | [[package]] 1453 | name = "winapi-x86_64-pc-windows-gnu" 1454 | version = "0.4.0" 1455 | source = "registry+https://github.com/rust-lang/crates.io-index" 1456 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1457 | 1458 | [[package]] 1459 | name = "windows-sys" 1460 | version = "0.42.0" 1461 | source = "registry+https://github.com/rust-lang/crates.io-index" 1462 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 1463 | dependencies = [ 1464 | "windows_aarch64_gnullvm", 1465 | "windows_aarch64_msvc", 1466 | "windows_i686_gnu", 1467 | "windows_i686_msvc", 1468 | "windows_x86_64_gnu", 1469 | "windows_x86_64_gnullvm", 1470 | "windows_x86_64_msvc", 1471 | ] 1472 | 1473 | [[package]] 1474 | name = "windows_aarch64_gnullvm" 1475 | version = "0.42.0" 1476 | source = "registry+https://github.com/rust-lang/crates.io-index" 1477 | checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" 1478 | 1479 | [[package]] 1480 | name = "windows_aarch64_msvc" 1481 | version = "0.42.0" 1482 | source = "registry+https://github.com/rust-lang/crates.io-index" 1483 | checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" 1484 | 1485 | [[package]] 1486 | name = "windows_i686_gnu" 1487 | version = "0.42.0" 1488 | source = "registry+https://github.com/rust-lang/crates.io-index" 1489 | checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" 1490 | 1491 | [[package]] 1492 | name = "windows_i686_msvc" 1493 | version = "0.42.0" 1494 | source = "registry+https://github.com/rust-lang/crates.io-index" 1495 | checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" 1496 | 1497 | [[package]] 1498 | name = "windows_x86_64_gnu" 1499 | version = "0.42.0" 1500 | source = "registry+https://github.com/rust-lang/crates.io-index" 1501 | checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" 1502 | 1503 | [[package]] 1504 | name = "windows_x86_64_gnullvm" 1505 | version = "0.42.0" 1506 | source = "registry+https://github.com/rust-lang/crates.io-index" 1507 | checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" 1508 | 1509 | [[package]] 1510 | name = "windows_x86_64_msvc" 1511 | version = "0.42.0" 1512 | source = "registry+https://github.com/rust-lang/crates.io-index" 1513 | checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" 1514 | 1515 | [[package]] 1516 | name = "winreg" 1517 | version = "0.10.1" 1518 | source = "registry+https://github.com/rust-lang/crates.io-index" 1519 | checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" 1520 | dependencies = [ 1521 | "winapi", 1522 | ] 1523 | 1524 | [[package]] 1525 | name = "yaml-rust" 1526 | version = "0.4.5" 1527 | source = "registry+https://github.com/rust-lang/crates.io-index" 1528 | checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" 1529 | dependencies = [ 1530 | "linked-hash-map", 1531 | ] 1532 | --------------------------------------------------------------------------------