├── .gitignore ├── .cargo └── config.toml ├── justfile ├── .zellij-workspace ├── img ├── zellij-ws.png ├── zellij-workspace.png └── zellij-workspaces.png ├── layouts ├── single_tab.kdl └── multi_tabs.kdl ├── Cargo.toml ├── test-session-layout.kdl ├── verify_signature.sh ├── LICENSE ├── .github └── workflows │ └── release.yaml ├── cliff.toml ├── README.md ├── src └── main.rs └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- 1 | 2 | 3 | changelog: 4 | git cliff -o CHANGELOG.md -------------------------------------------------------------------------------- /.zellij-workspace: -------------------------------------------------------------------------------- 1 | layouts/multi_tabs.kdl 2 | layouts/single_tab.kdl -------------------------------------------------------------------------------- /img/zellij-ws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vdbulcke/zellij-workspace/HEAD/img/zellij-ws.png -------------------------------------------------------------------------------- /img/zellij-workspace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vdbulcke/zellij-workspace/HEAD/img/zellij-workspace.png -------------------------------------------------------------------------------- /img/zellij-workspaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vdbulcke/zellij-workspace/HEAD/img/zellij-workspaces.png -------------------------------------------------------------------------------- /layouts/single_tab.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | 3 | pane size=1 borderless=true { 4 | plugin location="zellij:compact-bar" 5 | } 6 | pane split_direction="vertical" focus=true { 7 | pane 8 | pane 9 | pane 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "zellij-workspace" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | ansi_term = "0.12.1" 10 | zellij-tile = "0.41.1" 11 | owo-colors = "3.5.0" 12 | fuzzy-matcher = "0.3.7" 13 | -------------------------------------------------------------------------------- /test-session-layout.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | tab { 3 | pane size=1 borderless=true { 4 | plugin location="zellij:tab-bar" 5 | } 6 | floating_panes { 7 | pane { 8 | plugin location="file:target/wasm32-wasi/debug/zellij-workspace.wasm" { 9 | // floating true 10 | } 11 | } 12 | 13 | } 14 | pane split_direction="vertical" { 15 | pane 16 | } 17 | pane size=2 borderless=true { 18 | plugin location="zellij:status-bar" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /verify_signature.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | if [ -z "$1" ]; then 5 | echo "Error: missing artifact package as 1st input" 6 | echo "Usage: " 7 | echo " $0 ARTIFACT_PACKAGE TAG" 8 | 9 | exit 1 10 | 11 | fi 12 | 13 | if [ ! -f "$1" ] ; then 14 | echo "Error: artifcact $1 does not exists" 15 | exit 1 16 | 17 | fi 18 | 19 | artifcat_path=$1 20 | artifact=$(basename $artifcat_path) 21 | 22 | if [ -z "$2" ]; then 23 | echo "Error: missing tag as 2nd input" 24 | echo "Usage: " 25 | echo " $0 $1 TAG" 26 | 27 | exit 1 28 | 29 | fi 30 | 31 | TAG=$2 32 | 33 | 34 | echo "Checking Signature for version: ${TAG}" 35 | cosign verify-blob \ 36 | --certificate "https://github.com/vdbulcke/zellij-workspace/releases/download/${TAG}/cosign_cert.pem" \ 37 | --signature "https://github.com/vdbulcke/zellij-workspace/releases/download/${TAG}/cosign.sig" \ 38 | --certificate-oidc-issuer https://token.actions.githubusercontent.com \ 39 | --certificate-identity "https://github.com/vdbulcke/zellij-workspace/.github/workflows/release.yaml@refs/tags/${TAG}" \ 40 | ${artifcat_path} 41 | 42 | -------------------------------------------------------------------------------- /layouts/multi_tabs.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | tab name="My Tab name"{ 3 | 4 | floating_panes { 5 | 6 | // floating lf 7 | pane focus=false { 8 | // single command running inside the floating pane 9 | // command "lf" 10 | name "file picker" 11 | command "zsh" 12 | args "-ic" "lf" 13 | start_suspended true 14 | 15 | } 16 | // floating terminal 17 | pane focus=false { 18 | name "Terminal" 19 | } 20 | } 21 | pane size=1 borderless=true { 22 | plugin location="zellij:compact-bar" 23 | } 24 | pane split_direction="vertical" focus=true { 25 | 26 | } 27 | pane size=2 borderless=true { 28 | plugin location="zellij:status-bar" 29 | } 30 | } 31 | 32 | tab name="Some other tab" { 33 | 34 | pane size=1 borderless=true { 35 | plugin location="zellij:compact-bar" 36 | } 37 | pane split_direction="horizontal" focus=true { 38 | pane 39 | pane 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 vdbulcke 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 | -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- 1 | name: release 2 | 3 | 4 | on: 5 | # push: 6 | # tags: 7 | # - 'v*' 8 | create: 9 | tags: 10 | - 'v*' 11 | 12 | permissions: 13 | contents: write 14 | id-token: write # needed for signing the images with GitHub OIDC Token 15 | 16 | jobs: 17 | releaser: 18 | runs-on: ubuntu-latest 19 | steps: 20 | 21 | - 22 | name: Checkout 23 | uses: actions/checkout@v3 24 | 25 | - name: Install Rust 26 | uses: actions-rs/toolchain@v1 27 | with: 28 | toolchain: stable 29 | 30 | - name: Add WASM target 31 | run: rustup target add wasm32-wasip1 32 | 33 | - name: Install Cosign 34 | uses: sigstore/cosign-installer@main 35 | 36 | - name: Build 37 | run: cargo build --release 38 | 39 | 40 | - name: Sign binary 41 | run: cosign sign-blob --oidc-issuer=https://token.actions.githubusercontent.com --output-certificate=cosign_cert.pem --output-signature=cosign.sig target/wasm32-wasip1/release/zellij-workspace.wasm 42 | env: 43 | ## Cosign ENV Vars 44 | COSIGN_EXPERIMENTAL: 1 45 | COSIGN_YES: true 46 | 47 | - name: Release 48 | uses: softprops/action-gh-release@v1 49 | if: startsWith(github.ref, 'refs/tags/') 50 | with: 51 | files: | 52 | target/wasm32-wasip1/release/zellij-workspace.wasm 53 | cosign.sig 54 | cosign_cert.pem 55 | -------------------------------------------------------------------------------- /cliff.toml: -------------------------------------------------------------------------------- 1 | # git-cliff ~ default configuration file 2 | # https://git-cliff.org/docs/configuration 3 | # 4 | # Lines starting with "#" are comments. 5 | # Configuration options are organized into tables and keys. 6 | # See documentation for more information on available options. 7 | 8 | [changelog] 9 | # changelog header 10 | header = """ 11 | # Changelog\n 12 | All notable changes to this project will be documented in this file.\n 13 | """ 14 | # template for the changelog body 15 | # https://tera.netlify.app/docs 16 | body = """ 17 | {% if version %}\ 18 | ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} 19 | {% else %}\ 20 | ## [unreleased] 21 | {% endif %}\ 22 | {% for group, commits in commits | group_by(attribute="group") %} 23 | ### {{ group | upper_first }} 24 | {% for commit in commits %} 25 | - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\ 26 | {% endfor %} 27 | {% endfor %}\n 28 | """ 29 | # remove the leading and trailing whitespace from the template 30 | trim = true 31 | # changelog footer 32 | footer = """ 33 | 34 | """ 35 | # postprocessors 36 | postprocessors = [ 37 | # { pattern = '', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL 38 | ] 39 | [git] 40 | # parse the commits based on https://www.conventionalcommits.org 41 | conventional_commits = true 42 | # filter out the commits that are not conventional 43 | filter_unconventional = true 44 | # process each line of a commit as an individual commit 45 | split_commits = false 46 | # regex for preprocessing the commit messages 47 | commit_preprocessors = [ 48 | # { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](/issues/${2}))"}, # replace issue numbers 49 | ] 50 | # regex for parsing and grouping commits 51 | commit_parsers = [ 52 | { message = "^feat", group = "Features" }, 53 | { message = "^fix", group = "Bug Fixes" }, 54 | { message = "^doc", group = "Documentation" }, 55 | { message = "^perf", group = "Performance" }, 56 | { message = "^refactor", group = "Refactor" }, 57 | { message = "^style", group = "Styling" }, 58 | { message = "^test", group = "Testing" }, 59 | { message = "^chore\\(release\\): prepare for", skip = true }, 60 | { message = "^chore\\(deps\\)", skip = true }, 61 | { message = "^chore\\(pr\\)", skip = true }, 62 | { message = "^chore\\(pull\\)", skip = true }, 63 | { message = "^chore|ci", group = "Miscellaneous Tasks" }, 64 | { body = ".*security", group = "Security" }, 65 | { message = "^revert", group = "Revert" }, 66 | ] 67 | # protect breaking changes from being skipped due to matching a skipping commit_parser 68 | protect_breaking_commits = false 69 | # filter out the commits that are not matched by commit parsers 70 | filter_commits = false 71 | # glob pattern for matching git tags 72 | tag_pattern = "v[0-9]*" 73 | # regex for skipping tags 74 | skip_tags = "v0.1.0-beta.1" 75 | # regex for ignoring tags 76 | ignore_tags = "" 77 | # sort the tags topologically 78 | topo_order = false 79 | # sort the commits inside sections by oldest/newest order 80 | sort_commits = "oldest" 81 | # limit the number of commits included in the changelog. 82 | # limit_commits = 42 83 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Zellij Workspace 2 | 3 | A [Zellij](https://zellij.dev) plugin for opening single or multi tabs [layouts](https://zellij.dev/documentation/layouts) within an existing zellij session. 4 | 5 | 6 | 7 | ## Why? 8 | 9 | For example if you are using a terminal text editor (helix, neovim, etc), you can use [zellij layouts](https://zellij.dev/documentation/layouts) to open mulitple repo in your editor in separate tabs. 10 | 11 | `zellij-workspace` allows to list all of your layouts in a `.zellij-workspace` file, fuzzy find layout, and apply the layout to the existing session. 12 | 13 | Select a layout: 14 | 15 | ![Layouts](./img/zellij-ws.png) 16 | 17 | Apply layout to session: 18 | 19 | ![Session](./img/zellij-workspaces.png) 20 | 21 | 22 | 23 | 24 | ## Requirements 25 | 26 | Zellij version `v0.38.0` or later. 27 | 28 | 29 | 30 | | Zellij | zellij-workspace | 31 | | --------- | ------------------- | 32 | | `v0.38.x` | `v0.1.0` | 33 | | `v0.41.1` | `v0.2.0` | 34 | 35 | 36 | ### Zellij Plugin Permission 37 | 38 | | Permission | Why | 39 | | -------------------------|---------------------------------------------| 40 | | `ReadApplicationState` | Subscribe to Pane and tab events | 41 | | `ChangeApplicationState` | Setting plugin pane name, creating new tabs | 42 | 43 | ### Host Filesystem Access 44 | 45 | [Zellij maps the folder where Zellij was started](https://zellij.dev/documentation/plugin-api-file-system) to `/host` path on the plugin (e.g. your home dir or `default_cwd` in your zellij or the current dir where you started your zellij session). 46 | 47 | The plugin will look for a `/host/.zellij-workspace` file (i.e. at the root of the dir of you current zellij session) to load a list of zellij layouts (relative path from your zellij session `cwd`). 48 | 49 | Example of a `.zellij-workspace` file: 50 | ```bash 51 | .config/zellij/layouts/my_custom_layout.kdl 52 | ## this is a comment starting with '#' 53 | # this is also a comment 54 | 55 | 56 | 57 | ## empty lines are also ignored 58 | .config/zellij/layouts/another_layout.kdl 59 | ``` 60 | 61 | 62 | ## Install 63 | 64 | ### Download WASM Binary 65 | 66 | 67 | * Download `zellij-workspace.wasm` binary from [release page](https://github.com/vdbulcke/zellij-workspace/releases). 68 | * Verify binary signature with cosign (see instruction bellow) 69 | * copy binary to zellij plugin dir: 70 | - `mv target/wasm32-wasip1/release/zellij-workspace.wasm ~/.config/zellij/plugins/` 71 | 72 | 73 | #### Validate Signature With Cosign 74 | 75 | Make sure you have `cosign` installed locally (see [Cosign Install](https://docs.sigstore.dev/cosign/installation/)). 76 | 77 | Then you can use the `./verify_signature.sh` in this repo: 78 | 79 | ```bash 80 | ./verify_signature.sh PATH_TO_DOWNLOADED_ARCHIVE TAG_VERSION 81 | ``` 82 | for example 83 | ```bash 84 | $ ./verify_signature.sh ~/Downloads/zellij-workspace.wasm v0.1.0 85 | 86 | Checking Signature for version: v0.1.0 87 | Verified OK 88 | 89 | ``` 90 | 91 | 92 | 93 | 94 | 95 | ### Build from source 96 | 97 | > WARNING: requires to have rust installed and wasm `rustup target add wasm32-wasip1` 98 | 99 | * `git clone git@github.com:vdbulcke/zellij-workspace.git` 100 | * `cd zellij-workspace` 101 | * `cargo build --release` 102 | * `mv target/wasm32-wasip1/release/zellij-workspace.wasm ~/.config/zellij/plugins/` 103 | 104 | 105 | 106 | ## Loading plugin 107 | 108 | ### Via Zellij Config 109 | 110 | ```kdl 111 | shared_except "locked" { 112 | bind "Ctrl y" { 113 | LaunchOrFocusPlugin "file:~/.config/zellij/plugins/zellij-workspace.wasm" { 114 | floating true 115 | 116 | replace_current_session true // default false: replace current session with selected layout 117 | debug false // display debug info, config, parse command etc 118 | } 119 | } 120 | } 121 | ``` 122 | 123 | ### Via CLI 124 | 125 | ```bash 126 | zellij action launch-or-focus-plugin --floating "file:$HOME/.config/zellij/plugins/zellij-workspace.wasm" 127 | ``` 128 | 129 | 130 | 131 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use ansi_term::{Colour::Fixed, Style}; 2 | use fuzzy_matcher::FuzzyMatcher; 3 | use owo_colors::OwoColorize; 4 | use zellij_tile::prelude::*; 5 | 6 | use fuzzy_matcher::skim::SkimMatcherV2; 7 | use std::collections::BTreeMap; 8 | use std::fs::{read_to_string, File}; 9 | use std::io::{self, BufRead}; 10 | use std::path::{Path, PathBuf}; 11 | // use sprintf::sprintf;use std::fs::read_to_string; 12 | 13 | #[derive(Default)] 14 | struct State { 15 | error: Option, 16 | current_session: Option, 17 | /// Used to preserve the current directory when switching to a new session. 18 | current_dir: Option, 19 | replace_current_session: bool, 20 | input: String, 21 | input_cusror_index: usize, 22 | userspace_configuration: BTreeMap, 23 | layout: Vec, 24 | layout_match: Option, 25 | fz_matcher: SkimMatcherV2, 26 | } 27 | 28 | // impl Default for State { 29 | // fn default() -> Self { 30 | // Self { 31 | // error: None, 32 | // userspace_configuration: BTreeMap::default(), 33 | // input: String::default(), 34 | // input_cusror_index: 0, 35 | // layout: Vec::default(), 36 | // layout_match: None, 37 | // fz_matcher: SkimMatcherV2::default(), 38 | // } 39 | // } 40 | // } 41 | 42 | impl State { 43 | fn handle_key_event(&mut self, key: KeyWithModifier) -> bool { 44 | let mut should_render = true; 45 | match key.bare_key { 46 | BareKey::Enter => { 47 | if self.open_tab_layout() { 48 | should_render = false; 49 | hide_self(); 50 | } else { 51 | should_render = true; 52 | } 53 | } 54 | BareKey::Backspace => { 55 | if self.remove_input_at_index() { 56 | // update fuzzy find result 57 | self.fuzzy_find_layout(); 58 | } 59 | should_render = true; 60 | } 61 | BareKey::Left => { 62 | if self.input_cusror_index > 0 { 63 | self.input_cusror_index -= 1; 64 | } 65 | should_render = true; 66 | } 67 | BareKey::Right => { 68 | if self.input_cusror_index < self.input.len() { 69 | self.input_cusror_index += 1; 70 | } 71 | should_render = true; 72 | } 73 | BareKey::Esc => { 74 | self.close(); 75 | should_render = true; 76 | } 77 | BareKey::Char('c') if key.has_modifiers(&[KeyModifier::Ctrl]) => { 78 | self.close(); 79 | should_render = true; 80 | } 81 | BareKey::Char(c) => { 82 | if self.insert_input_at_index(c) { 83 | self.fuzzy_find_layout(); 84 | } 85 | should_render = true; 86 | } 87 | _ => (), 88 | } 89 | should_render 90 | } 91 | /// close current plugins and its hepler pane 92 | fn close(&self) { 93 | close_plugin_pane(get_plugin_ids().plugin_id); 94 | } 95 | 96 | fn fuzzy_find_layout(&mut self) { 97 | let mut best_score = 0; 98 | 99 | // reset match 100 | self.layout_match = None; 101 | for l in self.layout.iter() { 102 | if let Some(score) = self.fz_matcher.fuzzy_match(l, &self.input) { 103 | if score > best_score { 104 | best_score = score; 105 | self.layout_match = Some(l.to_string()); 106 | } 107 | } 108 | } 109 | } 110 | 111 | fn open_tab_layout(&mut self) -> bool { 112 | if let Some(selected_path) = &self.layout_match { 113 | // NOTE: /host/ relative path for loading layout 114 | let mut layout_path = "/host/".to_owned(); 115 | layout_path.push_str(selected_path); 116 | 117 | // Create a path to the desired file 118 | let path = Path::new(&layout_path); 119 | 120 | // Open the path in read-only mode, returns `io::Result` 121 | let layout_opt = match read_to_string(path) { 122 | Err(err) => { 123 | self.error = Some(err.to_string()); 124 | None 125 | } 126 | Ok(content) => Some(content), 127 | }; 128 | 129 | if let Some(layout) = layout_opt { 130 | // default 131 | // if not in_palce just apply new tabs 132 | // in current session 133 | if !self.replace_current_session { 134 | new_tabs_with_layout(&layout); 135 | return true; 136 | } 137 | 138 | // Use the saved current directory, because right now there is no built-in way to 139 | // auto-preserve it when switching a session. 140 | let current_dir = self.current_dir.clone(); 141 | 142 | // when in_place configure apply layout to current session 143 | if let Some(current) = self.current_session.clone() { 144 | // rename current 145 | rename_session("zellij_wp_delete_me"); 146 | 147 | // race condition bug ?? 148 | // even after renaming current session 149 | // plugin crash if switch_session_with_layout() 150 | // uses the same current name 151 | let mut new_name = "zwp:".to_owned(); 152 | new_name.push_str(¤t); 153 | // re-create a new session with the same name 154 | // but apply the layout 155 | switch_session_with_layout( 156 | Some(&new_name), 157 | LayoutInfo::Stringified(layout), 158 | current_dir, 159 | ); 160 | 161 | // clean up old session 162 | kill_sessions(&["zellij_wp_delete_me"]); 163 | delete_dead_session("zellij_wp_delete_me"); 164 | } else { 165 | switch_session_with_layout(None, LayoutInfo::Stringified(layout), current_dir); 166 | } 167 | 168 | return true; 169 | } 170 | } 171 | 172 | false 173 | // new_tabs_with_layout(layout); 174 | } 175 | 176 | /// remove_input_at_index removes char at the 177 | /// cursor index and update input. 178 | /// Returns true if the input has change 179 | fn remove_input_at_index(&mut self) -> bool { 180 | if self.input.is_empty() { 181 | self.input.pop(); 182 | } else if self.input_cusror_index > 0 && self.input_cusror_index <= self.input.len() { 183 | self.input.remove(self.input_cusror_index - 1); 184 | // update cursor index 185 | self.input_cusror_index -= 1; 186 | 187 | return true; 188 | } else if self.input_cusror_index == 0 { 189 | self.input.remove(0); 190 | } 191 | false 192 | } 193 | 194 | /// remove_input_at_index removes char at the 195 | /// cursor index and update input. 196 | /// Returns true if the input has change 197 | fn insert_input_at_index(&mut self, c: char) -> bool { 198 | if self.input.is_empty() { 199 | self.input.push(c); 200 | 201 | // update cursor index 202 | self.input_cusror_index += 1; 203 | } else if self.input_cusror_index > 0 && self.input_cusror_index <= self.input.len() { 204 | self.input.insert(self.input_cusror_index, c); 205 | // update cursor index 206 | self.input_cusror_index += 1; 207 | 208 | return true; 209 | } else if self.input_cusror_index == 0 { 210 | self.input.insert(0, c); 211 | self.input_cusror_index += 1; 212 | } 213 | false 214 | } 215 | 216 | /// print the input prompt 217 | /// prints 1 line 218 | fn print_prompt(&self, _rows: usize, _cols: usize) { 219 | let prompt = " > ".cyan().bold().to_string(); 220 | if self.input.is_empty() { 221 | println!( 222 | "{} {}{}", 223 | prompt, 224 | "┃".bold().white(), 225 | "Fuzzy find command".dimmed().italic(), 226 | ); 227 | } else { 228 | self.print_non_empty_input_prompt(prompt); 229 | } 230 | } 231 | 232 | fn print_non_empty_input_prompt(&self, prompt: String) { 233 | match self.input_cusror_index.cmp(&self.input.len()) { 234 | std::cmp::Ordering::Equal => { 235 | println!("{} {}{}", prompt, self.input.dimmed(), "┃".bold().white(),); 236 | } 237 | std::cmp::Ordering::Less => { 238 | let copy = self.input.clone(); 239 | let (before_curs, after_curs) = copy.split_at(self.input_cusror_index); 240 | 241 | println!( 242 | "{} {}{}{}", 243 | prompt, 244 | before_curs.dimmed(), 245 | "┃".bold().white(), 246 | after_curs.dimmed() 247 | ); 248 | } 249 | 250 | std::cmp::Ordering::Greater => (), 251 | } 252 | } 253 | } 254 | 255 | register_plugin!(State); 256 | 257 | impl ZellijPlugin for State { 258 | fn load(&mut self, configuration: BTreeMap) { 259 | self.userspace_configuration = configuration; 260 | 261 | // Permission 262 | // - ReadApplicationState => for Tab and Pane update 263 | // - RunCommands => to run floating command terminal 264 | // - ChangeApplicationState => rename plugin pane, close managed paned 265 | request_permission(&[ 266 | PermissionType::ReadApplicationState, 267 | // PermissionType::RunCommands, 268 | PermissionType::ChangeApplicationState, 269 | ]); 270 | subscribe(&[ 271 | EventType::ModeUpdate, 272 | EventType::TabUpdate, 273 | EventType::PaneUpdate, 274 | EventType::Key, 275 | EventType::SessionUpdate, 276 | ]); 277 | 278 | // File .zellij-workspace must exist in the current path (zellij cwd dir is mounted as /host) 279 | // NOTE: /host is the cwd of where the zellij session started 280 | // and not the current cwd of the pane itself 281 | let filename = "/host/.zellij-workspace".to_owned(); 282 | if let Ok(lines) = read_lines(filename) { 283 | // Consumes the iterator, returns an (Optional) String 284 | for layout in lines.map_while(Result::ok) { 285 | // ignore commented lines starting with '#' 286 | // or empty line 287 | if !layout.trim_start().starts_with('#') && !layout.trim_start().is_empty() { 288 | self.layout.push(layout); 289 | } 290 | } 291 | } 292 | 293 | self.replace_current_session = self 294 | .userspace_configuration 295 | .get("replace_current_session") 296 | .map(|v| v == "true") 297 | .unwrap_or(false); 298 | 299 | self.current_dir = Some(get_plugin_ids().initial_cwd); 300 | 301 | rename_plugin_pane(get_plugin_ids().plugin_id, "WorkspaceManager"); 302 | } 303 | 304 | fn update(&mut self, event: Event) -> bool { 305 | let mut should_render = false; 306 | 307 | // NOTE: uncomment if multiple event match 308 | match event { 309 | Event::Key(key) => { 310 | should_render = self.handle_key_event(key); 311 | } 312 | Event::SessionUpdate(session_infos, _) => { 313 | if let Some(current) = session_infos 314 | .into_iter() 315 | .find(|session_info| session_info.is_current_session) 316 | { 317 | self.current_session = Some(current.name); 318 | } 319 | } 320 | _ => (), 321 | }; 322 | 323 | // // suppress warning single match 324 | // if let Event::Key(key) = event { 325 | // should_render = self.handle_key_event(key); 326 | // } 327 | 328 | should_render 329 | } 330 | 331 | fn render(&mut self, rows: usize, cols: usize) { 332 | let debug = self.userspace_configuration.get("debug"); 333 | 334 | let mut count = 3; 335 | if let Some(err) = &self.error { 336 | println!("Error: {}", color_bold(RED, err)) 337 | } else { 338 | println!(); 339 | } 340 | 341 | count += 1; 342 | 343 | // prompt view 344 | 345 | self.print_prompt(rows, cols); 346 | count += 1; 347 | 348 | // layout fuzzy finder 349 | if let Some(m) = &self.layout_match { 350 | println!(); 351 | println!(" $ {}", m); 352 | println!(); 353 | 354 | count += 3; 355 | } else { 356 | println!(); 357 | println!("-> {}", "Selected layout".dimmed()); 358 | println!(); 359 | count += 3; 360 | } 361 | println!(" Available layouts: "); 362 | 363 | count += 1; 364 | for l in self.layout.iter() { 365 | if self.fz_matcher.fuzzy_match(l, &self.input).is_some() { 366 | // limits display of layout 367 | // based on available rows in pane 368 | // with arbitrary buffer for safety 369 | if count >= rows - 4 { 370 | println!(" - {}", "...".dimmed()); 371 | break; 372 | } 373 | println!(" - {}", l.dimmed()); 374 | count += 1; 375 | } 376 | } 377 | 378 | // Key binding view 379 | println!(); 380 | println!( 381 | " <{}> <{}> Close Plugin", 382 | color_bold(WHITE, "Esc"), 383 | color_bold(WHITE, "Ctrl+c"), 384 | ); 385 | 386 | if debug.is_some_and(|x| x == "true") { 387 | println!("input: {}", self.input); 388 | 389 | println!("Cursor: {}", self.input_cusror_index); 390 | println!("len: {}", self.input.len()); 391 | println!( 392 | "session: {}", 393 | self.current_session.clone().unwrap_or("None".to_owned()) 394 | ); 395 | 396 | println!( 397 | "{} {:#?}", 398 | color_bold(GREEN, "Runtime configuration:"), 399 | self.userspace_configuration 400 | ); 401 | } 402 | } 403 | } 404 | 405 | pub const CYAN: u8 = 51; 406 | pub const GRAY_LIGHT: u8 = 238; 407 | pub const GRAY_DARK: u8 = 245; 408 | pub const WHITE: u8 = 15; 409 | pub const BLACK: u8 = 16; 410 | pub const RED: u8 = 124; 411 | pub const GREEN: u8 = 154; 412 | pub const ORANGE: u8 = 166; 413 | 414 | fn color_bold(color: u8, text: &str) -> String { 415 | format!("{}", Style::new().fg(Fixed(color)).bold().paint(text)) 416 | } 417 | 418 | // src: https://doc.rust-lang.org/rust-by-example/std_misc/file/read_lines.html 419 | // The output is wrapped in a Result to allow matching on errors 420 | // Returns an Iterator to the Reader of the lines of the file. 421 | fn read_lines

(filename: P) -> io::Result>> 422 | where 423 | P: AsRef, 424 | { 425 | let file = File::open(filename)?; 426 | Ok(io::BufReader::new(file).lines()) 427 | } 428 | -------------------------------------------------------------------------------- /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 = "addr2line" 7 | version = "0.21.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.1.1" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "android-tzdata" 31 | version = "0.1.1" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 34 | 35 | [[package]] 36 | name = "android_system_properties" 37 | version = "0.1.5" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 40 | dependencies = [ 41 | "libc", 42 | ] 43 | 44 | [[package]] 45 | name = "ansi_term" 46 | version = "0.12.1" 47 | source = "registry+https://github.com/rust-lang/crates.io-index" 48 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 49 | dependencies = [ 50 | "winapi", 51 | ] 52 | 53 | [[package]] 54 | name = "anyhow" 55 | version = "1.0.75" 56 | source = "registry+https://github.com/rust-lang/crates.io-index" 57 | checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" 58 | dependencies = [ 59 | "backtrace", 60 | ] 61 | 62 | [[package]] 63 | name = "arc-swap" 64 | version = "1.6.0" 65 | source = "registry+https://github.com/rust-lang/crates.io-index" 66 | checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" 67 | 68 | [[package]] 69 | name = "arrayvec" 70 | version = "0.5.2" 71 | source = "registry+https://github.com/rust-lang/crates.io-index" 72 | checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" 73 | 74 | [[package]] 75 | name = "async-attributes" 76 | version = "1.1.2" 77 | source = "registry+https://github.com/rust-lang/crates.io-index" 78 | checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" 79 | dependencies = [ 80 | "quote", 81 | "syn 1.0.109", 82 | ] 83 | 84 | [[package]] 85 | name = "async-channel" 86 | version = "1.9.0" 87 | source = "registry+https://github.com/rust-lang/crates.io-index" 88 | checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" 89 | dependencies = [ 90 | "concurrent-queue", 91 | "event-listener", 92 | "futures-core", 93 | ] 94 | 95 | [[package]] 96 | name = "async-executor" 97 | version = "1.5.4" 98 | source = "registry+https://github.com/rust-lang/crates.io-index" 99 | checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499" 100 | dependencies = [ 101 | "async-lock", 102 | "async-task", 103 | "concurrent-queue", 104 | "fastrand 2.0.1", 105 | "futures-lite", 106 | "slab", 107 | ] 108 | 109 | [[package]] 110 | name = "async-global-executor" 111 | version = "2.3.1" 112 | source = "registry+https://github.com/rust-lang/crates.io-index" 113 | checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" 114 | dependencies = [ 115 | "async-channel", 116 | "async-executor", 117 | "async-io", 118 | "async-lock", 119 | "blocking", 120 | "futures-lite", 121 | "once_cell", 122 | ] 123 | 124 | [[package]] 125 | name = "async-io" 126 | version = "1.13.0" 127 | source = "registry+https://github.com/rust-lang/crates.io-index" 128 | checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" 129 | dependencies = [ 130 | "async-lock", 131 | "autocfg", 132 | "cfg-if", 133 | "concurrent-queue", 134 | "futures-lite", 135 | "log", 136 | "parking", 137 | "polling", 138 | "rustix 0.37.24", 139 | "slab", 140 | "socket2", 141 | "waker-fn", 142 | ] 143 | 144 | [[package]] 145 | name = "async-lock" 146 | version = "2.8.0" 147 | source = "registry+https://github.com/rust-lang/crates.io-index" 148 | checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" 149 | dependencies = [ 150 | "event-listener", 151 | ] 152 | 153 | [[package]] 154 | name = "async-process" 155 | version = "1.7.0" 156 | source = "registry+https://github.com/rust-lang/crates.io-index" 157 | checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" 158 | dependencies = [ 159 | "async-io", 160 | "async-lock", 161 | "autocfg", 162 | "blocking", 163 | "cfg-if", 164 | "event-listener", 165 | "futures-lite", 166 | "rustix 0.37.24", 167 | "signal-hook", 168 | "windows-sys", 169 | ] 170 | 171 | [[package]] 172 | name = "async-std" 173 | version = "1.12.0" 174 | source = "registry+https://github.com/rust-lang/crates.io-index" 175 | checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" 176 | dependencies = [ 177 | "async-attributes", 178 | "async-channel", 179 | "async-global-executor", 180 | "async-io", 181 | "async-lock", 182 | "async-process", 183 | "crossbeam-utils", 184 | "futures-channel", 185 | "futures-core", 186 | "futures-io", 187 | "futures-lite", 188 | "gloo-timers", 189 | "kv-log-macro", 190 | "log", 191 | "memchr", 192 | "once_cell", 193 | "pin-project-lite", 194 | "pin-utils", 195 | "slab", 196 | "wasm-bindgen-futures", 197 | ] 198 | 199 | [[package]] 200 | name = "async-task" 201 | version = "4.4.1" 202 | source = "registry+https://github.com/rust-lang/crates.io-index" 203 | checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921" 204 | 205 | [[package]] 206 | name = "atomic" 207 | version = "0.5.3" 208 | source = "registry+https://github.com/rust-lang/crates.io-index" 209 | checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" 210 | 211 | [[package]] 212 | name = "atomic-waker" 213 | version = "1.1.2" 214 | source = "registry+https://github.com/rust-lang/crates.io-index" 215 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 216 | 217 | [[package]] 218 | name = "atty" 219 | version = "0.2.14" 220 | source = "registry+https://github.com/rust-lang/crates.io-index" 221 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 222 | dependencies = [ 223 | "hermit-abi 0.1.19", 224 | "libc", 225 | "winapi", 226 | ] 227 | 228 | [[package]] 229 | name = "autocfg" 230 | version = "1.1.0" 231 | source = "registry+https://github.com/rust-lang/crates.io-index" 232 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 233 | 234 | [[package]] 235 | name = "backtrace" 236 | version = "0.3.69" 237 | source = "registry+https://github.com/rust-lang/crates.io-index" 238 | checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" 239 | dependencies = [ 240 | "addr2line", 241 | "cc", 242 | "cfg-if", 243 | "libc", 244 | "miniz_oxide", 245 | "object", 246 | "rustc-demangle", 247 | ] 248 | 249 | [[package]] 250 | name = "backtrace-ext" 251 | version = "0.2.1" 252 | source = "registry+https://github.com/rust-lang/crates.io-index" 253 | checksum = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50" 254 | dependencies = [ 255 | "backtrace", 256 | ] 257 | 258 | [[package]] 259 | name = "base64" 260 | version = "0.21.4" 261 | source = "registry+https://github.com/rust-lang/crates.io-index" 262 | checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" 263 | 264 | [[package]] 265 | name = "bit-set" 266 | version = "0.5.3" 267 | source = "registry+https://github.com/rust-lang/crates.io-index" 268 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" 269 | dependencies = [ 270 | "bit-vec", 271 | ] 272 | 273 | [[package]] 274 | name = "bit-vec" 275 | version = "0.6.3" 276 | source = "registry+https://github.com/rust-lang/crates.io-index" 277 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" 278 | 279 | [[package]] 280 | name = "bitflags" 281 | version = "1.3.2" 282 | source = "registry+https://github.com/rust-lang/crates.io-index" 283 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 284 | 285 | [[package]] 286 | name = "bitflags" 287 | version = "2.6.0" 288 | source = "registry+https://github.com/rust-lang/crates.io-index" 289 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" 290 | 291 | [[package]] 292 | name = "block-buffer" 293 | version = "0.10.4" 294 | source = "registry+https://github.com/rust-lang/crates.io-index" 295 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 296 | dependencies = [ 297 | "generic-array", 298 | ] 299 | 300 | [[package]] 301 | name = "blocking" 302 | version = "1.4.0" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1" 305 | dependencies = [ 306 | "async-channel", 307 | "async-lock", 308 | "async-task", 309 | "fastrand 2.0.1", 310 | "futures-io", 311 | "futures-lite", 312 | "piper", 313 | "tracing", 314 | ] 315 | 316 | [[package]] 317 | name = "bumpalo" 318 | version = "3.14.0" 319 | source = "registry+https://github.com/rust-lang/crates.io-index" 320 | checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" 321 | 322 | [[package]] 323 | name = "byteorder" 324 | version = "1.4.3" 325 | source = "registry+https://github.com/rust-lang/crates.io-index" 326 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 327 | 328 | [[package]] 329 | name = "bytes" 330 | version = "1.5.0" 331 | source = "registry+https://github.com/rust-lang/crates.io-index" 332 | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" 333 | 334 | [[package]] 335 | name = "castaway" 336 | version = "0.1.2" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" 339 | 340 | [[package]] 341 | name = "cc" 342 | version = "1.0.83" 343 | source = "registry+https://github.com/rust-lang/crates.io-index" 344 | checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 345 | dependencies = [ 346 | "libc", 347 | ] 348 | 349 | [[package]] 350 | name = "cfg-if" 351 | version = "1.0.0" 352 | source = "registry+https://github.com/rust-lang/crates.io-index" 353 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 354 | 355 | [[package]] 356 | name = "cfg_aliases" 357 | version = "0.1.1" 358 | source = "registry+https://github.com/rust-lang/crates.io-index" 359 | checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" 360 | 361 | [[package]] 362 | name = "chrono" 363 | version = "0.4.31" 364 | source = "registry+https://github.com/rust-lang/crates.io-index" 365 | checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" 366 | dependencies = [ 367 | "android-tzdata", 368 | "iana-time-zone", 369 | "js-sys", 370 | "num-traits", 371 | "wasm-bindgen", 372 | "windows-targets", 373 | ] 374 | 375 | [[package]] 376 | name = "clap" 377 | version = "3.2.25" 378 | source = "registry+https://github.com/rust-lang/crates.io-index" 379 | checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" 380 | dependencies = [ 381 | "atty", 382 | "bitflags 1.3.2", 383 | "clap_derive", 384 | "clap_lex", 385 | "indexmap 1.9.3", 386 | "once_cell", 387 | "strsim", 388 | "termcolor", 389 | "textwrap 0.16.0", 390 | ] 391 | 392 | [[package]] 393 | name = "clap_complete" 394 | version = "3.2.5" 395 | source = "registry+https://github.com/rust-lang/crates.io-index" 396 | checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" 397 | dependencies = [ 398 | "clap", 399 | ] 400 | 401 | [[package]] 402 | name = "clap_derive" 403 | version = "3.2.25" 404 | source = "registry+https://github.com/rust-lang/crates.io-index" 405 | checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" 406 | dependencies = [ 407 | "heck 0.4.1", 408 | "proc-macro-error", 409 | "proc-macro2", 410 | "quote", 411 | "syn 1.0.109", 412 | ] 413 | 414 | [[package]] 415 | name = "clap_lex" 416 | version = "0.2.4" 417 | source = "registry+https://github.com/rust-lang/crates.io-index" 418 | checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" 419 | dependencies = [ 420 | "os_str_bytes", 421 | ] 422 | 423 | [[package]] 424 | name = "colored" 425 | version = "2.0.4" 426 | source = "registry+https://github.com/rust-lang/crates.io-index" 427 | checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6" 428 | dependencies = [ 429 | "is-terminal", 430 | "lazy_static", 431 | "windows-sys", 432 | ] 433 | 434 | [[package]] 435 | name = "colorsys" 436 | version = "0.6.7" 437 | source = "registry+https://github.com/rust-lang/crates.io-index" 438 | checksum = "54261aba646433cb567ec89844be4c4825ca92a4f8afba52fc4dd88436e31bbd" 439 | 440 | [[package]] 441 | name = "common-path" 442 | version = "1.0.0" 443 | source = "registry+https://github.com/rust-lang/crates.io-index" 444 | checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" 445 | 446 | [[package]] 447 | name = "concurrent-queue" 448 | version = "2.3.0" 449 | source = "registry+https://github.com/rust-lang/crates.io-index" 450 | checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" 451 | dependencies = [ 452 | "crossbeam-utils", 453 | ] 454 | 455 | [[package]] 456 | name = "core-foundation-sys" 457 | version = "0.8.4" 458 | source = "registry+https://github.com/rust-lang/crates.io-index" 459 | checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" 460 | 461 | [[package]] 462 | name = "cpufeatures" 463 | version = "0.2.9" 464 | source = "registry+https://github.com/rust-lang/crates.io-index" 465 | checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" 466 | dependencies = [ 467 | "libc", 468 | ] 469 | 470 | [[package]] 471 | name = "crossbeam" 472 | version = "0.8.2" 473 | source = "registry+https://github.com/rust-lang/crates.io-index" 474 | checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" 475 | dependencies = [ 476 | "cfg-if", 477 | "crossbeam-channel", 478 | "crossbeam-deque", 479 | "crossbeam-epoch", 480 | "crossbeam-queue", 481 | "crossbeam-utils", 482 | ] 483 | 484 | [[package]] 485 | name = "crossbeam-channel" 486 | version = "0.5.8" 487 | source = "registry+https://github.com/rust-lang/crates.io-index" 488 | checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" 489 | dependencies = [ 490 | "cfg-if", 491 | "crossbeam-utils", 492 | ] 493 | 494 | [[package]] 495 | name = "crossbeam-deque" 496 | version = "0.8.3" 497 | source = "registry+https://github.com/rust-lang/crates.io-index" 498 | checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" 499 | dependencies = [ 500 | "cfg-if", 501 | "crossbeam-epoch", 502 | "crossbeam-utils", 503 | ] 504 | 505 | [[package]] 506 | name = "crossbeam-epoch" 507 | version = "0.9.15" 508 | source = "registry+https://github.com/rust-lang/crates.io-index" 509 | checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" 510 | dependencies = [ 511 | "autocfg", 512 | "cfg-if", 513 | "crossbeam-utils", 514 | "memoffset 0.9.0", 515 | "scopeguard", 516 | ] 517 | 518 | [[package]] 519 | name = "crossbeam-queue" 520 | version = "0.3.8" 521 | source = "registry+https://github.com/rust-lang/crates.io-index" 522 | checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" 523 | dependencies = [ 524 | "cfg-if", 525 | "crossbeam-utils", 526 | ] 527 | 528 | [[package]] 529 | name = "crossbeam-utils" 530 | version = "0.8.16" 531 | source = "registry+https://github.com/rust-lang/crates.io-index" 532 | checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" 533 | dependencies = [ 534 | "cfg-if", 535 | ] 536 | 537 | [[package]] 538 | name = "crypto-common" 539 | version = "0.1.6" 540 | source = "registry+https://github.com/rust-lang/crates.io-index" 541 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 542 | dependencies = [ 543 | "generic-array", 544 | "typenum", 545 | ] 546 | 547 | [[package]] 548 | name = "csscolorparser" 549 | version = "0.6.2" 550 | source = "registry+https://github.com/rust-lang/crates.io-index" 551 | checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf" 552 | dependencies = [ 553 | "lab", 554 | "phf", 555 | ] 556 | 557 | [[package]] 558 | name = "curl" 559 | version = "0.4.44" 560 | source = "registry+https://github.com/rust-lang/crates.io-index" 561 | checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22" 562 | dependencies = [ 563 | "curl-sys", 564 | "libc", 565 | "openssl-probe", 566 | "openssl-sys", 567 | "schannel", 568 | "socket2", 569 | "winapi", 570 | ] 571 | 572 | [[package]] 573 | name = "curl-sys" 574 | version = "0.4.68+curl-8.4.0" 575 | source = "registry+https://github.com/rust-lang/crates.io-index" 576 | checksum = "b4a0d18d88360e374b16b2273c832b5e57258ffc1d4aa4f96b108e0738d5752f" 577 | dependencies = [ 578 | "cc", 579 | "libc", 580 | "libnghttp2-sys", 581 | "libz-sys", 582 | "openssl-sys", 583 | "pkg-config", 584 | "vcpkg", 585 | "windows-sys", 586 | ] 587 | 588 | [[package]] 589 | name = "deltae" 590 | version = "0.3.2" 591 | source = "registry+https://github.com/rust-lang/crates.io-index" 592 | checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4" 593 | 594 | [[package]] 595 | name = "derivative" 596 | version = "2.2.0" 597 | source = "registry+https://github.com/rust-lang/crates.io-index" 598 | checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 599 | dependencies = [ 600 | "proc-macro2", 601 | "quote", 602 | "syn 1.0.109", 603 | ] 604 | 605 | [[package]] 606 | name = "destructure_traitobject" 607 | version = "0.2.0" 608 | source = "registry+https://github.com/rust-lang/crates.io-index" 609 | checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" 610 | 611 | [[package]] 612 | name = "digest" 613 | version = "0.10.7" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 616 | dependencies = [ 617 | "block-buffer", 618 | "crypto-common", 619 | ] 620 | 621 | [[package]] 622 | name = "directories" 623 | version = "5.0.1" 624 | source = "registry+https://github.com/rust-lang/crates.io-index" 625 | checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" 626 | dependencies = [ 627 | "dirs-sys 0.4.1", 628 | ] 629 | 630 | [[package]] 631 | name = "dirs" 632 | version = "4.0.0" 633 | source = "registry+https://github.com/rust-lang/crates.io-index" 634 | checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" 635 | dependencies = [ 636 | "dirs-sys 0.3.7", 637 | ] 638 | 639 | [[package]] 640 | name = "dirs" 641 | version = "5.0.1" 642 | source = "registry+https://github.com/rust-lang/crates.io-index" 643 | checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" 644 | dependencies = [ 645 | "dirs-sys 0.4.1", 646 | ] 647 | 648 | [[package]] 649 | name = "dirs-sys" 650 | version = "0.3.7" 651 | source = "registry+https://github.com/rust-lang/crates.io-index" 652 | checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" 653 | dependencies = [ 654 | "libc", 655 | "redox_users", 656 | "winapi", 657 | ] 658 | 659 | [[package]] 660 | name = "dirs-sys" 661 | version = "0.4.1" 662 | source = "registry+https://github.com/rust-lang/crates.io-index" 663 | checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" 664 | dependencies = [ 665 | "libc", 666 | "option-ext", 667 | "redox_users", 668 | "windows-sys", 669 | ] 670 | 671 | [[package]] 672 | name = "either" 673 | version = "1.9.0" 674 | source = "registry+https://github.com/rust-lang/crates.io-index" 675 | checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" 676 | 677 | [[package]] 678 | name = "encoding_rs" 679 | version = "0.8.35" 680 | source = "registry+https://github.com/rust-lang/crates.io-index" 681 | checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 682 | dependencies = [ 683 | "cfg-if", 684 | ] 685 | 686 | [[package]] 687 | name = "equivalent" 688 | version = "1.0.1" 689 | source = "registry+https://github.com/rust-lang/crates.io-index" 690 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 691 | 692 | [[package]] 693 | name = "errno" 694 | version = "0.3.3" 695 | source = "registry+https://github.com/rust-lang/crates.io-index" 696 | checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" 697 | dependencies = [ 698 | "errno-dragonfly", 699 | "libc", 700 | "windows-sys", 701 | ] 702 | 703 | [[package]] 704 | name = "errno-dragonfly" 705 | version = "0.1.2" 706 | source = "registry+https://github.com/rust-lang/crates.io-index" 707 | checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 708 | dependencies = [ 709 | "cc", 710 | "libc", 711 | ] 712 | 713 | [[package]] 714 | name = "euclid" 715 | version = "0.22.11" 716 | source = "registry+https://github.com/rust-lang/crates.io-index" 717 | checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" 718 | dependencies = [ 719 | "num-traits", 720 | ] 721 | 722 | [[package]] 723 | name = "event-listener" 724 | version = "2.5.3" 725 | source = "registry+https://github.com/rust-lang/crates.io-index" 726 | checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 727 | 728 | [[package]] 729 | name = "fancy-regex" 730 | version = "0.11.0" 731 | source = "registry+https://github.com/rust-lang/crates.io-index" 732 | checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2" 733 | dependencies = [ 734 | "bit-set", 735 | "regex", 736 | ] 737 | 738 | [[package]] 739 | name = "fastrand" 740 | version = "1.9.0" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 743 | dependencies = [ 744 | "instant", 745 | ] 746 | 747 | [[package]] 748 | name = "fastrand" 749 | version = "2.0.1" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 752 | 753 | [[package]] 754 | name = "file-id" 755 | version = "0.1.0" 756 | source = "registry+https://github.com/rust-lang/crates.io-index" 757 | checksum = "e13be71e6ca82e91bc0cb862bebaac0b2d1924a5a1d970c822b2f98b63fda8c3" 758 | dependencies = [ 759 | "winapi-util", 760 | ] 761 | 762 | [[package]] 763 | name = "filedescriptor" 764 | version = "0.8.2" 765 | source = "registry+https://github.com/rust-lang/crates.io-index" 766 | checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e" 767 | dependencies = [ 768 | "libc", 769 | "thiserror", 770 | "winapi", 771 | ] 772 | 773 | [[package]] 774 | name = "filetime" 775 | version = "0.2.22" 776 | source = "registry+https://github.com/rust-lang/crates.io-index" 777 | checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" 778 | dependencies = [ 779 | "cfg-if", 780 | "libc", 781 | "redox_syscall 0.3.5", 782 | "windows-sys", 783 | ] 784 | 785 | [[package]] 786 | name = "finl_unicode" 787 | version = "1.2.0" 788 | source = "registry+https://github.com/rust-lang/crates.io-index" 789 | checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" 790 | 791 | [[package]] 792 | name = "fixedbitset" 793 | version = "0.4.2" 794 | source = "registry+https://github.com/rust-lang/crates.io-index" 795 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 796 | 797 | [[package]] 798 | name = "fnv" 799 | version = "1.0.7" 800 | source = "registry+https://github.com/rust-lang/crates.io-index" 801 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 802 | 803 | [[package]] 804 | name = "form_urlencoded" 805 | version = "1.2.0" 806 | source = "registry+https://github.com/rust-lang/crates.io-index" 807 | checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" 808 | dependencies = [ 809 | "percent-encoding", 810 | ] 811 | 812 | [[package]] 813 | name = "fsevent-sys" 814 | version = "4.1.0" 815 | source = "registry+https://github.com/rust-lang/crates.io-index" 816 | checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" 817 | dependencies = [ 818 | "libc", 819 | ] 820 | 821 | [[package]] 822 | name = "futures" 823 | version = "0.3.29" 824 | source = "registry+https://github.com/rust-lang/crates.io-index" 825 | checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" 826 | dependencies = [ 827 | "futures-channel", 828 | "futures-core", 829 | "futures-executor", 830 | "futures-io", 831 | "futures-sink", 832 | "futures-task", 833 | "futures-util", 834 | ] 835 | 836 | [[package]] 837 | name = "futures-channel" 838 | version = "0.3.29" 839 | source = "registry+https://github.com/rust-lang/crates.io-index" 840 | checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" 841 | dependencies = [ 842 | "futures-core", 843 | "futures-sink", 844 | ] 845 | 846 | [[package]] 847 | name = "futures-core" 848 | version = "0.3.29" 849 | source = "registry+https://github.com/rust-lang/crates.io-index" 850 | checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" 851 | 852 | [[package]] 853 | name = "futures-executor" 854 | version = "0.3.29" 855 | source = "registry+https://github.com/rust-lang/crates.io-index" 856 | checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" 857 | dependencies = [ 858 | "futures-core", 859 | "futures-task", 860 | "futures-util", 861 | ] 862 | 863 | [[package]] 864 | name = "futures-io" 865 | version = "0.3.29" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" 868 | 869 | [[package]] 870 | name = "futures-lite" 871 | version = "1.13.0" 872 | source = "registry+https://github.com/rust-lang/crates.io-index" 873 | checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" 874 | dependencies = [ 875 | "fastrand 1.9.0", 876 | "futures-core", 877 | "futures-io", 878 | "memchr", 879 | "parking", 880 | "pin-project-lite", 881 | "waker-fn", 882 | ] 883 | 884 | [[package]] 885 | name = "futures-macro" 886 | version = "0.3.29" 887 | source = "registry+https://github.com/rust-lang/crates.io-index" 888 | checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" 889 | dependencies = [ 890 | "proc-macro2", 891 | "quote", 892 | "syn 2.0.37", 893 | ] 894 | 895 | [[package]] 896 | name = "futures-sink" 897 | version = "0.3.29" 898 | source = "registry+https://github.com/rust-lang/crates.io-index" 899 | checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" 900 | 901 | [[package]] 902 | name = "futures-task" 903 | version = "0.3.29" 904 | source = "registry+https://github.com/rust-lang/crates.io-index" 905 | checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" 906 | 907 | [[package]] 908 | name = "futures-util" 909 | version = "0.3.29" 910 | source = "registry+https://github.com/rust-lang/crates.io-index" 911 | checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" 912 | dependencies = [ 913 | "futures-channel", 914 | "futures-core", 915 | "futures-io", 916 | "futures-macro", 917 | "futures-sink", 918 | "futures-task", 919 | "memchr", 920 | "pin-project-lite", 921 | "pin-utils", 922 | "slab", 923 | ] 924 | 925 | [[package]] 926 | name = "fuzzy-matcher" 927 | version = "0.3.7" 928 | source = "registry+https://github.com/rust-lang/crates.io-index" 929 | checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" 930 | dependencies = [ 931 | "thread_local", 932 | ] 933 | 934 | [[package]] 935 | name = "generic-array" 936 | version = "0.14.7" 937 | source = "registry+https://github.com/rust-lang/crates.io-index" 938 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 939 | dependencies = [ 940 | "typenum", 941 | "version_check", 942 | ] 943 | 944 | [[package]] 945 | name = "getrandom" 946 | version = "0.2.10" 947 | source = "registry+https://github.com/rust-lang/crates.io-index" 948 | checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" 949 | dependencies = [ 950 | "cfg-if", 951 | "libc", 952 | "wasi", 953 | ] 954 | 955 | [[package]] 956 | name = "gimli" 957 | version = "0.28.0" 958 | source = "registry+https://github.com/rust-lang/crates.io-index" 959 | checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" 960 | 961 | [[package]] 962 | name = "gloo-timers" 963 | version = "0.2.6" 964 | source = "registry+https://github.com/rust-lang/crates.io-index" 965 | checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" 966 | dependencies = [ 967 | "futures-channel", 968 | "futures-core", 969 | "js-sys", 970 | "wasm-bindgen", 971 | ] 972 | 973 | [[package]] 974 | name = "hashbrown" 975 | version = "0.12.3" 976 | source = "registry+https://github.com/rust-lang/crates.io-index" 977 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 978 | 979 | [[package]] 980 | name = "hashbrown" 981 | version = "0.14.1" 982 | source = "registry+https://github.com/rust-lang/crates.io-index" 983 | checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" 984 | 985 | [[package]] 986 | name = "heck" 987 | version = "0.3.3" 988 | source = "registry+https://github.com/rust-lang/crates.io-index" 989 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 990 | dependencies = [ 991 | "unicode-segmentation", 992 | ] 993 | 994 | [[package]] 995 | name = "heck" 996 | version = "0.4.1" 997 | source = "registry+https://github.com/rust-lang/crates.io-index" 998 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 999 | 1000 | [[package]] 1001 | name = "hermit-abi" 1002 | version = "0.1.19" 1003 | source = "registry+https://github.com/rust-lang/crates.io-index" 1004 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 1005 | dependencies = [ 1006 | "libc", 1007 | ] 1008 | 1009 | [[package]] 1010 | name = "hermit-abi" 1011 | version = "0.3.3" 1012 | source = "registry+https://github.com/rust-lang/crates.io-index" 1013 | checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" 1014 | 1015 | [[package]] 1016 | name = "hex" 1017 | version = "0.4.3" 1018 | source = "registry+https://github.com/rust-lang/crates.io-index" 1019 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1020 | 1021 | [[package]] 1022 | name = "home" 1023 | version = "0.5.5" 1024 | source = "registry+https://github.com/rust-lang/crates.io-index" 1025 | checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" 1026 | dependencies = [ 1027 | "windows-sys", 1028 | ] 1029 | 1030 | [[package]] 1031 | name = "http" 1032 | version = "0.2.9" 1033 | source = "registry+https://github.com/rust-lang/crates.io-index" 1034 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" 1035 | dependencies = [ 1036 | "bytes", 1037 | "fnv", 1038 | "itoa", 1039 | ] 1040 | 1041 | [[package]] 1042 | name = "humantime" 1043 | version = "2.1.0" 1044 | source = "registry+https://github.com/rust-lang/crates.io-index" 1045 | checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" 1046 | 1047 | [[package]] 1048 | name = "iana-time-zone" 1049 | version = "0.1.57" 1050 | source = "registry+https://github.com/rust-lang/crates.io-index" 1051 | checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" 1052 | dependencies = [ 1053 | "android_system_properties", 1054 | "core-foundation-sys", 1055 | "iana-time-zone-haiku", 1056 | "js-sys", 1057 | "wasm-bindgen", 1058 | "windows", 1059 | ] 1060 | 1061 | [[package]] 1062 | name = "iana-time-zone-haiku" 1063 | version = "0.1.2" 1064 | source = "registry+https://github.com/rust-lang/crates.io-index" 1065 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1066 | dependencies = [ 1067 | "cc", 1068 | ] 1069 | 1070 | [[package]] 1071 | name = "idna" 1072 | version = "0.4.0" 1073 | source = "registry+https://github.com/rust-lang/crates.io-index" 1074 | checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" 1075 | dependencies = [ 1076 | "unicode-bidi", 1077 | "unicode-normalization", 1078 | ] 1079 | 1080 | [[package]] 1081 | name = "include_dir" 1082 | version = "0.7.3" 1083 | source = "registry+https://github.com/rust-lang/crates.io-index" 1084 | checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" 1085 | dependencies = [ 1086 | "include_dir_macros", 1087 | ] 1088 | 1089 | [[package]] 1090 | name = "include_dir_macros" 1091 | version = "0.7.3" 1092 | source = "registry+https://github.com/rust-lang/crates.io-index" 1093 | checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" 1094 | dependencies = [ 1095 | "proc-macro2", 1096 | "quote", 1097 | ] 1098 | 1099 | [[package]] 1100 | name = "indexmap" 1101 | version = "1.9.3" 1102 | source = "registry+https://github.com/rust-lang/crates.io-index" 1103 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1104 | dependencies = [ 1105 | "autocfg", 1106 | "hashbrown 0.12.3", 1107 | ] 1108 | 1109 | [[package]] 1110 | name = "indexmap" 1111 | version = "2.0.2" 1112 | source = "registry+https://github.com/rust-lang/crates.io-index" 1113 | checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" 1114 | dependencies = [ 1115 | "equivalent", 1116 | "hashbrown 0.14.1", 1117 | ] 1118 | 1119 | [[package]] 1120 | name = "inotify" 1121 | version = "0.9.6" 1122 | source = "registry+https://github.com/rust-lang/crates.io-index" 1123 | checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" 1124 | dependencies = [ 1125 | "bitflags 1.3.2", 1126 | "inotify-sys", 1127 | "libc", 1128 | ] 1129 | 1130 | [[package]] 1131 | name = "inotify-sys" 1132 | version = "0.1.5" 1133 | source = "registry+https://github.com/rust-lang/crates.io-index" 1134 | checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" 1135 | dependencies = [ 1136 | "libc", 1137 | ] 1138 | 1139 | [[package]] 1140 | name = "instant" 1141 | version = "0.1.12" 1142 | source = "registry+https://github.com/rust-lang/crates.io-index" 1143 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 1144 | dependencies = [ 1145 | "cfg-if", 1146 | ] 1147 | 1148 | [[package]] 1149 | name = "interprocess" 1150 | version = "1.2.1" 1151 | source = "registry+https://github.com/rust-lang/crates.io-index" 1152 | checksum = "81f2533f3be42fffe3b5e63b71aeca416c1c3bc33e4e27be018521e76b1f38fb" 1153 | dependencies = [ 1154 | "blocking", 1155 | "cfg-if", 1156 | "futures-core", 1157 | "futures-io", 1158 | "intmap", 1159 | "libc", 1160 | "once_cell", 1161 | "rustc_version", 1162 | "spinning", 1163 | "thiserror", 1164 | "to_method", 1165 | "winapi", 1166 | ] 1167 | 1168 | [[package]] 1169 | name = "intmap" 1170 | version = "0.7.1" 1171 | source = "registry+https://github.com/rust-lang/crates.io-index" 1172 | checksum = "ae52f28f45ac2bc96edb7714de995cffc174a395fb0abf5bff453587c980d7b9" 1173 | 1174 | [[package]] 1175 | name = "io-lifetimes" 1176 | version = "1.0.11" 1177 | source = "registry+https://github.com/rust-lang/crates.io-index" 1178 | checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" 1179 | dependencies = [ 1180 | "hermit-abi 0.3.3", 1181 | "libc", 1182 | "windows-sys", 1183 | ] 1184 | 1185 | [[package]] 1186 | name = "is-terminal" 1187 | version = "0.4.9" 1188 | source = "registry+https://github.com/rust-lang/crates.io-index" 1189 | checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" 1190 | dependencies = [ 1191 | "hermit-abi 0.3.3", 1192 | "rustix 0.38.15", 1193 | "windows-sys", 1194 | ] 1195 | 1196 | [[package]] 1197 | name = "is_ci" 1198 | version = "1.1.1" 1199 | source = "registry+https://github.com/rust-lang/crates.io-index" 1200 | checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" 1201 | 1202 | [[package]] 1203 | name = "isahc" 1204 | version = "1.7.2" 1205 | source = "registry+https://github.com/rust-lang/crates.io-index" 1206 | checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9" 1207 | dependencies = [ 1208 | "async-channel", 1209 | "castaway", 1210 | "crossbeam-utils", 1211 | "curl", 1212 | "curl-sys", 1213 | "encoding_rs", 1214 | "event-listener", 1215 | "futures-lite", 1216 | "http", 1217 | "log", 1218 | "mime", 1219 | "once_cell", 1220 | "polling", 1221 | "slab", 1222 | "sluice", 1223 | "tracing", 1224 | "tracing-futures", 1225 | "url", 1226 | "waker-fn", 1227 | ] 1228 | 1229 | [[package]] 1230 | name = "itertools" 1231 | version = "0.10.5" 1232 | source = "registry+https://github.com/rust-lang/crates.io-index" 1233 | checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" 1234 | dependencies = [ 1235 | "either", 1236 | ] 1237 | 1238 | [[package]] 1239 | name = "itoa" 1240 | version = "1.0.9" 1241 | source = "registry+https://github.com/rust-lang/crates.io-index" 1242 | checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 1243 | 1244 | [[package]] 1245 | name = "js-sys" 1246 | version = "0.3.64" 1247 | source = "registry+https://github.com/rust-lang/crates.io-index" 1248 | checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" 1249 | dependencies = [ 1250 | "wasm-bindgen", 1251 | ] 1252 | 1253 | [[package]] 1254 | name = "kdl" 1255 | version = "4.6.0" 1256 | source = "registry+https://github.com/rust-lang/crates.io-index" 1257 | checksum = "062c875482ccb676fd40c804a40e3824d4464c18c364547456d1c8e8e951ae47" 1258 | dependencies = [ 1259 | "miette", 1260 | "nom", 1261 | "thiserror", 1262 | ] 1263 | 1264 | [[package]] 1265 | name = "kqueue" 1266 | version = "1.0.8" 1267 | source = "registry+https://github.com/rust-lang/crates.io-index" 1268 | checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" 1269 | dependencies = [ 1270 | "kqueue-sys", 1271 | "libc", 1272 | ] 1273 | 1274 | [[package]] 1275 | name = "kqueue-sys" 1276 | version = "1.0.4" 1277 | source = "registry+https://github.com/rust-lang/crates.io-index" 1278 | checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" 1279 | dependencies = [ 1280 | "bitflags 1.3.2", 1281 | "libc", 1282 | ] 1283 | 1284 | [[package]] 1285 | name = "kv-log-macro" 1286 | version = "1.0.7" 1287 | source = "registry+https://github.com/rust-lang/crates.io-index" 1288 | checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" 1289 | dependencies = [ 1290 | "log", 1291 | ] 1292 | 1293 | [[package]] 1294 | name = "lab" 1295 | version = "0.11.0" 1296 | source = "registry+https://github.com/rust-lang/crates.io-index" 1297 | checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f" 1298 | 1299 | [[package]] 1300 | name = "lazy_static" 1301 | version = "1.4.0" 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" 1303 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1304 | 1305 | [[package]] 1306 | name = "libc" 1307 | version = "0.2.161" 1308 | source = "registry+https://github.com/rust-lang/crates.io-index" 1309 | checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" 1310 | 1311 | [[package]] 1312 | name = "libnghttp2-sys" 1313 | version = "0.1.8+1.55.1" 1314 | source = "registry+https://github.com/rust-lang/crates.io-index" 1315 | checksum = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340" 1316 | dependencies = [ 1317 | "cc", 1318 | "libc", 1319 | ] 1320 | 1321 | [[package]] 1322 | name = "libz-sys" 1323 | version = "1.1.12" 1324 | source = "registry+https://github.com/rust-lang/crates.io-index" 1325 | checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" 1326 | dependencies = [ 1327 | "cc", 1328 | "libc", 1329 | "pkg-config", 1330 | "vcpkg", 1331 | ] 1332 | 1333 | [[package]] 1334 | name = "linked-hash-map" 1335 | version = "0.5.6" 1336 | source = "registry+https://github.com/rust-lang/crates.io-index" 1337 | checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 1338 | 1339 | [[package]] 1340 | name = "linux-raw-sys" 1341 | version = "0.3.8" 1342 | source = "registry+https://github.com/rust-lang/crates.io-index" 1343 | checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" 1344 | 1345 | [[package]] 1346 | name = "linux-raw-sys" 1347 | version = "0.4.8" 1348 | source = "registry+https://github.com/rust-lang/crates.io-index" 1349 | checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db" 1350 | 1351 | [[package]] 1352 | name = "lock_api" 1353 | version = "0.4.10" 1354 | source = "registry+https://github.com/rust-lang/crates.io-index" 1355 | checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" 1356 | dependencies = [ 1357 | "autocfg", 1358 | "scopeguard", 1359 | ] 1360 | 1361 | [[package]] 1362 | name = "log" 1363 | version = "0.4.20" 1364 | source = "registry+https://github.com/rust-lang/crates.io-index" 1365 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 1366 | dependencies = [ 1367 | "serde", 1368 | "value-bag", 1369 | ] 1370 | 1371 | [[package]] 1372 | name = "log-mdc" 1373 | version = "0.1.0" 1374 | source = "registry+https://github.com/rust-lang/crates.io-index" 1375 | checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" 1376 | 1377 | [[package]] 1378 | name = "log4rs" 1379 | version = "1.2.0" 1380 | source = "registry+https://github.com/rust-lang/crates.io-index" 1381 | checksum = "d36ca1786d9e79b8193a68d480a0907b612f109537115c6ff655a3a1967533fd" 1382 | dependencies = [ 1383 | "anyhow", 1384 | "arc-swap", 1385 | "chrono", 1386 | "derivative", 1387 | "fnv", 1388 | "humantime", 1389 | "libc", 1390 | "log", 1391 | "log-mdc", 1392 | "parking_lot", 1393 | "serde", 1394 | "serde-value", 1395 | "serde_json", 1396 | "serde_yaml", 1397 | "thiserror", 1398 | "thread-id", 1399 | "typemap-ors", 1400 | "winapi", 1401 | ] 1402 | 1403 | [[package]] 1404 | name = "mac_address" 1405 | version = "1.1.7" 1406 | source = "registry+https://github.com/rust-lang/crates.io-index" 1407 | checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" 1408 | dependencies = [ 1409 | "nix 0.28.0", 1410 | "winapi", 1411 | ] 1412 | 1413 | [[package]] 1414 | name = "memchr" 1415 | version = "2.6.3" 1416 | source = "registry+https://github.com/rust-lang/crates.io-index" 1417 | checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" 1418 | 1419 | [[package]] 1420 | name = "memmem" 1421 | version = "0.1.1" 1422 | source = "registry+https://github.com/rust-lang/crates.io-index" 1423 | checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" 1424 | 1425 | [[package]] 1426 | name = "memoffset" 1427 | version = "0.6.5" 1428 | source = "registry+https://github.com/rust-lang/crates.io-index" 1429 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 1430 | dependencies = [ 1431 | "autocfg", 1432 | ] 1433 | 1434 | [[package]] 1435 | name = "memoffset" 1436 | version = "0.7.1" 1437 | source = "registry+https://github.com/rust-lang/crates.io-index" 1438 | checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 1439 | dependencies = [ 1440 | "autocfg", 1441 | ] 1442 | 1443 | [[package]] 1444 | name = "memoffset" 1445 | version = "0.9.0" 1446 | source = "registry+https://github.com/rust-lang/crates.io-index" 1447 | checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" 1448 | dependencies = [ 1449 | "autocfg", 1450 | ] 1451 | 1452 | [[package]] 1453 | name = "miette" 1454 | version = "5.10.0" 1455 | source = "registry+https://github.com/rust-lang/crates.io-index" 1456 | checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" 1457 | dependencies = [ 1458 | "backtrace", 1459 | "backtrace-ext", 1460 | "is-terminal", 1461 | "miette-derive", 1462 | "once_cell", 1463 | "owo-colors", 1464 | "supports-color", 1465 | "supports-hyperlinks", 1466 | "supports-unicode", 1467 | "terminal_size", 1468 | "textwrap 0.15.2", 1469 | "thiserror", 1470 | "unicode-width", 1471 | ] 1472 | 1473 | [[package]] 1474 | name = "miette-derive" 1475 | version = "5.10.0" 1476 | source = "registry+https://github.com/rust-lang/crates.io-index" 1477 | checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" 1478 | dependencies = [ 1479 | "proc-macro2", 1480 | "quote", 1481 | "syn 2.0.37", 1482 | ] 1483 | 1484 | [[package]] 1485 | name = "mime" 1486 | version = "0.3.17" 1487 | source = "registry+https://github.com/rust-lang/crates.io-index" 1488 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1489 | 1490 | [[package]] 1491 | name = "minimal-lexical" 1492 | version = "0.2.1" 1493 | source = "registry+https://github.com/rust-lang/crates.io-index" 1494 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1495 | 1496 | [[package]] 1497 | name = "miniz_oxide" 1498 | version = "0.7.1" 1499 | source = "registry+https://github.com/rust-lang/crates.io-index" 1500 | checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" 1501 | dependencies = [ 1502 | "adler", 1503 | ] 1504 | 1505 | [[package]] 1506 | name = "mio" 1507 | version = "0.8.8" 1508 | source = "registry+https://github.com/rust-lang/crates.io-index" 1509 | checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" 1510 | dependencies = [ 1511 | "libc", 1512 | "log", 1513 | "wasi", 1514 | "windows-sys", 1515 | ] 1516 | 1517 | [[package]] 1518 | name = "multimap" 1519 | version = "0.8.3" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" 1522 | 1523 | [[package]] 1524 | name = "nix" 1525 | version = "0.23.2" 1526 | source = "registry+https://github.com/rust-lang/crates.io-index" 1527 | checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" 1528 | dependencies = [ 1529 | "bitflags 1.3.2", 1530 | "cc", 1531 | "cfg-if", 1532 | "libc", 1533 | "memoffset 0.6.5", 1534 | ] 1535 | 1536 | [[package]] 1537 | name = "nix" 1538 | version = "0.26.4" 1539 | source = "registry+https://github.com/rust-lang/crates.io-index" 1540 | checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" 1541 | dependencies = [ 1542 | "bitflags 1.3.2", 1543 | "cfg-if", 1544 | "libc", 1545 | "memoffset 0.7.1", 1546 | "pin-utils", 1547 | ] 1548 | 1549 | [[package]] 1550 | name = "nix" 1551 | version = "0.28.0" 1552 | source = "registry+https://github.com/rust-lang/crates.io-index" 1553 | checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" 1554 | dependencies = [ 1555 | "bitflags 2.6.0", 1556 | "cfg-if", 1557 | "cfg_aliases", 1558 | "libc", 1559 | "memoffset 0.9.0", 1560 | ] 1561 | 1562 | [[package]] 1563 | name = "nom" 1564 | version = "7.1.3" 1565 | source = "registry+https://github.com/rust-lang/crates.io-index" 1566 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 1567 | dependencies = [ 1568 | "memchr", 1569 | "minimal-lexical", 1570 | ] 1571 | 1572 | [[package]] 1573 | name = "notify" 1574 | version = "6.1.1" 1575 | source = "registry+https://github.com/rust-lang/crates.io-index" 1576 | checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" 1577 | dependencies = [ 1578 | "bitflags 2.6.0", 1579 | "crossbeam-channel", 1580 | "filetime", 1581 | "fsevent-sys", 1582 | "inotify", 1583 | "kqueue", 1584 | "libc", 1585 | "log", 1586 | "mio", 1587 | "walkdir", 1588 | "windows-sys", 1589 | ] 1590 | 1591 | [[package]] 1592 | name = "notify-debouncer-full" 1593 | version = "0.1.0" 1594 | source = "registry+https://github.com/rust-lang/crates.io-index" 1595 | checksum = "f4812c1eb49be776fb8df4961623bdc01ec9dfdc1abe8211ceb09150a2e64219" 1596 | dependencies = [ 1597 | "crossbeam-channel", 1598 | "file-id", 1599 | "notify", 1600 | "parking_lot", 1601 | "walkdir", 1602 | ] 1603 | 1604 | [[package]] 1605 | name = "num-derive" 1606 | version = "0.3.3" 1607 | source = "registry+https://github.com/rust-lang/crates.io-index" 1608 | checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" 1609 | dependencies = [ 1610 | "proc-macro2", 1611 | "quote", 1612 | "syn 1.0.109", 1613 | ] 1614 | 1615 | [[package]] 1616 | name = "num-traits" 1617 | version = "0.2.16" 1618 | source = "registry+https://github.com/rust-lang/crates.io-index" 1619 | checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" 1620 | dependencies = [ 1621 | "autocfg", 1622 | ] 1623 | 1624 | [[package]] 1625 | name = "object" 1626 | version = "0.32.1" 1627 | source = "registry+https://github.com/rust-lang/crates.io-index" 1628 | checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" 1629 | dependencies = [ 1630 | "memchr", 1631 | ] 1632 | 1633 | [[package]] 1634 | name = "once_cell" 1635 | version = "1.18.0" 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" 1637 | checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 1638 | 1639 | [[package]] 1640 | name = "openssl-probe" 1641 | version = "0.1.5" 1642 | source = "registry+https://github.com/rust-lang/crates.io-index" 1643 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1644 | 1645 | [[package]] 1646 | name = "openssl-src" 1647 | version = "300.1.6+3.1.4" 1648 | source = "registry+https://github.com/rust-lang/crates.io-index" 1649 | checksum = "439fac53e092cd7442a3660c85dde4643ab3b5bd39040912388dcdabf6b88085" 1650 | dependencies = [ 1651 | "cc", 1652 | ] 1653 | 1654 | [[package]] 1655 | name = "openssl-sys" 1656 | version = "0.9.95" 1657 | source = "registry+https://github.com/rust-lang/crates.io-index" 1658 | checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" 1659 | dependencies = [ 1660 | "cc", 1661 | "libc", 1662 | "openssl-src", 1663 | "pkg-config", 1664 | "vcpkg", 1665 | ] 1666 | 1667 | [[package]] 1668 | name = "option-ext" 1669 | version = "0.2.0" 1670 | source = "registry+https://github.com/rust-lang/crates.io-index" 1671 | checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 1672 | 1673 | [[package]] 1674 | name = "ordered-float" 1675 | version = "2.10.0" 1676 | source = "registry+https://github.com/rust-lang/crates.io-index" 1677 | checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" 1678 | dependencies = [ 1679 | "num-traits", 1680 | ] 1681 | 1682 | [[package]] 1683 | name = "ordered-float" 1684 | version = "3.9.1" 1685 | source = "registry+https://github.com/rust-lang/crates.io-index" 1686 | checksum = "2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06" 1687 | dependencies = [ 1688 | "num-traits", 1689 | ] 1690 | 1691 | [[package]] 1692 | name = "ordered-float" 1693 | version = "4.5.0" 1694 | source = "registry+https://github.com/rust-lang/crates.io-index" 1695 | checksum = "c65ee1f9701bf938026630b455d5315f490640234259037edb259798b3bcf85e" 1696 | dependencies = [ 1697 | "num-traits", 1698 | ] 1699 | 1700 | [[package]] 1701 | name = "os_str_bytes" 1702 | version = "6.5.1" 1703 | source = "registry+https://github.com/rust-lang/crates.io-index" 1704 | checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" 1705 | 1706 | [[package]] 1707 | name = "owo-colors" 1708 | version = "3.5.0" 1709 | source = "registry+https://github.com/rust-lang/crates.io-index" 1710 | checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" 1711 | 1712 | [[package]] 1713 | name = "parking" 1714 | version = "2.1.1" 1715 | source = "registry+https://github.com/rust-lang/crates.io-index" 1716 | checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" 1717 | 1718 | [[package]] 1719 | name = "parking_lot" 1720 | version = "0.12.1" 1721 | source = "registry+https://github.com/rust-lang/crates.io-index" 1722 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1723 | dependencies = [ 1724 | "lock_api", 1725 | "parking_lot_core", 1726 | ] 1727 | 1728 | [[package]] 1729 | name = "parking_lot_core" 1730 | version = "0.9.8" 1731 | source = "registry+https://github.com/rust-lang/crates.io-index" 1732 | checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" 1733 | dependencies = [ 1734 | "cfg-if", 1735 | "libc", 1736 | "redox_syscall 0.3.5", 1737 | "smallvec", 1738 | "windows-targets", 1739 | ] 1740 | 1741 | [[package]] 1742 | name = "paste" 1743 | version = "1.0.14" 1744 | source = "registry+https://github.com/rust-lang/crates.io-index" 1745 | checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" 1746 | 1747 | [[package]] 1748 | name = "percent-encoding" 1749 | version = "2.3.0" 1750 | source = "registry+https://github.com/rust-lang/crates.io-index" 1751 | checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" 1752 | 1753 | [[package]] 1754 | name = "pest" 1755 | version = "2.7.4" 1756 | source = "registry+https://github.com/rust-lang/crates.io-index" 1757 | checksum = "c022f1e7b65d6a24c0dbbd5fb344c66881bc01f3e5ae74a1c8100f2f985d98a4" 1758 | dependencies = [ 1759 | "memchr", 1760 | "thiserror", 1761 | "ucd-trie", 1762 | ] 1763 | 1764 | [[package]] 1765 | name = "pest_derive" 1766 | version = "2.7.4" 1767 | source = "registry+https://github.com/rust-lang/crates.io-index" 1768 | checksum = "35513f630d46400a977c4cb58f78e1bfbe01434316e60c37d27b9ad6139c66d8" 1769 | dependencies = [ 1770 | "pest", 1771 | "pest_generator", 1772 | ] 1773 | 1774 | [[package]] 1775 | name = "pest_generator" 1776 | version = "2.7.4" 1777 | source = "registry+https://github.com/rust-lang/crates.io-index" 1778 | checksum = "bc9fc1b9e7057baba189b5c626e2d6f40681ae5b6eb064dc7c7834101ec8123a" 1779 | dependencies = [ 1780 | "pest", 1781 | "pest_meta", 1782 | "proc-macro2", 1783 | "quote", 1784 | "syn 2.0.37", 1785 | ] 1786 | 1787 | [[package]] 1788 | name = "pest_meta" 1789 | version = "2.7.4" 1790 | source = "registry+https://github.com/rust-lang/crates.io-index" 1791 | checksum = "1df74e9e7ec4053ceb980e7c0c8bd3594e977fde1af91daba9c928e8e8c6708d" 1792 | dependencies = [ 1793 | "once_cell", 1794 | "pest", 1795 | "sha2", 1796 | ] 1797 | 1798 | [[package]] 1799 | name = "petgraph" 1800 | version = "0.6.4" 1801 | source = "registry+https://github.com/rust-lang/crates.io-index" 1802 | checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" 1803 | dependencies = [ 1804 | "fixedbitset", 1805 | "indexmap 2.0.2", 1806 | ] 1807 | 1808 | [[package]] 1809 | name = "phf" 1810 | version = "0.11.2" 1811 | source = "registry+https://github.com/rust-lang/crates.io-index" 1812 | checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" 1813 | dependencies = [ 1814 | "phf_macros", 1815 | "phf_shared", 1816 | ] 1817 | 1818 | [[package]] 1819 | name = "phf_codegen" 1820 | version = "0.11.2" 1821 | source = "registry+https://github.com/rust-lang/crates.io-index" 1822 | checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" 1823 | dependencies = [ 1824 | "phf_generator", 1825 | "phf_shared", 1826 | ] 1827 | 1828 | [[package]] 1829 | name = "phf_generator" 1830 | version = "0.11.2" 1831 | source = "registry+https://github.com/rust-lang/crates.io-index" 1832 | checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" 1833 | dependencies = [ 1834 | "phf_shared", 1835 | "rand", 1836 | ] 1837 | 1838 | [[package]] 1839 | name = "phf_macros" 1840 | version = "0.11.2" 1841 | source = "registry+https://github.com/rust-lang/crates.io-index" 1842 | checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" 1843 | dependencies = [ 1844 | "phf_generator", 1845 | "phf_shared", 1846 | "proc-macro2", 1847 | "quote", 1848 | "syn 2.0.37", 1849 | ] 1850 | 1851 | [[package]] 1852 | name = "phf_shared" 1853 | version = "0.11.2" 1854 | source = "registry+https://github.com/rust-lang/crates.io-index" 1855 | checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" 1856 | dependencies = [ 1857 | "siphasher", 1858 | ] 1859 | 1860 | [[package]] 1861 | name = "pin-project" 1862 | version = "1.1.3" 1863 | source = "registry+https://github.com/rust-lang/crates.io-index" 1864 | checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" 1865 | dependencies = [ 1866 | "pin-project-internal", 1867 | ] 1868 | 1869 | [[package]] 1870 | name = "pin-project-internal" 1871 | version = "1.1.3" 1872 | source = "registry+https://github.com/rust-lang/crates.io-index" 1873 | checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" 1874 | dependencies = [ 1875 | "proc-macro2", 1876 | "quote", 1877 | "syn 2.0.37", 1878 | ] 1879 | 1880 | [[package]] 1881 | name = "pin-project-lite" 1882 | version = "0.2.13" 1883 | source = "registry+https://github.com/rust-lang/crates.io-index" 1884 | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 1885 | 1886 | [[package]] 1887 | name = "pin-utils" 1888 | version = "0.1.0" 1889 | source = "registry+https://github.com/rust-lang/crates.io-index" 1890 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1891 | 1892 | [[package]] 1893 | name = "piper" 1894 | version = "0.2.1" 1895 | source = "registry+https://github.com/rust-lang/crates.io-index" 1896 | checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" 1897 | dependencies = [ 1898 | "atomic-waker", 1899 | "fastrand 2.0.1", 1900 | "futures-io", 1901 | ] 1902 | 1903 | [[package]] 1904 | name = "pkg-config" 1905 | version = "0.3.27" 1906 | source = "registry+https://github.com/rust-lang/crates.io-index" 1907 | checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" 1908 | 1909 | [[package]] 1910 | name = "polling" 1911 | version = "2.8.0" 1912 | source = "registry+https://github.com/rust-lang/crates.io-index" 1913 | checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" 1914 | dependencies = [ 1915 | "autocfg", 1916 | "bitflags 1.3.2", 1917 | "cfg-if", 1918 | "concurrent-queue", 1919 | "libc", 1920 | "log", 1921 | "pin-project-lite", 1922 | "windows-sys", 1923 | ] 1924 | 1925 | [[package]] 1926 | name = "prettyplease" 1927 | version = "0.1.25" 1928 | source = "registry+https://github.com/rust-lang/crates.io-index" 1929 | checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" 1930 | dependencies = [ 1931 | "proc-macro2", 1932 | "syn 1.0.109", 1933 | ] 1934 | 1935 | [[package]] 1936 | name = "proc-macro-error" 1937 | version = "1.0.4" 1938 | source = "registry+https://github.com/rust-lang/crates.io-index" 1939 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1940 | dependencies = [ 1941 | "proc-macro-error-attr", 1942 | "proc-macro2", 1943 | "quote", 1944 | "syn 1.0.109", 1945 | "version_check", 1946 | ] 1947 | 1948 | [[package]] 1949 | name = "proc-macro-error-attr" 1950 | version = "1.0.4" 1951 | source = "registry+https://github.com/rust-lang/crates.io-index" 1952 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1953 | dependencies = [ 1954 | "proc-macro2", 1955 | "quote", 1956 | "version_check", 1957 | ] 1958 | 1959 | [[package]] 1960 | name = "proc-macro2" 1961 | version = "1.0.67" 1962 | source = "registry+https://github.com/rust-lang/crates.io-index" 1963 | checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" 1964 | dependencies = [ 1965 | "unicode-ident", 1966 | ] 1967 | 1968 | [[package]] 1969 | name = "prost" 1970 | version = "0.11.9" 1971 | source = "registry+https://github.com/rust-lang/crates.io-index" 1972 | checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" 1973 | dependencies = [ 1974 | "bytes", 1975 | "prost-derive", 1976 | ] 1977 | 1978 | [[package]] 1979 | name = "prost-build" 1980 | version = "0.11.9" 1981 | source = "registry+https://github.com/rust-lang/crates.io-index" 1982 | checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" 1983 | dependencies = [ 1984 | "bytes", 1985 | "heck 0.4.1", 1986 | "itertools", 1987 | "lazy_static", 1988 | "log", 1989 | "multimap", 1990 | "petgraph", 1991 | "prettyplease", 1992 | "prost", 1993 | "prost-types", 1994 | "regex", 1995 | "syn 1.0.109", 1996 | "tempfile", 1997 | "which", 1998 | ] 1999 | 2000 | [[package]] 2001 | name = "prost-derive" 2002 | version = "0.11.9" 2003 | source = "registry+https://github.com/rust-lang/crates.io-index" 2004 | checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" 2005 | dependencies = [ 2006 | "anyhow", 2007 | "itertools", 2008 | "proc-macro2", 2009 | "quote", 2010 | "syn 1.0.109", 2011 | ] 2012 | 2013 | [[package]] 2014 | name = "prost-types" 2015 | version = "0.11.9" 2016 | source = "registry+https://github.com/rust-lang/crates.io-index" 2017 | checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" 2018 | dependencies = [ 2019 | "prost", 2020 | ] 2021 | 2022 | [[package]] 2023 | name = "quote" 2024 | version = "1.0.33" 2025 | source = "registry+https://github.com/rust-lang/crates.io-index" 2026 | checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" 2027 | dependencies = [ 2028 | "proc-macro2", 2029 | ] 2030 | 2031 | [[package]] 2032 | name = "rand" 2033 | version = "0.8.5" 2034 | source = "registry+https://github.com/rust-lang/crates.io-index" 2035 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2036 | dependencies = [ 2037 | "rand_core", 2038 | ] 2039 | 2040 | [[package]] 2041 | name = "rand_core" 2042 | version = "0.6.4" 2043 | source = "registry+https://github.com/rust-lang/crates.io-index" 2044 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2045 | 2046 | [[package]] 2047 | name = "redox_syscall" 2048 | version = "0.2.16" 2049 | source = "registry+https://github.com/rust-lang/crates.io-index" 2050 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 2051 | dependencies = [ 2052 | "bitflags 1.3.2", 2053 | ] 2054 | 2055 | [[package]] 2056 | name = "redox_syscall" 2057 | version = "0.3.5" 2058 | source = "registry+https://github.com/rust-lang/crates.io-index" 2059 | checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" 2060 | dependencies = [ 2061 | "bitflags 1.3.2", 2062 | ] 2063 | 2064 | [[package]] 2065 | name = "redox_users" 2066 | version = "0.4.3" 2067 | source = "registry+https://github.com/rust-lang/crates.io-index" 2068 | checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" 2069 | dependencies = [ 2070 | "getrandom", 2071 | "redox_syscall 0.2.16", 2072 | "thiserror", 2073 | ] 2074 | 2075 | [[package]] 2076 | name = "regex" 2077 | version = "1.9.6" 2078 | source = "registry+https://github.com/rust-lang/crates.io-index" 2079 | checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" 2080 | dependencies = [ 2081 | "aho-corasick", 2082 | "memchr", 2083 | "regex-automata", 2084 | "regex-syntax", 2085 | ] 2086 | 2087 | [[package]] 2088 | name = "regex-automata" 2089 | version = "0.3.9" 2090 | source = "registry+https://github.com/rust-lang/crates.io-index" 2091 | checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" 2092 | dependencies = [ 2093 | "aho-corasick", 2094 | "memchr", 2095 | "regex-syntax", 2096 | ] 2097 | 2098 | [[package]] 2099 | name = "regex-syntax" 2100 | version = "0.7.5" 2101 | source = "registry+https://github.com/rust-lang/crates.io-index" 2102 | checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" 2103 | 2104 | [[package]] 2105 | name = "rmp" 2106 | version = "0.8.12" 2107 | source = "registry+https://github.com/rust-lang/crates.io-index" 2108 | checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20" 2109 | dependencies = [ 2110 | "byteorder", 2111 | "num-traits", 2112 | "paste", 2113 | ] 2114 | 2115 | [[package]] 2116 | name = "rmp-serde" 2117 | version = "1.1.2" 2118 | source = "registry+https://github.com/rust-lang/crates.io-index" 2119 | checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a" 2120 | dependencies = [ 2121 | "byteorder", 2122 | "rmp", 2123 | "serde", 2124 | ] 2125 | 2126 | [[package]] 2127 | name = "rustc-demangle" 2128 | version = "0.1.23" 2129 | source = "registry+https://github.com/rust-lang/crates.io-index" 2130 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 2131 | 2132 | [[package]] 2133 | name = "rustc_version" 2134 | version = "0.4.0" 2135 | source = "registry+https://github.com/rust-lang/crates.io-index" 2136 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 2137 | dependencies = [ 2138 | "semver 1.0.19", 2139 | ] 2140 | 2141 | [[package]] 2142 | name = "rustix" 2143 | version = "0.37.24" 2144 | source = "registry+https://github.com/rust-lang/crates.io-index" 2145 | checksum = "4279d76516df406a8bd37e7dff53fd37d1a093f997a3c34a5c21658c126db06d" 2146 | dependencies = [ 2147 | "bitflags 1.3.2", 2148 | "errno", 2149 | "io-lifetimes", 2150 | "libc", 2151 | "linux-raw-sys 0.3.8", 2152 | "windows-sys", 2153 | ] 2154 | 2155 | [[package]] 2156 | name = "rustix" 2157 | version = "0.38.15" 2158 | source = "registry+https://github.com/rust-lang/crates.io-index" 2159 | checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531" 2160 | dependencies = [ 2161 | "bitflags 2.6.0", 2162 | "errno", 2163 | "libc", 2164 | "linux-raw-sys 0.4.8", 2165 | "windows-sys", 2166 | ] 2167 | 2168 | [[package]] 2169 | name = "ryu" 2170 | version = "1.0.15" 2171 | source = "registry+https://github.com/rust-lang/crates.io-index" 2172 | checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 2173 | 2174 | [[package]] 2175 | name = "same-file" 2176 | version = "1.0.6" 2177 | source = "registry+https://github.com/rust-lang/crates.io-index" 2178 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 2179 | dependencies = [ 2180 | "winapi-util", 2181 | ] 2182 | 2183 | [[package]] 2184 | name = "schannel" 2185 | version = "0.1.22" 2186 | source = "registry+https://github.com/rust-lang/crates.io-index" 2187 | checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" 2188 | dependencies = [ 2189 | "windows-sys", 2190 | ] 2191 | 2192 | [[package]] 2193 | name = "scopeguard" 2194 | version = "1.2.0" 2195 | source = "registry+https://github.com/rust-lang/crates.io-index" 2196 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 2197 | 2198 | [[package]] 2199 | name = "semver" 2200 | version = "0.11.0" 2201 | source = "registry+https://github.com/rust-lang/crates.io-index" 2202 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" 2203 | dependencies = [ 2204 | "semver-parser", 2205 | ] 2206 | 2207 | [[package]] 2208 | name = "semver" 2209 | version = "1.0.19" 2210 | source = "registry+https://github.com/rust-lang/crates.io-index" 2211 | checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" 2212 | 2213 | [[package]] 2214 | name = "semver-parser" 2215 | version = "0.10.2" 2216 | source = "registry+https://github.com/rust-lang/crates.io-index" 2217 | checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" 2218 | dependencies = [ 2219 | "pest", 2220 | ] 2221 | 2222 | [[package]] 2223 | name = "serde" 2224 | version = "1.0.188" 2225 | source = "registry+https://github.com/rust-lang/crates.io-index" 2226 | checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 2227 | dependencies = [ 2228 | "serde_derive", 2229 | ] 2230 | 2231 | [[package]] 2232 | name = "serde-value" 2233 | version = "0.7.0" 2234 | source = "registry+https://github.com/rust-lang/crates.io-index" 2235 | checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" 2236 | dependencies = [ 2237 | "ordered-float 2.10.0", 2238 | "serde", 2239 | ] 2240 | 2241 | [[package]] 2242 | name = "serde_derive" 2243 | version = "1.0.188" 2244 | source = "registry+https://github.com/rust-lang/crates.io-index" 2245 | checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 2246 | dependencies = [ 2247 | "proc-macro2", 2248 | "quote", 2249 | "syn 2.0.37", 2250 | ] 2251 | 2252 | [[package]] 2253 | name = "serde_json" 2254 | version = "1.0.107" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" 2257 | dependencies = [ 2258 | "itoa", 2259 | "ryu", 2260 | "serde", 2261 | ] 2262 | 2263 | [[package]] 2264 | name = "serde_yaml" 2265 | version = "0.8.26" 2266 | source = "registry+https://github.com/rust-lang/crates.io-index" 2267 | checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" 2268 | dependencies = [ 2269 | "indexmap 1.9.3", 2270 | "ryu", 2271 | "serde", 2272 | "yaml-rust", 2273 | ] 2274 | 2275 | [[package]] 2276 | name = "sha2" 2277 | version = "0.10.8" 2278 | source = "registry+https://github.com/rust-lang/crates.io-index" 2279 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 2280 | dependencies = [ 2281 | "cfg-if", 2282 | "cpufeatures", 2283 | "digest", 2284 | ] 2285 | 2286 | [[package]] 2287 | name = "shellexpand" 2288 | version = "3.1.0" 2289 | source = "registry+https://github.com/rust-lang/crates.io-index" 2290 | checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" 2291 | dependencies = [ 2292 | "dirs 5.0.1", 2293 | ] 2294 | 2295 | [[package]] 2296 | name = "signal-hook" 2297 | version = "0.3.17" 2298 | source = "registry+https://github.com/rust-lang/crates.io-index" 2299 | checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" 2300 | dependencies = [ 2301 | "libc", 2302 | "signal-hook-registry", 2303 | ] 2304 | 2305 | [[package]] 2306 | name = "signal-hook-registry" 2307 | version = "1.4.1" 2308 | source = "registry+https://github.com/rust-lang/crates.io-index" 2309 | checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" 2310 | dependencies = [ 2311 | "libc", 2312 | ] 2313 | 2314 | [[package]] 2315 | name = "siphasher" 2316 | version = "0.3.11" 2317 | source = "registry+https://github.com/rust-lang/crates.io-index" 2318 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 2319 | 2320 | [[package]] 2321 | name = "slab" 2322 | version = "0.4.9" 2323 | source = "registry+https://github.com/rust-lang/crates.io-index" 2324 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2325 | dependencies = [ 2326 | "autocfg", 2327 | ] 2328 | 2329 | [[package]] 2330 | name = "sluice" 2331 | version = "0.5.5" 2332 | source = "registry+https://github.com/rust-lang/crates.io-index" 2333 | checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5" 2334 | dependencies = [ 2335 | "async-channel", 2336 | "futures-core", 2337 | "futures-io", 2338 | ] 2339 | 2340 | [[package]] 2341 | name = "smallvec" 2342 | version = "1.11.1" 2343 | source = "registry+https://github.com/rust-lang/crates.io-index" 2344 | checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" 2345 | 2346 | [[package]] 2347 | name = "smawk" 2348 | version = "0.3.2" 2349 | source = "registry+https://github.com/rust-lang/crates.io-index" 2350 | checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" 2351 | 2352 | [[package]] 2353 | name = "socket2" 2354 | version = "0.4.9" 2355 | source = "registry+https://github.com/rust-lang/crates.io-index" 2356 | checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" 2357 | dependencies = [ 2358 | "libc", 2359 | "winapi", 2360 | ] 2361 | 2362 | [[package]] 2363 | name = "spinning" 2364 | version = "0.1.0" 2365 | source = "registry+https://github.com/rust-lang/crates.io-index" 2366 | checksum = "2d4f0e86297cad2658d92a707320d87bf4e6ae1050287f51d19b67ef3f153a7b" 2367 | dependencies = [ 2368 | "lock_api", 2369 | ] 2370 | 2371 | [[package]] 2372 | name = "strip-ansi-escapes" 2373 | version = "0.1.1" 2374 | source = "registry+https://github.com/rust-lang/crates.io-index" 2375 | checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8" 2376 | dependencies = [ 2377 | "vte 0.10.1", 2378 | ] 2379 | 2380 | [[package]] 2381 | name = "strsim" 2382 | version = "0.10.0" 2383 | source = "registry+https://github.com/rust-lang/crates.io-index" 2384 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 2385 | 2386 | [[package]] 2387 | name = "strum" 2388 | version = "0.20.0" 2389 | source = "registry+https://github.com/rust-lang/crates.io-index" 2390 | checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" 2391 | 2392 | [[package]] 2393 | name = "strum_macros" 2394 | version = "0.20.1" 2395 | source = "registry+https://github.com/rust-lang/crates.io-index" 2396 | checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" 2397 | dependencies = [ 2398 | "heck 0.3.3", 2399 | "proc-macro2", 2400 | "quote", 2401 | "syn 1.0.109", 2402 | ] 2403 | 2404 | [[package]] 2405 | name = "supports-color" 2406 | version = "2.1.0" 2407 | source = "registry+https://github.com/rust-lang/crates.io-index" 2408 | checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" 2409 | dependencies = [ 2410 | "is-terminal", 2411 | "is_ci", 2412 | ] 2413 | 2414 | [[package]] 2415 | name = "supports-hyperlinks" 2416 | version = "2.1.0" 2417 | source = "registry+https://github.com/rust-lang/crates.io-index" 2418 | checksum = "f84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233d" 2419 | dependencies = [ 2420 | "is-terminal", 2421 | ] 2422 | 2423 | [[package]] 2424 | name = "supports-unicode" 2425 | version = "2.0.0" 2426 | source = "registry+https://github.com/rust-lang/crates.io-index" 2427 | checksum = "4b6c2cb240ab5dd21ed4906895ee23fe5a48acdbd15a3ce388e7b62a9b66baf7" 2428 | dependencies = [ 2429 | "is-terminal", 2430 | ] 2431 | 2432 | [[package]] 2433 | name = "syn" 2434 | version = "1.0.109" 2435 | source = "registry+https://github.com/rust-lang/crates.io-index" 2436 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2437 | dependencies = [ 2438 | "proc-macro2", 2439 | "quote", 2440 | "unicode-ident", 2441 | ] 2442 | 2443 | [[package]] 2444 | name = "syn" 2445 | version = "2.0.37" 2446 | source = "registry+https://github.com/rust-lang/crates.io-index" 2447 | checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" 2448 | dependencies = [ 2449 | "proc-macro2", 2450 | "quote", 2451 | "unicode-ident", 2452 | ] 2453 | 2454 | [[package]] 2455 | name = "tempfile" 2456 | version = "3.8.0" 2457 | source = "registry+https://github.com/rust-lang/crates.io-index" 2458 | checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" 2459 | dependencies = [ 2460 | "cfg-if", 2461 | "fastrand 2.0.1", 2462 | "redox_syscall 0.3.5", 2463 | "rustix 0.38.15", 2464 | "windows-sys", 2465 | ] 2466 | 2467 | [[package]] 2468 | name = "termcolor" 2469 | version = "1.3.0" 2470 | source = "registry+https://github.com/rust-lang/crates.io-index" 2471 | checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" 2472 | dependencies = [ 2473 | "winapi-util", 2474 | ] 2475 | 2476 | [[package]] 2477 | name = "terminal_size" 2478 | version = "0.1.17" 2479 | source = "registry+https://github.com/rust-lang/crates.io-index" 2480 | checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" 2481 | dependencies = [ 2482 | "libc", 2483 | "winapi", 2484 | ] 2485 | 2486 | [[package]] 2487 | name = "terminfo" 2488 | version = "0.8.0" 2489 | source = "registry+https://github.com/rust-lang/crates.io-index" 2490 | checksum = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f" 2491 | dependencies = [ 2492 | "dirs 4.0.0", 2493 | "fnv", 2494 | "nom", 2495 | "phf", 2496 | "phf_codegen", 2497 | ] 2498 | 2499 | [[package]] 2500 | name = "termios" 2501 | version = "0.3.3" 2502 | source = "registry+https://github.com/rust-lang/crates.io-index" 2503 | checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" 2504 | dependencies = [ 2505 | "libc", 2506 | ] 2507 | 2508 | [[package]] 2509 | name = "termwiz" 2510 | version = "0.22.0" 2511 | source = "registry+https://github.com/rust-lang/crates.io-index" 2512 | checksum = "5a75313e21da5d4406ea31402035b3b97aa74c04356bdfafa5d1043ab4e551d1" 2513 | dependencies = [ 2514 | "anyhow", 2515 | "base64", 2516 | "bitflags 2.6.0", 2517 | "fancy-regex", 2518 | "filedescriptor", 2519 | "finl_unicode", 2520 | "fixedbitset", 2521 | "hex", 2522 | "lazy_static", 2523 | "libc", 2524 | "log", 2525 | "memmem", 2526 | "nix 0.26.4", 2527 | "num-derive", 2528 | "num-traits", 2529 | "ordered-float 4.5.0", 2530 | "pest", 2531 | "pest_derive", 2532 | "phf", 2533 | "semver 0.11.0", 2534 | "sha2", 2535 | "signal-hook", 2536 | "siphasher", 2537 | "tempfile", 2538 | "terminfo", 2539 | "termios", 2540 | "thiserror", 2541 | "ucd-trie", 2542 | "unicode-segmentation", 2543 | "vtparse", 2544 | "wezterm-bidi", 2545 | "wezterm-blob-leases", 2546 | "wezterm-color-types", 2547 | "wezterm-dynamic 0.2.0", 2548 | "wezterm-input-types", 2549 | "winapi", 2550 | ] 2551 | 2552 | [[package]] 2553 | name = "textwrap" 2554 | version = "0.15.2" 2555 | source = "registry+https://github.com/rust-lang/crates.io-index" 2556 | checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" 2557 | dependencies = [ 2558 | "smawk", 2559 | "unicode-linebreak", 2560 | "unicode-width", 2561 | ] 2562 | 2563 | [[package]] 2564 | name = "textwrap" 2565 | version = "0.16.0" 2566 | source = "registry+https://github.com/rust-lang/crates.io-index" 2567 | checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" 2568 | 2569 | [[package]] 2570 | name = "thiserror" 2571 | version = "1.0.49" 2572 | source = "registry+https://github.com/rust-lang/crates.io-index" 2573 | checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" 2574 | dependencies = [ 2575 | "thiserror-impl", 2576 | ] 2577 | 2578 | [[package]] 2579 | name = "thiserror-impl" 2580 | version = "1.0.49" 2581 | source = "registry+https://github.com/rust-lang/crates.io-index" 2582 | checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" 2583 | dependencies = [ 2584 | "proc-macro2", 2585 | "quote", 2586 | "syn 2.0.37", 2587 | ] 2588 | 2589 | [[package]] 2590 | name = "thread-id" 2591 | version = "4.2.0" 2592 | source = "registry+https://github.com/rust-lang/crates.io-index" 2593 | checksum = "79474f573561cdc4871a0de34a51c92f7f5a56039113fbb5b9c9f96bdb756669" 2594 | dependencies = [ 2595 | "libc", 2596 | "redox_syscall 0.2.16", 2597 | "winapi", 2598 | ] 2599 | 2600 | [[package]] 2601 | name = "thread_local" 2602 | version = "1.1.7" 2603 | source = "registry+https://github.com/rust-lang/crates.io-index" 2604 | checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 2605 | dependencies = [ 2606 | "cfg-if", 2607 | "once_cell", 2608 | ] 2609 | 2610 | [[package]] 2611 | name = "tinyvec" 2612 | version = "1.6.0" 2613 | source = "registry+https://github.com/rust-lang/crates.io-index" 2614 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2615 | dependencies = [ 2616 | "tinyvec_macros", 2617 | ] 2618 | 2619 | [[package]] 2620 | name = "tinyvec_macros" 2621 | version = "0.1.1" 2622 | source = "registry+https://github.com/rust-lang/crates.io-index" 2623 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2624 | 2625 | [[package]] 2626 | name = "to_method" 2627 | version = "1.1.0" 2628 | source = "registry+https://github.com/rust-lang/crates.io-index" 2629 | checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" 2630 | 2631 | [[package]] 2632 | name = "tracing" 2633 | version = "0.1.37" 2634 | source = "registry+https://github.com/rust-lang/crates.io-index" 2635 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 2636 | dependencies = [ 2637 | "cfg-if", 2638 | "log", 2639 | "pin-project-lite", 2640 | "tracing-attributes", 2641 | "tracing-core", 2642 | ] 2643 | 2644 | [[package]] 2645 | name = "tracing-attributes" 2646 | version = "0.1.27" 2647 | source = "registry+https://github.com/rust-lang/crates.io-index" 2648 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 2649 | dependencies = [ 2650 | "proc-macro2", 2651 | "quote", 2652 | "syn 2.0.37", 2653 | ] 2654 | 2655 | [[package]] 2656 | name = "tracing-core" 2657 | version = "0.1.31" 2658 | source = "registry+https://github.com/rust-lang/crates.io-index" 2659 | checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 2660 | dependencies = [ 2661 | "once_cell", 2662 | ] 2663 | 2664 | [[package]] 2665 | name = "tracing-futures" 2666 | version = "0.2.5" 2667 | source = "registry+https://github.com/rust-lang/crates.io-index" 2668 | checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" 2669 | dependencies = [ 2670 | "pin-project", 2671 | "tracing", 2672 | ] 2673 | 2674 | [[package]] 2675 | name = "typemap-ors" 2676 | version = "1.0.0" 2677 | source = "registry+https://github.com/rust-lang/crates.io-index" 2678 | checksum = "a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867" 2679 | dependencies = [ 2680 | "unsafe-any-ors", 2681 | ] 2682 | 2683 | [[package]] 2684 | name = "typenum" 2685 | version = "1.17.0" 2686 | source = "registry+https://github.com/rust-lang/crates.io-index" 2687 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 2688 | 2689 | [[package]] 2690 | name = "ucd-trie" 2691 | version = "0.1.6" 2692 | source = "registry+https://github.com/rust-lang/crates.io-index" 2693 | checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" 2694 | 2695 | [[package]] 2696 | name = "unicode-bidi" 2697 | version = "0.3.13" 2698 | source = "registry+https://github.com/rust-lang/crates.io-index" 2699 | checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" 2700 | 2701 | [[package]] 2702 | name = "unicode-ident" 2703 | version = "1.0.12" 2704 | source = "registry+https://github.com/rust-lang/crates.io-index" 2705 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 2706 | 2707 | [[package]] 2708 | name = "unicode-linebreak" 2709 | version = "0.1.5" 2710 | source = "registry+https://github.com/rust-lang/crates.io-index" 2711 | checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" 2712 | 2713 | [[package]] 2714 | name = "unicode-normalization" 2715 | version = "0.1.22" 2716 | source = "registry+https://github.com/rust-lang/crates.io-index" 2717 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 2718 | dependencies = [ 2719 | "tinyvec", 2720 | ] 2721 | 2722 | [[package]] 2723 | name = "unicode-segmentation" 2724 | version = "1.10.1" 2725 | source = "registry+https://github.com/rust-lang/crates.io-index" 2726 | checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 2727 | 2728 | [[package]] 2729 | name = "unicode-width" 2730 | version = "0.1.11" 2731 | source = "registry+https://github.com/rust-lang/crates.io-index" 2732 | checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" 2733 | 2734 | [[package]] 2735 | name = "unsafe-any-ors" 2736 | version = "1.0.0" 2737 | source = "registry+https://github.com/rust-lang/crates.io-index" 2738 | checksum = "e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad" 2739 | dependencies = [ 2740 | "destructure_traitobject", 2741 | ] 2742 | 2743 | [[package]] 2744 | name = "url" 2745 | version = "2.4.1" 2746 | source = "registry+https://github.com/rust-lang/crates.io-index" 2747 | checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" 2748 | dependencies = [ 2749 | "form_urlencoded", 2750 | "idna", 2751 | "percent-encoding", 2752 | "serde", 2753 | ] 2754 | 2755 | [[package]] 2756 | name = "utf8parse" 2757 | version = "0.2.1" 2758 | source = "registry+https://github.com/rust-lang/crates.io-index" 2759 | checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" 2760 | 2761 | [[package]] 2762 | name = "uuid" 2763 | version = "1.5.0" 2764 | source = "registry+https://github.com/rust-lang/crates.io-index" 2765 | checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" 2766 | dependencies = [ 2767 | "atomic", 2768 | "getrandom", 2769 | "serde", 2770 | ] 2771 | 2772 | [[package]] 2773 | name = "value-bag" 2774 | version = "1.4.1" 2775 | source = "registry+https://github.com/rust-lang/crates.io-index" 2776 | checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3" 2777 | 2778 | [[package]] 2779 | name = "vcpkg" 2780 | version = "0.2.15" 2781 | source = "registry+https://github.com/rust-lang/crates.io-index" 2782 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 2783 | 2784 | [[package]] 2785 | name = "version_check" 2786 | version = "0.9.4" 2787 | source = "registry+https://github.com/rust-lang/crates.io-index" 2788 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2789 | 2790 | [[package]] 2791 | name = "vte" 2792 | version = "0.10.1" 2793 | source = "registry+https://github.com/rust-lang/crates.io-index" 2794 | checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983" 2795 | dependencies = [ 2796 | "arrayvec", 2797 | "utf8parse", 2798 | "vte_generate_state_changes", 2799 | ] 2800 | 2801 | [[package]] 2802 | name = "vte" 2803 | version = "0.11.1" 2804 | source = "registry+https://github.com/rust-lang/crates.io-index" 2805 | checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197" 2806 | dependencies = [ 2807 | "utf8parse", 2808 | "vte_generate_state_changes", 2809 | ] 2810 | 2811 | [[package]] 2812 | name = "vte_generate_state_changes" 2813 | version = "0.1.1" 2814 | source = "registry+https://github.com/rust-lang/crates.io-index" 2815 | checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff" 2816 | dependencies = [ 2817 | "proc-macro2", 2818 | "quote", 2819 | ] 2820 | 2821 | [[package]] 2822 | name = "vtparse" 2823 | version = "0.6.2" 2824 | source = "registry+https://github.com/rust-lang/crates.io-index" 2825 | checksum = "6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0" 2826 | dependencies = [ 2827 | "utf8parse", 2828 | ] 2829 | 2830 | [[package]] 2831 | name = "waker-fn" 2832 | version = "1.1.1" 2833 | source = "registry+https://github.com/rust-lang/crates.io-index" 2834 | checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" 2835 | 2836 | [[package]] 2837 | name = "walkdir" 2838 | version = "2.4.0" 2839 | source = "registry+https://github.com/rust-lang/crates.io-index" 2840 | checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" 2841 | dependencies = [ 2842 | "same-file", 2843 | "winapi-util", 2844 | ] 2845 | 2846 | [[package]] 2847 | name = "wasi" 2848 | version = "0.11.0+wasi-snapshot-preview1" 2849 | source = "registry+https://github.com/rust-lang/crates.io-index" 2850 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2851 | 2852 | [[package]] 2853 | name = "wasm-bindgen" 2854 | version = "0.2.87" 2855 | source = "registry+https://github.com/rust-lang/crates.io-index" 2856 | checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" 2857 | dependencies = [ 2858 | "cfg-if", 2859 | "wasm-bindgen-macro", 2860 | ] 2861 | 2862 | [[package]] 2863 | name = "wasm-bindgen-backend" 2864 | version = "0.2.87" 2865 | source = "registry+https://github.com/rust-lang/crates.io-index" 2866 | checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" 2867 | dependencies = [ 2868 | "bumpalo", 2869 | "log", 2870 | "once_cell", 2871 | "proc-macro2", 2872 | "quote", 2873 | "syn 2.0.37", 2874 | "wasm-bindgen-shared", 2875 | ] 2876 | 2877 | [[package]] 2878 | name = "wasm-bindgen-futures" 2879 | version = "0.4.37" 2880 | source = "registry+https://github.com/rust-lang/crates.io-index" 2881 | checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" 2882 | dependencies = [ 2883 | "cfg-if", 2884 | "js-sys", 2885 | "wasm-bindgen", 2886 | "web-sys", 2887 | ] 2888 | 2889 | [[package]] 2890 | name = "wasm-bindgen-macro" 2891 | version = "0.2.87" 2892 | source = "registry+https://github.com/rust-lang/crates.io-index" 2893 | checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" 2894 | dependencies = [ 2895 | "quote", 2896 | "wasm-bindgen-macro-support", 2897 | ] 2898 | 2899 | [[package]] 2900 | name = "wasm-bindgen-macro-support" 2901 | version = "0.2.87" 2902 | source = "registry+https://github.com/rust-lang/crates.io-index" 2903 | checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" 2904 | dependencies = [ 2905 | "proc-macro2", 2906 | "quote", 2907 | "syn 2.0.37", 2908 | "wasm-bindgen-backend", 2909 | "wasm-bindgen-shared", 2910 | ] 2911 | 2912 | [[package]] 2913 | name = "wasm-bindgen-shared" 2914 | version = "0.2.87" 2915 | source = "registry+https://github.com/rust-lang/crates.io-index" 2916 | checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" 2917 | 2918 | [[package]] 2919 | name = "web-sys" 2920 | version = "0.3.64" 2921 | source = "registry+https://github.com/rust-lang/crates.io-index" 2922 | checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" 2923 | dependencies = [ 2924 | "js-sys", 2925 | "wasm-bindgen", 2926 | ] 2927 | 2928 | [[package]] 2929 | name = "wezterm-bidi" 2930 | version = "0.2.2" 2931 | source = "registry+https://github.com/rust-lang/crates.io-index" 2932 | checksum = "1560382cf39b0fa92473eae4d5b3772f88c63202cbf5a72c35db72ba99e66c36" 2933 | dependencies = [ 2934 | "log", 2935 | "wezterm-dynamic 0.1.0", 2936 | ] 2937 | 2938 | [[package]] 2939 | name = "wezterm-blob-leases" 2940 | version = "0.1.0" 2941 | source = "registry+https://github.com/rust-lang/crates.io-index" 2942 | checksum = "8e5a5e0adf7eed68976410def849a4bdab6f6e9f6163f152de9cb89deea9e60b" 2943 | dependencies = [ 2944 | "getrandom", 2945 | "mac_address", 2946 | "once_cell", 2947 | "sha2", 2948 | "thiserror", 2949 | "uuid", 2950 | ] 2951 | 2952 | [[package]] 2953 | name = "wezterm-color-types" 2954 | version = "0.3.0" 2955 | source = "registry+https://github.com/rust-lang/crates.io-index" 2956 | checksum = "7de81ef35c9010270d63772bebef2f2d6d1f2d20a983d27505ac850b8c4b4296" 2957 | dependencies = [ 2958 | "csscolorparser", 2959 | "deltae", 2960 | "lazy_static", 2961 | "wezterm-dynamic 0.2.0", 2962 | ] 2963 | 2964 | [[package]] 2965 | name = "wezterm-dynamic" 2966 | version = "0.1.0" 2967 | source = "registry+https://github.com/rust-lang/crates.io-index" 2968 | checksum = "a75e78c0cc60a76de5d93f9dad05651105351e151b6446ab305514945d7588aa" 2969 | dependencies = [ 2970 | "log", 2971 | "ordered-float 3.9.1", 2972 | "strsim", 2973 | "thiserror", 2974 | "wezterm-dynamic-derive", 2975 | ] 2976 | 2977 | [[package]] 2978 | name = "wezterm-dynamic" 2979 | version = "0.2.0" 2980 | source = "registry+https://github.com/rust-lang/crates.io-index" 2981 | checksum = "dfb128bacfa86734e07681fb6068e34c144698e84ee022d6e009145d1abb77b5" 2982 | dependencies = [ 2983 | "log", 2984 | "ordered-float 4.5.0", 2985 | "strsim", 2986 | "thiserror", 2987 | "wezterm-dynamic-derive", 2988 | ] 2989 | 2990 | [[package]] 2991 | name = "wezterm-dynamic-derive" 2992 | version = "0.1.0" 2993 | source = "registry+https://github.com/rust-lang/crates.io-index" 2994 | checksum = "0c9f5ef318442d07b3d071f9f43ea40b80992f87faee14bb4d017b6991c307f0" 2995 | dependencies = [ 2996 | "proc-macro2", 2997 | "quote", 2998 | "syn 1.0.109", 2999 | ] 3000 | 3001 | [[package]] 3002 | name = "wezterm-input-types" 3003 | version = "0.1.0" 3004 | source = "registry+https://github.com/rust-lang/crates.io-index" 3005 | checksum = "7012add459f951456ec9d6c7e6fc340b1ce15d6fc9629f8c42853412c029e57e" 3006 | dependencies = [ 3007 | "bitflags 1.3.2", 3008 | "euclid", 3009 | "lazy_static", 3010 | "wezterm-dynamic 0.2.0", 3011 | ] 3012 | 3013 | [[package]] 3014 | name = "which" 3015 | version = "4.4.2" 3016 | source = "registry+https://github.com/rust-lang/crates.io-index" 3017 | checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" 3018 | dependencies = [ 3019 | "either", 3020 | "home", 3021 | "once_cell", 3022 | "rustix 0.38.15", 3023 | ] 3024 | 3025 | [[package]] 3026 | name = "winapi" 3027 | version = "0.3.9" 3028 | source = "registry+https://github.com/rust-lang/crates.io-index" 3029 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3030 | dependencies = [ 3031 | "winapi-i686-pc-windows-gnu", 3032 | "winapi-x86_64-pc-windows-gnu", 3033 | ] 3034 | 3035 | [[package]] 3036 | name = "winapi-i686-pc-windows-gnu" 3037 | version = "0.4.0" 3038 | source = "registry+https://github.com/rust-lang/crates.io-index" 3039 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3040 | 3041 | [[package]] 3042 | name = "winapi-util" 3043 | version = "0.1.6" 3044 | source = "registry+https://github.com/rust-lang/crates.io-index" 3045 | checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 3046 | dependencies = [ 3047 | "winapi", 3048 | ] 3049 | 3050 | [[package]] 3051 | name = "winapi-x86_64-pc-windows-gnu" 3052 | version = "0.4.0" 3053 | source = "registry+https://github.com/rust-lang/crates.io-index" 3054 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3055 | 3056 | [[package]] 3057 | name = "windows" 3058 | version = "0.48.0" 3059 | source = "registry+https://github.com/rust-lang/crates.io-index" 3060 | checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" 3061 | dependencies = [ 3062 | "windows-targets", 3063 | ] 3064 | 3065 | [[package]] 3066 | name = "windows-sys" 3067 | version = "0.48.0" 3068 | source = "registry+https://github.com/rust-lang/crates.io-index" 3069 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3070 | dependencies = [ 3071 | "windows-targets", 3072 | ] 3073 | 3074 | [[package]] 3075 | name = "windows-targets" 3076 | version = "0.48.5" 3077 | source = "registry+https://github.com/rust-lang/crates.io-index" 3078 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 3079 | dependencies = [ 3080 | "windows_aarch64_gnullvm", 3081 | "windows_aarch64_msvc", 3082 | "windows_i686_gnu", 3083 | "windows_i686_msvc", 3084 | "windows_x86_64_gnu", 3085 | "windows_x86_64_gnullvm", 3086 | "windows_x86_64_msvc", 3087 | ] 3088 | 3089 | [[package]] 3090 | name = "windows_aarch64_gnullvm" 3091 | version = "0.48.5" 3092 | source = "registry+https://github.com/rust-lang/crates.io-index" 3093 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 3094 | 3095 | [[package]] 3096 | name = "windows_aarch64_msvc" 3097 | version = "0.48.5" 3098 | source = "registry+https://github.com/rust-lang/crates.io-index" 3099 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 3100 | 3101 | [[package]] 3102 | name = "windows_i686_gnu" 3103 | version = "0.48.5" 3104 | source = "registry+https://github.com/rust-lang/crates.io-index" 3105 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 3106 | 3107 | [[package]] 3108 | name = "windows_i686_msvc" 3109 | version = "0.48.5" 3110 | source = "registry+https://github.com/rust-lang/crates.io-index" 3111 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 3112 | 3113 | [[package]] 3114 | name = "windows_x86_64_gnu" 3115 | version = "0.48.5" 3116 | source = "registry+https://github.com/rust-lang/crates.io-index" 3117 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 3118 | 3119 | [[package]] 3120 | name = "windows_x86_64_gnullvm" 3121 | version = "0.48.5" 3122 | source = "registry+https://github.com/rust-lang/crates.io-index" 3123 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 3124 | 3125 | [[package]] 3126 | name = "windows_x86_64_msvc" 3127 | version = "0.48.5" 3128 | source = "registry+https://github.com/rust-lang/crates.io-index" 3129 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 3130 | 3131 | [[package]] 3132 | name = "yaml-rust" 3133 | version = "0.4.5" 3134 | source = "registry+https://github.com/rust-lang/crates.io-index" 3135 | checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" 3136 | dependencies = [ 3137 | "linked-hash-map", 3138 | ] 3139 | 3140 | [[package]] 3141 | name = "zellij-tile" 3142 | version = "0.41.1" 3143 | source = "registry+https://github.com/rust-lang/crates.io-index" 3144 | checksum = "9c69ab086f62f2c34a5cc910fbb49ef1b381b1c886b2bff797362370e865a897" 3145 | dependencies = [ 3146 | "clap", 3147 | "serde", 3148 | "serde_json", 3149 | "strum", 3150 | "strum_macros", 3151 | "zellij-utils", 3152 | ] 3153 | 3154 | [[package]] 3155 | name = "zellij-utils" 3156 | version = "0.41.1" 3157 | source = "registry+https://github.com/rust-lang/crates.io-index" 3158 | checksum = "eaf2abb7df122509d0ac688e277a344acfb578e88cf5dc783ed0670d7cb8ba11" 3159 | dependencies = [ 3160 | "anyhow", 3161 | "async-channel", 3162 | "async-std", 3163 | "backtrace", 3164 | "bitflags 2.6.0", 3165 | "clap", 3166 | "clap_complete", 3167 | "colored", 3168 | "colorsys", 3169 | "common-path", 3170 | "crossbeam", 3171 | "curl-sys", 3172 | "directories", 3173 | "futures", 3174 | "humantime", 3175 | "include_dir", 3176 | "interprocess", 3177 | "isahc", 3178 | "kdl", 3179 | "lazy_static", 3180 | "libc", 3181 | "log", 3182 | "log4rs", 3183 | "miette", 3184 | "nix 0.23.2", 3185 | "notify-debouncer-full", 3186 | "once_cell", 3187 | "openssl-sys", 3188 | "percent-encoding", 3189 | "prost", 3190 | "prost-build", 3191 | "regex", 3192 | "rmp-serde", 3193 | "serde", 3194 | "serde_json", 3195 | "shellexpand", 3196 | "signal-hook", 3197 | "strip-ansi-escapes", 3198 | "strum", 3199 | "strum_macros", 3200 | "tempfile", 3201 | "termwiz", 3202 | "thiserror", 3203 | "unicode-width", 3204 | "url", 3205 | "uuid", 3206 | "vte 0.11.1", 3207 | ] 3208 | 3209 | [[package]] 3210 | name = "zellij-workspace" 3211 | version = "0.1.0" 3212 | dependencies = [ 3213 | "ansi_term", 3214 | "fuzzy-matcher", 3215 | "owo-colors", 3216 | "zellij-tile", 3217 | ] 3218 | --------------------------------------------------------------------------------