├── README.md ├── .gitignore ├── Cargo.toml ├── src ├── rpc.rs ├── xi_thread.rs └── main.rs └── Cargo.lock /README.md: -------------------------------------------------------------------------------- 1 | # druid-xi 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .idea 3 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "druid-xi" 3 | version = "0.1.0" 4 | authors = ["Phodal Huang "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | druid = { git = "https://github.com/linebender/druid.git"} 11 | druid-shell = { git = "https://github.com/linebender/druid.git"} 12 | 13 | serde = "1.0" 14 | serde_json = "1.0" 15 | 16 | log = "0.4.8" 17 | 18 | tracing-subscriber = "0.2.17" 19 | 20 | [dependencies.xi-core-lib] 21 | branch = "master" 22 | git = "https://github.com/xi-editor/xi-editor" 23 | 24 | [dependencies.xi-rpc] 25 | branch = "master" 26 | git = "https://github.com/xi-editor/xi-editor" 27 | 28 | [dependencies.xi-trace] 29 | branch = "master" 30 | git = "https://github.com/xi-editor/xi-editor" 31 | features = ["chrome_trace_event"] 32 | -------------------------------------------------------------------------------- /src/rpc.rs: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The xi-editor Authors. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //! Front-end side implementation of RPC protocol. 16 | use std::collections::BTreeMap; 17 | use std::sync::{Arc, Mutex}; 18 | use std::sync::mpsc::Receiver; 19 | use std::thread; 20 | 21 | use serde_json::Value; 22 | 23 | use crate::xi_thread::XiPeer; 24 | 25 | #[derive(Clone)] 26 | pub struct Core { 27 | state: Arc>, 28 | } 29 | 30 | struct CoreState { 31 | xi_peer: XiPeer, 32 | id: u64, 33 | pending: BTreeMap>, 34 | } 35 | 36 | trait Callback: Send { 37 | fn call(self: Box, result: &Value); 38 | } 39 | 40 | pub trait Handler { 41 | fn notification(&self, method: &str, params: &Value); 42 | } 43 | 44 | impl Callback for F { 45 | fn call(self: Box, result: &Value) { 46 | (*self)(result) 47 | } 48 | } 49 | 50 | impl Core { 51 | /// Sets up a new RPC connection, also starting a thread to receive 52 | /// responses. 53 | /// 54 | /// The handler is invoked for incoming RPC notifications. Note that 55 | /// it must be `Send` because it is called from a dedicated thread. 56 | pub fn new(xi_peer: XiPeer, rx: Receiver, handler: H) -> Core 57 | where H: Handler + Send + 'static 58 | { 59 | let state = CoreState { 60 | xi_peer, 61 | id: 0, 62 | pending: BTreeMap::new(), 63 | }; 64 | let core = Core { state: Arc::new(Mutex::new(state)) }; 65 | let rx_core_handle = core.clone(); 66 | thread::spawn(move || { 67 | while let Ok(msg) = rx.recv() { 68 | info!("Received message from xi: {:?}", msg); 69 | if let Value::String(ref method) = msg["method"] { 70 | handler.notification(&method, &msg["params"]); 71 | } else if let Some(id) = msg["id"].as_u64() { 72 | let mut state = rx_core_handle.state.lock().unwrap(); 73 | if let Some(callback) = state.pending.remove(&id) { 74 | callback.call(&msg["result"]); 75 | } else { 76 | info!("unexpected result") 77 | } 78 | } else { 79 | info!("got {:?} at rpc level", msg); 80 | } 81 | } 82 | }); 83 | core 84 | } 85 | 86 | pub fn send_notification(&self, method: &str, params: &Value) { 87 | let cmd = json!({ 88 | "method": method, 89 | "params": params, 90 | }); 91 | info!("NOTIFICATION {:?}", cmd.clone()); 92 | let state = self.state.lock().unwrap(); 93 | state.xi_peer.send_json(&cmd); 94 | } 95 | 96 | /// Calls the callback with the result (from a different thread). 97 | pub fn send_request(&mut self, method: &str, params: &Value, callback: F) 98 | where F: FnOnce(&Value) + Send + 'static 99 | { 100 | let mut state = self.state.lock().unwrap(); 101 | let id = state.id; 102 | let cmd = json!({ 103 | "method": method, 104 | "params": params, 105 | "id": id, 106 | }); 107 | info!("REQUEST {:?}", cmd.clone()); 108 | state.xi_peer.send_json(&cmd); 109 | state.pending.insert(id, Box::new(callback)); 110 | state.id += 1; 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /src/xi_thread.rs: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The xi-editor Authors. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //! Startup and communication with the xi core thread. 16 | use std::io::{self, BufRead, ErrorKind, Read, Write}; 17 | use std::sync::mpsc::{channel, Receiver, Sender}; 18 | use std::thread; 19 | #[allow(unused_imports)] 20 | use std::time::Duration; 21 | 22 | // Needed for semaphore, currently disabled 23 | //use winapi::um::synchapi::{CreateSemaphoreW, ReleaseSemaphore}; 24 | //use winapi::shared::ntdef::HANDLE; 25 | 26 | use serde_json::{self, Value}; 27 | 28 | use xi_core_lib::XiCore; 29 | use xi_rpc::RpcLoop; 30 | 31 | pub struct XiPeer { 32 | tx: Sender, 33 | } 34 | 35 | impl XiPeer { 36 | pub fn send(&self, s: String) { 37 | let _ = self.tx.send(s); 38 | } 39 | 40 | pub fn send_json(&self, v: &Value) { 41 | self.send(serde_json::to_string(v).unwrap()); 42 | } 43 | } 44 | 45 | pub fn start_xi_thread() -> (XiPeer, Receiver) { 46 | let (to_core_tx, to_core_rx) = channel(); 47 | let to_core_rx = ChanReader(to_core_rx); 48 | let (from_core_tx, from_core_rx) = channel(); 49 | let from_core_tx = ChanWriter { 50 | sender: from_core_tx, 51 | }; 52 | let mut state = XiCore::new(); 53 | let mut rpc_looper = RpcLoop::new(from_core_tx); 54 | thread::spawn(move || 55 | rpc_looper.mainloop(|| to_core_rx, &mut state) 56 | ); 57 | let peer = XiPeer { 58 | tx: to_core_tx, 59 | }; 60 | (peer, from_core_rx) 61 | } 62 | 63 | struct ChanReader(Receiver); 64 | 65 | impl Read for ChanReader { 66 | fn read(&mut self, _buf: &mut [u8]) -> io::Result { 67 | unreachable!("didn't expect xi-rpc to call read"); 68 | } 69 | } 70 | 71 | // Note: we don't properly implement BufRead, only the stylized call patterns 72 | // used by xi-rpc. 73 | impl BufRead for ChanReader { 74 | fn fill_buf(&mut self) -> io::Result<&[u8]> { 75 | unreachable!("didn't expect xi-rpc to call fill_buf"); 76 | } 77 | 78 | fn consume(&mut self, _amt: usize) { 79 | unreachable!("didn't expect xi-rpc to call consume"); 80 | } 81 | 82 | fn read_line(&mut self, buf: &mut String) -> io::Result { 83 | match self.0.recv() { 84 | Ok(s) => { 85 | buf.push_str(&s); 86 | Ok(s.len()) 87 | } 88 | Err(_) => { 89 | Ok(0) 90 | } 91 | } 92 | } 93 | } 94 | 95 | struct ChanWriter { 96 | sender: Sender, 97 | } 98 | 99 | impl Write for ChanWriter { 100 | fn write(&mut self, _buf: &[u8]) -> io::Result { 101 | unreachable!("didn't expect xi-rpc to call write"); 102 | } 103 | 104 | fn flush(&mut self) -> io::Result<()> { 105 | unreachable!("didn't expect xi-rpc to call flush"); 106 | } 107 | 108 | fn write_all(&mut self, buf: &[u8]) -> io::Result<()> { 109 | let json = serde_json::from_slice::(buf).unwrap(); 110 | //thread::sleep(Duration::from_secs(1)); 111 | self.sender.send(json).map_err(|_| 112 | io::Error::new(ErrorKind::BrokenPipe, "rpc rx thread lost") 113 | ) 114 | } 115 | } 116 | 117 | // We're not using the semaphore for now, but it might come in handy at 118 | // some point. 119 | /* 120 | pub struct Semaphore(HANDLE); 121 | unsafe impl Send for Semaphore {} 122 | 123 | impl Semaphore { 124 | fn new() -> Semaphore { 125 | unsafe { 126 | let handle = CreateSemaphoreW(null_mut(), 0, 0xffff, null_mut()); 127 | Semaphore(handle) 128 | } 129 | } 130 | 131 | // Note: this just leaks the semaphore, which is fine for this app, 132 | // but in general we'd want to use DuplicateHandle / CloseHandle 133 | fn clone(&self) -> Semaphore { 134 | Semaphore(self.0) 135 | } 136 | 137 | fn release(&self) { 138 | unsafe { 139 | let _ok = ReleaseSemaphore(self.0, 1, null_mut()); 140 | } 141 | } 142 | 143 | pub fn get_handle(&self) -> HANDLE { 144 | self.0 145 | } 146 | } 147 | */ 148 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #[macro_use] 2 | extern crate log; 3 | extern crate serde; 4 | #[macro_use] 5 | extern crate serde_json; 6 | 7 | use std::collections::HashMap; 8 | use std::rc::Weak; 9 | use std::sync::{Arc, Mutex}; 10 | 11 | use druid::{AppLauncher, Data, Lens, UnitPoint, WidgetExt, WindowDesc, AppDelegate, Target, Command, DelegateCtx, Handled, Selector}; 12 | use druid::widget::{Flex, Label, TextBox}; 13 | use druid::widget::prelude::*; 14 | use serde_json::Value; 15 | 16 | use crate::rpc::{Core, Handler}; 17 | use crate::xi_thread::start_xi_thread; 18 | use std::thread; 19 | 20 | pub mod xi_thread; 21 | pub mod rpc; 22 | 23 | 24 | const VERTICAL_WIDGET_SPACING: f64 = 20.0; 25 | const TEXT_BOX_WIDTH: f64 = 200.0; 26 | 27 | pub type Id = usize; 28 | 29 | #[derive(Clone, Data, Lens)] 30 | struct HelloState { 31 | name: String, 32 | } 33 | 34 | fn build_root_widget() -> impl Widget { 35 | // a label that will determine its text based on the current app data. 36 | let label = Label::new(|data: &HelloState, _env: &Env| { 37 | if data.name.is_empty() { 38 | "Hello anybody!?".to_string() 39 | } else { 40 | format!("Hello {}!", data.name) 41 | } 42 | }) 43 | .with_text_size(32.0); 44 | 45 | // a textbox that modifies `name`. 46 | let textbox = TextBox::new() 47 | .with_placeholder("Who are we greeting?") 48 | .with_text_size(18.0) 49 | .fix_width(TEXT_BOX_WIDTH) 50 | .lens(HelloState::name); 51 | 52 | // arrange the two widgets vertically, with some padding 53 | Flex::column() 54 | .with_child(label) 55 | .with_spacer(VERTICAL_WIDGET_SPACING) 56 | .with_child(textbox) 57 | .align_vertical(UnitPoint::CENTER) 58 | } 59 | 60 | type ViewId = String; 61 | 62 | /// The commands the EditView widget accepts through `poke`. 63 | pub enum EditViewCommands { 64 | ViewId(String), 65 | ApplyUpdate(Value), 66 | ScrollTo(usize), 67 | Core(Weak>), 68 | Undo, 69 | Redo, 70 | UpperCase, 71 | LowerCase, 72 | Transpose, 73 | AddCursorAbove, 74 | AddCursorBelow, 75 | SingleSelection, 76 | SelectAll, 77 | } 78 | 79 | 80 | #[derive(Clone, Data)] 81 | struct ViewState { 82 | id: Id, 83 | filename: Option, 84 | } 85 | 86 | #[derive(Clone)] 87 | struct AppState { 88 | focused: Option, 89 | views: HashMap, 90 | } 91 | 92 | impl AppState { 93 | fn new() -> AppState { 94 | AppState { 95 | focused: Default::default(), 96 | views: HashMap::new(), 97 | } 98 | } 99 | 100 | fn get_focused(&self) -> String { 101 | self.focused.clone().expect("no focused viewstate") 102 | } 103 | 104 | fn get_focused_viewstate(&mut self) -> &mut ViewState { 105 | let view_id = self.focused.clone().expect("no focused viewstate"); 106 | self.views.get_mut(&view_id).expect("Focused viewstate not found in views") 107 | } 108 | } 109 | 110 | #[derive(Clone)] 111 | struct App { 112 | core: Arc>, 113 | state: Arc>, 114 | } 115 | 116 | impl App { 117 | fn new(core: Core) -> App { 118 | App { 119 | core: Arc::new(Mutex::new(core)), 120 | state: Arc::new(Mutex::new(AppState::new())), 121 | } 122 | } 123 | 124 | fn send_notification(&self, method: &str, params: &Value) { 125 | self.get_core().send_notification(method, params); 126 | } 127 | 128 | fn send_view_cmd(&self, cmd: EditViewCommands) { 129 | let mut state = self.get_state(); 130 | let focused = state.get_focused_viewstate(); 131 | } 132 | } 133 | 134 | impl App { 135 | fn get_core(&self) -> std::sync::MutexGuard<'_, rpc::Core, > { 136 | self.core.lock().unwrap() 137 | } 138 | 139 | fn get_state(&self) -> std::sync::MutexGuard<'_, AppState, > { 140 | self.state.lock().unwrap() 141 | } 142 | } 143 | 144 | impl App { 145 | fn req_new_view(&self, filename: Option<&str>) { 146 | let mut params = json!({}); 147 | 148 | let filename = if filename.is_some() { 149 | params["file_path"] = json!(filename.unwrap()); 150 | Some(filename.unwrap().to_string()) 151 | } else { 152 | None 153 | }; 154 | 155 | let edit_view = 0; 156 | let core = Arc::downgrade(&self.core); 157 | let state = self.state.clone(); 158 | 159 | self.core.lock().unwrap() 160 | .send_request("new_view", ¶ms, 161 | move |value| { 162 | let view_id = value.clone().as_str().unwrap().to_string(); 163 | let mut state = state.lock().unwrap(); 164 | state.focused = Some(view_id.clone()); 165 | }, 166 | ); 167 | } 168 | 169 | fn handle_cmd(&self, method: &str, params: &Value) { 170 | match method { 171 | "update" => (), 172 | "scroll_to" => (), 173 | "available_themes" => (), // TODO 174 | "available_plugins" => (), // TODO 175 | "available_languages" => (), // TODO 176 | "config_changed" => (), // TODO 177 | "language_changed" => (), // TODO 178 | _ => println!("unhandled core->fe method {}", method), 179 | } 180 | } 181 | } 182 | 183 | #[derive(Clone)] 184 | struct AppDispatcher { 185 | app: Arc>>, 186 | } 187 | 188 | impl AppDispatcher { 189 | fn new() -> AppDispatcher { 190 | AppDispatcher { 191 | app: Default::default(), 192 | } 193 | } 194 | 195 | fn set_app(&self, app: &App) { 196 | *self.app.lock().unwrap() = Some(app.clone()); 197 | } 198 | 199 | fn set_menu_listeners(&self) { 200 | let app = self.app.clone(); 201 | } 202 | } 203 | 204 | 205 | impl Handler for AppDispatcher { 206 | fn notification(&self, method: &str, params: &Value) { 207 | if let Some(ref app) = *self.app.lock().unwrap() { 208 | app.handle_cmd(method, params); 209 | } 210 | } 211 | } 212 | 213 | #[derive(Debug, Default)] 214 | pub struct Delegate; 215 | 216 | impl AppDelegate for Delegate { 217 | fn command(&mut self, ctx: &mut DelegateCtx, target: Target, cmd: &Command, data: &mut ViewState, env: &Env) -> Handled { 218 | Handled::Yes 219 | } 220 | } 221 | 222 | pub fn main() { 223 | setup_log(); 224 | 225 | let (xi_peer, rx) = start_xi_thread(); 226 | 227 | let main_window = WindowDesc::new(build_root_widget()) 228 | .title("Hello World!") 229 | .window_size((400.0, 400.0)); 230 | 231 | let initial_state: HelloState = HelloState { 232 | name: "World".into(), 233 | }; 234 | 235 | let handler = AppDispatcher::new(); 236 | handler.set_menu_listeners(); 237 | 238 | let core = Core::new(xi_peer, rx, handler.clone()); 239 | let app = App::new(core); 240 | 241 | let launcher = AppLauncher::with_window(main_window); 242 | let handler = launcher.get_external_handle(); 243 | 244 | app.send_notification("client_started", &json!({})); 245 | app.req_new_view(None); 246 | app.send_notification("set_theme", &json!({ "theme_name": "InspiredGitHub" })); 247 | 248 | let _thread = thread::spawn(move || { 249 | handler 250 | .submit_command(Selector::<()>::new("Test"), Box::new(()), Target::Auto) 251 | .expect("Failed to send command"); 252 | }); 253 | 254 | launcher 255 | .launch(initial_state) 256 | .expect("Failed to launch application"); 257 | } 258 | 259 | fn setup_log() { 260 | use tracing_subscriber::prelude::*; 261 | let filter_layer = tracing_subscriber::filter::LevelFilter::DEBUG; 262 | let fmt_layer = tracing_subscriber::fmt::layer() 263 | // Display target (eg "my_crate::some_mod::submod") with logs 264 | .with_target(true); 265 | 266 | tracing_subscriber::registry() 267 | .with(filter_layer) 268 | .with(fmt_layer) 269 | .init(); 270 | } 271 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "adler" 5 | version = "1.0.2" 6 | source = "registry+https://github.com/rust-lang/crates.io-index" 7 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 8 | 9 | [[package]] 10 | name = "aho-corasick" 11 | version = "0.7.15" 12 | source = "registry+https://github.com/rust-lang/crates.io-index" 13 | checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5" 14 | dependencies = [ 15 | "memchr", 16 | ] 17 | 18 | [[package]] 19 | name = "ansi_term" 20 | version = "0.12.1" 21 | source = "registry+https://github.com/rust-lang/crates.io-index" 22 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 23 | dependencies = [ 24 | "winapi 0.3.9", 25 | ] 26 | 27 | [[package]] 28 | name = "anyhow" 29 | version = "1.0.40" 30 | source = "registry+https://github.com/rust-lang/crates.io-index" 31 | checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b" 32 | 33 | [[package]] 34 | name = "anymap" 35 | version = "0.12.1" 36 | source = "registry+https://github.com/rust-lang/crates.io-index" 37 | checksum = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" 38 | 39 | [[package]] 40 | name = "arrayvec" 41 | version = "0.5.2" 42 | source = "registry+https://github.com/rust-lang/crates.io-index" 43 | checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" 44 | 45 | [[package]] 46 | name = "associative-cache" 47 | version = "1.0.1" 48 | source = "registry+https://github.com/rust-lang/crates.io-index" 49 | checksum = "46016233fc1bb55c23b856fe556b7db6ccd05119a0a392e04f0b3b7c79058f16" 50 | 51 | [[package]] 52 | name = "atk" 53 | version = "0.9.0" 54 | source = "registry+https://github.com/rust-lang/crates.io-index" 55 | checksum = "812b4911e210bd51b24596244523c856ca749e6223c50a7fbbba3f89ee37c426" 56 | dependencies = [ 57 | "atk-sys", 58 | "bitflags", 59 | "glib", 60 | "glib-sys", 61 | "gobject-sys", 62 | "libc", 63 | ] 64 | 65 | [[package]] 66 | name = "atk-sys" 67 | version = "0.10.0" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "f530e4af131d94cc4fa15c5c9d0348f0ef28bac64ba660b6b2a1cf2605dedfce" 70 | dependencies = [ 71 | "glib-sys", 72 | "gobject-sys", 73 | "libc", 74 | "system-deps", 75 | ] 76 | 77 | [[package]] 78 | name = "autocfg" 79 | version = "1.0.1" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" 82 | 83 | [[package]] 84 | name = "base-x" 85 | version = "0.2.8" 86 | source = "registry+https://github.com/rust-lang/crates.io-index" 87 | checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" 88 | 89 | [[package]] 90 | name = "base64" 91 | version = "0.10.1" 92 | source = "registry+https://github.com/rust-lang/crates.io-index" 93 | checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" 94 | dependencies = [ 95 | "byteorder", 96 | ] 97 | 98 | [[package]] 99 | name = "bincode" 100 | version = "1.3.3" 101 | source = "registry+https://github.com/rust-lang/crates.io-index" 102 | checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" 103 | dependencies = [ 104 | "serde", 105 | ] 106 | 107 | [[package]] 108 | name = "bitflags" 109 | version = "1.2.1" 110 | source = "registry+https://github.com/rust-lang/crates.io-index" 111 | checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" 112 | 113 | [[package]] 114 | name = "block" 115 | version = "0.1.6" 116 | source = "registry+https://github.com/rust-lang/crates.io-index" 117 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 118 | 119 | [[package]] 120 | name = "block-buffer" 121 | version = "0.7.3" 122 | source = "registry+https://github.com/rust-lang/crates.io-index" 123 | checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" 124 | dependencies = [ 125 | "block-padding", 126 | "byte-tools", 127 | "byteorder", 128 | "generic-array", 129 | ] 130 | 131 | [[package]] 132 | name = "block-padding" 133 | version = "0.1.5" 134 | source = "registry+https://github.com/rust-lang/crates.io-index" 135 | checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" 136 | dependencies = [ 137 | "byte-tools", 138 | ] 139 | 140 | [[package]] 141 | name = "bumpalo" 142 | version = "3.6.1" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe" 145 | 146 | [[package]] 147 | name = "byte-tools" 148 | version = "0.3.1" 149 | source = "registry+https://github.com/rust-lang/crates.io-index" 150 | checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" 151 | 152 | [[package]] 153 | name = "bytecount" 154 | version = "0.6.2" 155 | source = "registry+https://github.com/rust-lang/crates.io-index" 156 | checksum = "72feb31ffc86498dacdbd0fcebb56138e7177a8cc5cea4516031d15ae85a742e" 157 | 158 | [[package]] 159 | name = "byteorder" 160 | version = "1.4.3" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 163 | 164 | [[package]] 165 | name = "cairo-rs" 166 | version = "0.9.1" 167 | source = "registry+https://github.com/rust-lang/crates.io-index" 168 | checksum = "c5c0f2e047e8ca53d0ff249c54ae047931d7a6ebe05d00af73e0ffeb6e34bdb8" 169 | dependencies = [ 170 | "bitflags", 171 | "cairo-sys-rs", 172 | "glib", 173 | "glib-sys", 174 | "gobject-sys", 175 | "libc", 176 | "thiserror", 177 | ] 178 | 179 | [[package]] 180 | name = "cairo-sys-rs" 181 | version = "0.10.0" 182 | source = "registry+https://github.com/rust-lang/crates.io-index" 183 | checksum = "2ed2639b9ad5f1d6efa76de95558e11339e7318426d84ac4890b86c03e828ca7" 184 | dependencies = [ 185 | "glib-sys", 186 | "libc", 187 | "system-deps", 188 | ] 189 | 190 | [[package]] 191 | name = "cc" 192 | version = "1.0.67" 193 | source = "registry+https://github.com/rust-lang/crates.io-index" 194 | checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" 195 | 196 | [[package]] 197 | name = "cfg-if" 198 | version = "0.1.10" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" 201 | 202 | [[package]] 203 | name = "cfg-if" 204 | version = "1.0.0" 205 | source = "registry+https://github.com/rust-lang/crates.io-index" 206 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 207 | 208 | [[package]] 209 | name = "chashmap" 210 | version = "2.2.2" 211 | source = "registry+https://github.com/rust-lang/crates.io-index" 212 | checksum = "ff41a3c2c1e39921b9003de14bf0439c7b63a9039637c291e1a64925d8ddfa45" 213 | dependencies = [ 214 | "owning_ref", 215 | "parking_lot", 216 | ] 217 | 218 | [[package]] 219 | name = "chrono" 220 | version = "0.4.19" 221 | source = "registry+https://github.com/rust-lang/crates.io-index" 222 | checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" 223 | dependencies = [ 224 | "libc", 225 | "num-integer", 226 | "num-traits", 227 | "winapi 0.3.9", 228 | ] 229 | 230 | [[package]] 231 | name = "cocoa" 232 | version = "0.24.0" 233 | source = "registry+https://github.com/rust-lang/crates.io-index" 234 | checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832" 235 | dependencies = [ 236 | "bitflags", 237 | "block", 238 | "cocoa-foundation", 239 | "core-foundation", 240 | "core-graphics", 241 | "foreign-types", 242 | "libc", 243 | "objc", 244 | ] 245 | 246 | [[package]] 247 | name = "cocoa-foundation" 248 | version = "0.1.0" 249 | source = "registry+https://github.com/rust-lang/crates.io-index" 250 | checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" 251 | dependencies = [ 252 | "bitflags", 253 | "block", 254 | "core-foundation", 255 | "core-graphics-types", 256 | "foreign-types", 257 | "libc", 258 | "objc", 259 | ] 260 | 261 | [[package]] 262 | name = "console_error_panic_hook" 263 | version = "0.1.6" 264 | source = "registry+https://github.com/rust-lang/crates.io-index" 265 | checksum = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211" 266 | dependencies = [ 267 | "cfg-if 0.1.10", 268 | "wasm-bindgen", 269 | ] 270 | 271 | [[package]] 272 | name = "const_fn" 273 | version = "0.4.7" 274 | source = "registry+https://github.com/rust-lang/crates.io-index" 275 | checksum = "402da840495de3f976eaefc3485b7f5eb5b0bf9761f9a47be27fe975b3b8c2ec" 276 | 277 | [[package]] 278 | name = "core-foundation" 279 | version = "0.9.1" 280 | source = "registry+https://github.com/rust-lang/crates.io-index" 281 | checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" 282 | dependencies = [ 283 | "core-foundation-sys", 284 | "libc", 285 | ] 286 | 287 | [[package]] 288 | name = "core-foundation-sys" 289 | version = "0.8.2" 290 | source = "registry+https://github.com/rust-lang/crates.io-index" 291 | checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" 292 | 293 | [[package]] 294 | name = "core-graphics" 295 | version = "0.22.2" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "269f35f69b542b80e736a20a89a05215c0ce80c2c03c514abb2e318b78379d86" 298 | dependencies = [ 299 | "bitflags", 300 | "core-foundation", 301 | "core-graphics-types", 302 | "foreign-types", 303 | "libc", 304 | ] 305 | 306 | [[package]] 307 | name = "core-graphics-types" 308 | version = "0.1.1" 309 | source = "registry+https://github.com/rust-lang/crates.io-index" 310 | checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" 311 | dependencies = [ 312 | "bitflags", 313 | "core-foundation", 314 | "foreign-types", 315 | "libc", 316 | ] 317 | 318 | [[package]] 319 | name = "core-text" 320 | version = "19.2.0" 321 | source = "registry+https://github.com/rust-lang/crates.io-index" 322 | checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25" 323 | dependencies = [ 324 | "core-foundation", 325 | "core-graphics", 326 | "foreign-types", 327 | "libc", 328 | ] 329 | 330 | [[package]] 331 | name = "crc32fast" 332 | version = "1.2.1" 333 | source = "registry+https://github.com/rust-lang/crates.io-index" 334 | checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" 335 | dependencies = [ 336 | "cfg-if 1.0.0", 337 | ] 338 | 339 | [[package]] 340 | name = "crossbeam-channel" 341 | version = "0.3.9" 342 | source = "registry+https://github.com/rust-lang/crates.io-index" 343 | checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" 344 | dependencies = [ 345 | "crossbeam-utils 0.6.6", 346 | ] 347 | 348 | [[package]] 349 | name = "crossbeam-utils" 350 | version = "0.6.6" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" 353 | dependencies = [ 354 | "cfg-if 0.1.10", 355 | "lazy_static", 356 | ] 357 | 358 | [[package]] 359 | name = "crossbeam-utils" 360 | version = "0.7.2" 361 | source = "registry+https://github.com/rust-lang/crates.io-index" 362 | checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" 363 | dependencies = [ 364 | "autocfg", 365 | "cfg-if 0.1.10", 366 | "lazy_static", 367 | ] 368 | 369 | [[package]] 370 | name = "digest" 371 | version = "0.8.1" 372 | source = "registry+https://github.com/rust-lang/crates.io-index" 373 | checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" 374 | dependencies = [ 375 | "generic-array", 376 | ] 377 | 378 | [[package]] 379 | name = "discard" 380 | version = "1.0.4" 381 | source = "registry+https://github.com/rust-lang/crates.io-index" 382 | checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" 383 | 384 | [[package]] 385 | name = "druid" 386 | version = "0.7.0" 387 | source = "git+https://github.com/linebender/druid.git#8f19efc47c07edba1336d9ed732a1d432efc7680" 388 | dependencies = [ 389 | "console_error_panic_hook", 390 | "druid-derive", 391 | "druid-shell", 392 | "fluent-bundle", 393 | "fluent-langneg", 394 | "fluent-syntax", 395 | "fnv", 396 | "instant", 397 | "tracing", 398 | "tracing-subscriber", 399 | "tracing-wasm", 400 | "unic-langid", 401 | "unicode-segmentation", 402 | "xi-unicode 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 403 | ] 404 | 405 | [[package]] 406 | name = "druid-derive" 407 | version = "0.4.0" 408 | source = "git+https://github.com/linebender/druid.git#8f19efc47c07edba1336d9ed732a1d432efc7680" 409 | dependencies = [ 410 | "proc-macro2", 411 | "quote", 412 | "syn", 413 | ] 414 | 415 | [[package]] 416 | name = "druid-shell" 417 | version = "0.7.0" 418 | source = "git+https://github.com/linebender/druid.git#8f19efc47c07edba1336d9ed732a1d432efc7680" 419 | dependencies = [ 420 | "anyhow", 421 | "bitflags", 422 | "block", 423 | "cairo-rs", 424 | "cfg-if 1.0.0", 425 | "cocoa", 426 | "core-graphics", 427 | "foreign-types", 428 | "gdk", 429 | "gdk-pixbuf", 430 | "gdk-sys", 431 | "gio", 432 | "glib", 433 | "glib-sys", 434 | "gtk", 435 | "gtk-sys", 436 | "instant", 437 | "js-sys", 438 | "keyboard-types", 439 | "kurbo", 440 | "lazy_static", 441 | "objc", 442 | "piet-common", 443 | "scopeguard", 444 | "time 0.2.26", 445 | "tracing", 446 | "wasm-bindgen", 447 | "web-sys", 448 | "winapi 0.3.9", 449 | "wio", 450 | ] 451 | 452 | [[package]] 453 | name = "druid-xi" 454 | version = "0.1.0" 455 | dependencies = [ 456 | "druid", 457 | "druid-shell", 458 | "log", 459 | "serde", 460 | "serde_json", 461 | "tracing-subscriber", 462 | "xi-core-lib", 463 | "xi-rpc", 464 | "xi-trace", 465 | ] 466 | 467 | [[package]] 468 | name = "dwrote" 469 | version = "0.11.0" 470 | source = "registry+https://github.com/rust-lang/crates.io-index" 471 | checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b" 472 | dependencies = [ 473 | "lazy_static", 474 | "libc", 475 | "winapi 0.3.9", 476 | "wio", 477 | ] 478 | 479 | [[package]] 480 | name = "either" 481 | version = "1.6.1" 482 | source = "registry+https://github.com/rust-lang/crates.io-index" 483 | checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" 484 | 485 | [[package]] 486 | name = "fake-simd" 487 | version = "0.1.2" 488 | source = "registry+https://github.com/rust-lang/crates.io-index" 489 | checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" 490 | 491 | [[package]] 492 | name = "filetime" 493 | version = "0.2.14" 494 | source = "registry+https://github.com/rust-lang/crates.io-index" 495 | checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8" 496 | dependencies = [ 497 | "cfg-if 1.0.0", 498 | "libc", 499 | "redox_syscall", 500 | "winapi 0.3.9", 501 | ] 502 | 503 | [[package]] 504 | name = "flate2" 505 | version = "1.0.20" 506 | source = "registry+https://github.com/rust-lang/crates.io-index" 507 | checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" 508 | dependencies = [ 509 | "cfg-if 1.0.0", 510 | "crc32fast", 511 | "libc", 512 | "miniz_oxide", 513 | ] 514 | 515 | [[package]] 516 | name = "fluent-bundle" 517 | version = "0.12.0" 518 | source = "registry+https://github.com/rust-lang/crates.io-index" 519 | checksum = "01a094d494ab2ed06077e9a95f4e47f446c376de95f6c93045dd88c499bfcd70" 520 | dependencies = [ 521 | "fluent-langneg", 522 | "fluent-syntax", 523 | "intl-memoizer", 524 | "intl_pluralrules", 525 | "rental", 526 | "smallvec 1.6.1", 527 | "unic-langid", 528 | ] 529 | 530 | [[package]] 531 | name = "fluent-langneg" 532 | version = "0.13.0" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94" 535 | dependencies = [ 536 | "unic-langid", 537 | ] 538 | 539 | [[package]] 540 | name = "fluent-syntax" 541 | version = "0.9.3" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "ac0f7e83d14cccbf26e165d8881dcac5891af0d85a88543c09dd72ebd31d91ba" 544 | 545 | [[package]] 546 | name = "fnv" 547 | version = "1.0.7" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 550 | 551 | [[package]] 552 | name = "foreign-types" 553 | version = "0.3.2" 554 | source = "registry+https://github.com/rust-lang/crates.io-index" 555 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 556 | dependencies = [ 557 | "foreign-types-shared", 558 | ] 559 | 560 | [[package]] 561 | name = "foreign-types-shared" 562 | version = "0.1.1" 563 | source = "registry+https://github.com/rust-lang/crates.io-index" 564 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 565 | 566 | [[package]] 567 | name = "fsevent" 568 | version = "0.4.0" 569 | source = "registry+https://github.com/rust-lang/crates.io-index" 570 | checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" 571 | dependencies = [ 572 | "bitflags", 573 | "fsevent-sys", 574 | ] 575 | 576 | [[package]] 577 | name = "fsevent-sys" 578 | version = "2.0.1" 579 | source = "registry+https://github.com/rust-lang/crates.io-index" 580 | checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0" 581 | dependencies = [ 582 | "libc", 583 | ] 584 | 585 | [[package]] 586 | name = "fuchsia-cprng" 587 | version = "0.1.1" 588 | source = "registry+https://github.com/rust-lang/crates.io-index" 589 | checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" 590 | 591 | [[package]] 592 | name = "fuchsia-zircon" 593 | version = "0.3.3" 594 | source = "registry+https://github.com/rust-lang/crates.io-index" 595 | checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" 596 | dependencies = [ 597 | "bitflags", 598 | "fuchsia-zircon-sys", 599 | ] 600 | 601 | [[package]] 602 | name = "fuchsia-zircon-sys" 603 | version = "0.3.3" 604 | source = "registry+https://github.com/rust-lang/crates.io-index" 605 | checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" 606 | 607 | [[package]] 608 | name = "futures" 609 | version = "0.3.14" 610 | source = "registry+https://github.com/rust-lang/crates.io-index" 611 | checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253" 612 | dependencies = [ 613 | "futures-channel", 614 | "futures-core", 615 | "futures-executor", 616 | "futures-io", 617 | "futures-sink", 618 | "futures-task", 619 | "futures-util", 620 | ] 621 | 622 | [[package]] 623 | name = "futures-channel" 624 | version = "0.3.14" 625 | source = "registry+https://github.com/rust-lang/crates.io-index" 626 | checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25" 627 | dependencies = [ 628 | "futures-core", 629 | "futures-sink", 630 | ] 631 | 632 | [[package]] 633 | name = "futures-core" 634 | version = "0.3.14" 635 | source = "registry+https://github.com/rust-lang/crates.io-index" 636 | checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815" 637 | 638 | [[package]] 639 | name = "futures-executor" 640 | version = "0.3.14" 641 | source = "registry+https://github.com/rust-lang/crates.io-index" 642 | checksum = "10f6cb7042eda00f0049b1d2080aa4b93442997ee507eb3828e8bd7577f94c9d" 643 | dependencies = [ 644 | "futures-core", 645 | "futures-task", 646 | "futures-util", 647 | ] 648 | 649 | [[package]] 650 | name = "futures-io" 651 | version = "0.3.14" 652 | source = "registry+https://github.com/rust-lang/crates.io-index" 653 | checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04" 654 | 655 | [[package]] 656 | name = "futures-macro" 657 | version = "0.3.14" 658 | source = "registry+https://github.com/rust-lang/crates.io-index" 659 | checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b" 660 | dependencies = [ 661 | "proc-macro-hack", 662 | "proc-macro2", 663 | "quote", 664 | "syn", 665 | ] 666 | 667 | [[package]] 668 | name = "futures-sink" 669 | version = "0.3.14" 670 | source = "registry+https://github.com/rust-lang/crates.io-index" 671 | checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23" 672 | 673 | [[package]] 674 | name = "futures-task" 675 | version = "0.3.14" 676 | source = "registry+https://github.com/rust-lang/crates.io-index" 677 | checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc" 678 | 679 | [[package]] 680 | name = "futures-util" 681 | version = "0.3.14" 682 | source = "registry+https://github.com/rust-lang/crates.io-index" 683 | checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025" 684 | dependencies = [ 685 | "futures-channel", 686 | "futures-core", 687 | "futures-io", 688 | "futures-macro", 689 | "futures-sink", 690 | "futures-task", 691 | "memchr", 692 | "pin-project-lite", 693 | "pin-utils", 694 | "proc-macro-hack", 695 | "proc-macro-nested", 696 | "slab", 697 | ] 698 | 699 | [[package]] 700 | name = "gdk" 701 | version = "0.13.2" 702 | source = "registry+https://github.com/rust-lang/crates.io-index" 703 | checksum = "db00839b2a68a7a10af3fa28dfb3febaba3a20c3a9ac2425a33b7df1f84a6b7d" 704 | dependencies = [ 705 | "bitflags", 706 | "cairo-rs", 707 | "cairo-sys-rs", 708 | "gdk-pixbuf", 709 | "gdk-sys", 710 | "gio", 711 | "gio-sys", 712 | "glib", 713 | "glib-sys", 714 | "gobject-sys", 715 | "libc", 716 | "pango", 717 | ] 718 | 719 | [[package]] 720 | name = "gdk-pixbuf" 721 | version = "0.9.0" 722 | source = "registry+https://github.com/rust-lang/crates.io-index" 723 | checksum = "8f6dae3cb99dd49b758b88f0132f8d401108e63ae8edd45f432d42cdff99998a" 724 | dependencies = [ 725 | "gdk-pixbuf-sys", 726 | "gio", 727 | "gio-sys", 728 | "glib", 729 | "glib-sys", 730 | "gobject-sys", 731 | "libc", 732 | ] 733 | 734 | [[package]] 735 | name = "gdk-pixbuf-sys" 736 | version = "0.10.0" 737 | source = "registry+https://github.com/rust-lang/crates.io-index" 738 | checksum = "3bfe468a7f43e97b8d193a762b6c5cf67a7d36cacbc0b9291dbcae24bfea1e8f" 739 | dependencies = [ 740 | "gio-sys", 741 | "glib-sys", 742 | "gobject-sys", 743 | "libc", 744 | "system-deps", 745 | ] 746 | 747 | [[package]] 748 | name = "gdk-sys" 749 | version = "0.10.0" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "0a9653cfc500fd268015b1ac055ddbc3df7a5c9ea3f4ccef147b3957bd140d69" 752 | dependencies = [ 753 | "cairo-sys-rs", 754 | "gdk-pixbuf-sys", 755 | "gio-sys", 756 | "glib-sys", 757 | "gobject-sys", 758 | "libc", 759 | "pango-sys", 760 | "pkg-config", 761 | "system-deps", 762 | ] 763 | 764 | [[package]] 765 | name = "generic-array" 766 | version = "0.12.4" 767 | source = "registry+https://github.com/rust-lang/crates.io-index" 768 | checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" 769 | dependencies = [ 770 | "typenum", 771 | ] 772 | 773 | [[package]] 774 | name = "gio" 775 | version = "0.9.1" 776 | source = "registry+https://github.com/rust-lang/crates.io-index" 777 | checksum = "1fb60242bfff700772dae5d9e3a1f7aa2e4ebccf18b89662a16acb2822568561" 778 | dependencies = [ 779 | "bitflags", 780 | "futures", 781 | "futures-channel", 782 | "futures-core", 783 | "futures-io", 784 | "futures-util", 785 | "gio-sys", 786 | "glib", 787 | "glib-sys", 788 | "gobject-sys", 789 | "libc", 790 | "once_cell", 791 | "thiserror", 792 | ] 793 | 794 | [[package]] 795 | name = "gio-sys" 796 | version = "0.10.1" 797 | source = "registry+https://github.com/rust-lang/crates.io-index" 798 | checksum = "5e24fb752f8f5d2cf6bbc2c606fd2bc989c81c5e2fe321ab974d54f8b6344eac" 799 | dependencies = [ 800 | "glib-sys", 801 | "gobject-sys", 802 | "libc", 803 | "system-deps", 804 | "winapi 0.3.9", 805 | ] 806 | 807 | [[package]] 808 | name = "glib" 809 | version = "0.10.3" 810 | source = "registry+https://github.com/rust-lang/crates.io-index" 811 | checksum = "0c685013b7515e668f1b57a165b009d4d28cb139a8a989bbd699c10dad29d0c5" 812 | dependencies = [ 813 | "bitflags", 814 | "futures-channel", 815 | "futures-core", 816 | "futures-executor", 817 | "futures-task", 818 | "futures-util", 819 | "glib-macros", 820 | "glib-sys", 821 | "gobject-sys", 822 | "libc", 823 | "once_cell", 824 | ] 825 | 826 | [[package]] 827 | name = "glib-macros" 828 | version = "0.10.1" 829 | source = "registry+https://github.com/rust-lang/crates.io-index" 830 | checksum = "41486a26d1366a8032b160b59065a59fb528530a46a49f627e7048fb8c064039" 831 | dependencies = [ 832 | "anyhow", 833 | "heck", 834 | "itertools", 835 | "proc-macro-crate", 836 | "proc-macro-error", 837 | "proc-macro2", 838 | "quote", 839 | "syn", 840 | ] 841 | 842 | [[package]] 843 | name = "glib-sys" 844 | version = "0.10.1" 845 | source = "registry+https://github.com/rust-lang/crates.io-index" 846 | checksum = "c7e9b997a66e9a23d073f2b1abb4dbfc3925e0b8952f67efd8d9b6e168e4cdc1" 847 | dependencies = [ 848 | "libc", 849 | "system-deps", 850 | ] 851 | 852 | [[package]] 853 | name = "gobject-sys" 854 | version = "0.10.0" 855 | source = "registry+https://github.com/rust-lang/crates.io-index" 856 | checksum = "952133b60c318a62bf82ee75b93acc7e84028a093e06b9e27981c2b6fe68218c" 857 | dependencies = [ 858 | "glib-sys", 859 | "libc", 860 | "system-deps", 861 | ] 862 | 863 | [[package]] 864 | name = "gtk" 865 | version = "0.9.2" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | checksum = "2f022f2054072b3af07666341984562c8e626a79daa8be27b955d12d06a5ad6a" 868 | dependencies = [ 869 | "atk", 870 | "bitflags", 871 | "cairo-rs", 872 | "cairo-sys-rs", 873 | "cc", 874 | "gdk", 875 | "gdk-pixbuf", 876 | "gdk-pixbuf-sys", 877 | "gdk-sys", 878 | "gio", 879 | "gio-sys", 880 | "glib", 881 | "glib-sys", 882 | "gobject-sys", 883 | "gtk-sys", 884 | "libc", 885 | "once_cell", 886 | "pango", 887 | "pango-sys", 888 | "pkg-config", 889 | ] 890 | 891 | [[package]] 892 | name = "gtk-sys" 893 | version = "0.10.0" 894 | source = "registry+https://github.com/rust-lang/crates.io-index" 895 | checksum = "89acda6f084863307d948ba64a4b1ef674e8527dddab147ee4cdcc194c880457" 896 | dependencies = [ 897 | "atk-sys", 898 | "cairo-sys-rs", 899 | "gdk-pixbuf-sys", 900 | "gdk-sys", 901 | "gio-sys", 902 | "glib-sys", 903 | "gobject-sys", 904 | "libc", 905 | "pango-sys", 906 | "system-deps", 907 | ] 908 | 909 | [[package]] 910 | name = "heck" 911 | version = "0.3.2" 912 | source = "registry+https://github.com/rust-lang/crates.io-index" 913 | checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac" 914 | dependencies = [ 915 | "unicode-segmentation", 916 | ] 917 | 918 | [[package]] 919 | name = "humantime" 920 | version = "1.3.0" 921 | source = "registry+https://github.com/rust-lang/crates.io-index" 922 | checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" 923 | dependencies = [ 924 | "quick-error", 925 | ] 926 | 927 | [[package]] 928 | name = "inotify" 929 | version = "0.7.1" 930 | source = "registry+https://github.com/rust-lang/crates.io-index" 931 | checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" 932 | dependencies = [ 933 | "bitflags", 934 | "inotify-sys", 935 | "libc", 936 | ] 937 | 938 | [[package]] 939 | name = "inotify-sys" 940 | version = "0.1.5" 941 | source = "registry+https://github.com/rust-lang/crates.io-index" 942 | checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" 943 | dependencies = [ 944 | "libc", 945 | ] 946 | 947 | [[package]] 948 | name = "instant" 949 | version = "0.1.9" 950 | source = "registry+https://github.com/rust-lang/crates.io-index" 951 | checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" 952 | dependencies = [ 953 | "cfg-if 1.0.0", 954 | "js-sys", 955 | "wasm-bindgen", 956 | "web-sys", 957 | ] 958 | 959 | [[package]] 960 | name = "intl-memoizer" 961 | version = "0.5.1" 962 | source = "registry+https://github.com/rust-lang/crates.io-index" 963 | checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" 964 | dependencies = [ 965 | "type-map", 966 | "unic-langid", 967 | ] 968 | 969 | [[package]] 970 | name = "intl_pluralrules" 971 | version = "7.0.1" 972 | source = "registry+https://github.com/rust-lang/crates.io-index" 973 | checksum = "b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf" 974 | dependencies = [ 975 | "tinystr", 976 | "unic-langid", 977 | ] 978 | 979 | [[package]] 980 | name = "iovec" 981 | version = "0.1.4" 982 | source = "registry+https://github.com/rust-lang/crates.io-index" 983 | checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" 984 | dependencies = [ 985 | "libc", 986 | ] 987 | 988 | [[package]] 989 | name = "itertools" 990 | version = "0.9.0" 991 | source = "registry+https://github.com/rust-lang/crates.io-index" 992 | checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" 993 | dependencies = [ 994 | "either", 995 | ] 996 | 997 | [[package]] 998 | name = "itoa" 999 | version = "0.4.7" 1000 | source = "registry+https://github.com/rust-lang/crates.io-index" 1001 | checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" 1002 | 1003 | [[package]] 1004 | name = "js-sys" 1005 | version = "0.3.50" 1006 | source = "registry+https://github.com/rust-lang/crates.io-index" 1007 | checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c" 1008 | dependencies = [ 1009 | "wasm-bindgen", 1010 | ] 1011 | 1012 | [[package]] 1013 | name = "kernel32-sys" 1014 | version = "0.2.2" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" 1017 | dependencies = [ 1018 | "winapi 0.2.8", 1019 | "winapi-build", 1020 | ] 1021 | 1022 | [[package]] 1023 | name = "keyboard-types" 1024 | version = "0.5.0" 1025 | source = "registry+https://github.com/rust-lang/crates.io-index" 1026 | checksum = "a989afac88279b0482f402d234b5fbd405bf1ad051308595b58de4e6de22346b" 1027 | dependencies = [ 1028 | "bitflags", 1029 | ] 1030 | 1031 | [[package]] 1032 | name = "kurbo" 1033 | version = "0.8.1" 1034 | source = "registry+https://github.com/rust-lang/crates.io-index" 1035 | checksum = "e30b1df631d23875f230ed3ddd1a88c231f269a04b2044eb6ca87e763b5f4c42" 1036 | dependencies = [ 1037 | "arrayvec", 1038 | ] 1039 | 1040 | [[package]] 1041 | name = "lazy_static" 1042 | version = "1.4.0" 1043 | source = "registry+https://github.com/rust-lang/crates.io-index" 1044 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1045 | 1046 | [[package]] 1047 | name = "lazycell" 1048 | version = "1.3.0" 1049 | source = "registry+https://github.com/rust-lang/crates.io-index" 1050 | checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" 1051 | 1052 | [[package]] 1053 | name = "libc" 1054 | version = "0.2.94" 1055 | source = "registry+https://github.com/rust-lang/crates.io-index" 1056 | checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" 1057 | 1058 | [[package]] 1059 | name = "line-wrap" 1060 | version = "0.1.1" 1061 | source = "registry+https://github.com/rust-lang/crates.io-index" 1062 | checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" 1063 | dependencies = [ 1064 | "safemem", 1065 | ] 1066 | 1067 | [[package]] 1068 | name = "log" 1069 | version = "0.4.14" 1070 | source = "registry+https://github.com/rust-lang/crates.io-index" 1071 | checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" 1072 | dependencies = [ 1073 | "cfg-if 1.0.0", 1074 | ] 1075 | 1076 | [[package]] 1077 | name = "malloc_buf" 1078 | version = "0.0.6" 1079 | source = "registry+https://github.com/rust-lang/crates.io-index" 1080 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 1081 | dependencies = [ 1082 | "libc", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "matchers" 1087 | version = "0.0.1" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" 1090 | dependencies = [ 1091 | "regex-automata", 1092 | ] 1093 | 1094 | [[package]] 1095 | name = "matches" 1096 | version = "0.1.8" 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" 1098 | checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" 1099 | 1100 | [[package]] 1101 | name = "maybe-uninit" 1102 | version = "2.0.0" 1103 | source = "registry+https://github.com/rust-lang/crates.io-index" 1104 | checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" 1105 | 1106 | [[package]] 1107 | name = "memchr" 1108 | version = "2.3.4" 1109 | source = "registry+https://github.com/rust-lang/crates.io-index" 1110 | checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" 1111 | 1112 | [[package]] 1113 | name = "miniz_oxide" 1114 | version = "0.4.4" 1115 | source = "registry+https://github.com/rust-lang/crates.io-index" 1116 | checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" 1117 | dependencies = [ 1118 | "adler", 1119 | "autocfg", 1120 | ] 1121 | 1122 | [[package]] 1123 | name = "mio" 1124 | version = "0.6.23" 1125 | source = "registry+https://github.com/rust-lang/crates.io-index" 1126 | checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" 1127 | dependencies = [ 1128 | "cfg-if 0.1.10", 1129 | "fuchsia-zircon", 1130 | "fuchsia-zircon-sys", 1131 | "iovec", 1132 | "kernel32-sys", 1133 | "libc", 1134 | "log", 1135 | "miow", 1136 | "net2", 1137 | "slab", 1138 | "winapi 0.2.8", 1139 | ] 1140 | 1141 | [[package]] 1142 | name = "mio-extras" 1143 | version = "2.0.6" 1144 | source = "registry+https://github.com/rust-lang/crates.io-index" 1145 | checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" 1146 | dependencies = [ 1147 | "lazycell", 1148 | "log", 1149 | "mio", 1150 | "slab", 1151 | ] 1152 | 1153 | [[package]] 1154 | name = "miow" 1155 | version = "0.2.2" 1156 | source = "registry+https://github.com/rust-lang/crates.io-index" 1157 | checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" 1158 | dependencies = [ 1159 | "kernel32-sys", 1160 | "net2", 1161 | "winapi 0.2.8", 1162 | "ws2_32-sys", 1163 | ] 1164 | 1165 | [[package]] 1166 | name = "net2" 1167 | version = "0.2.37" 1168 | source = "registry+https://github.com/rust-lang/crates.io-index" 1169 | checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" 1170 | dependencies = [ 1171 | "cfg-if 0.1.10", 1172 | "libc", 1173 | "winapi 0.3.9", 1174 | ] 1175 | 1176 | [[package]] 1177 | name = "notify" 1178 | version = "5.0.0-pre.1" 1179 | source = "registry+https://github.com/rust-lang/crates.io-index" 1180 | checksum = "d742ae493f34bd2e20ec2f3c1276fc1981343a8efd7ef12bca4368d0303bed50" 1181 | dependencies = [ 1182 | "anymap", 1183 | "bitflags", 1184 | "chashmap", 1185 | "crossbeam-channel", 1186 | "filetime", 1187 | "fsevent", 1188 | "fsevent-sys", 1189 | "inotify", 1190 | "kernel32-sys", 1191 | "libc", 1192 | "mio", 1193 | "mio-extras", 1194 | "walkdir", 1195 | "winapi 0.3.9", 1196 | ] 1197 | 1198 | [[package]] 1199 | name = "num-integer" 1200 | version = "0.1.44" 1201 | source = "registry+https://github.com/rust-lang/crates.io-index" 1202 | checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" 1203 | dependencies = [ 1204 | "autocfg", 1205 | "num-traits", 1206 | ] 1207 | 1208 | [[package]] 1209 | name = "num-traits" 1210 | version = "0.2.14" 1211 | source = "registry+https://github.com/rust-lang/crates.io-index" 1212 | checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" 1213 | dependencies = [ 1214 | "autocfg", 1215 | ] 1216 | 1217 | [[package]] 1218 | name = "objc" 1219 | version = "0.2.7" 1220 | source = "registry+https://github.com/rust-lang/crates.io-index" 1221 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 1222 | dependencies = [ 1223 | "malloc_buf", 1224 | ] 1225 | 1226 | [[package]] 1227 | name = "once_cell" 1228 | version = "1.7.2" 1229 | source = "registry+https://github.com/rust-lang/crates.io-index" 1230 | checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3" 1231 | 1232 | [[package]] 1233 | name = "opaque-debug" 1234 | version = "0.2.3" 1235 | source = "registry+https://github.com/rust-lang/crates.io-index" 1236 | checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" 1237 | 1238 | [[package]] 1239 | name = "owning_ref" 1240 | version = "0.3.3" 1241 | source = "registry+https://github.com/rust-lang/crates.io-index" 1242 | checksum = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" 1243 | dependencies = [ 1244 | "stable_deref_trait", 1245 | ] 1246 | 1247 | [[package]] 1248 | name = "pango" 1249 | version = "0.9.1" 1250 | source = "registry+https://github.com/rust-lang/crates.io-index" 1251 | checksum = "9937068580bebd8ced19975938573803273ccbcbd598c58d4906efd4ac87c438" 1252 | dependencies = [ 1253 | "bitflags", 1254 | "glib", 1255 | "glib-sys", 1256 | "gobject-sys", 1257 | "libc", 1258 | "once_cell", 1259 | "pango-sys", 1260 | ] 1261 | 1262 | [[package]] 1263 | name = "pango-sys" 1264 | version = "0.10.0" 1265 | source = "registry+https://github.com/rust-lang/crates.io-index" 1266 | checksum = "24d2650c8b62d116c020abd0cea26a4ed96526afda89b1c4ea567131fdefc890" 1267 | dependencies = [ 1268 | "glib-sys", 1269 | "gobject-sys", 1270 | "libc", 1271 | "system-deps", 1272 | ] 1273 | 1274 | [[package]] 1275 | name = "pangocairo" 1276 | version = "0.10.0" 1277 | source = "registry+https://github.com/rust-lang/crates.io-index" 1278 | checksum = "00f5ae67a05a5e023f09f64e9a71c845274d4b82dedee237b70425811885e883" 1279 | dependencies = [ 1280 | "bitflags", 1281 | "cairo-rs", 1282 | "cairo-sys-rs", 1283 | "glib", 1284 | "glib-sys", 1285 | "gobject-sys", 1286 | "libc", 1287 | "pango", 1288 | "pango-sys", 1289 | "pangocairo-sys", 1290 | ] 1291 | 1292 | [[package]] 1293 | name = "pangocairo-sys" 1294 | version = "0.11.0" 1295 | source = "registry+https://github.com/rust-lang/crates.io-index" 1296 | checksum = "94ccc97f698c2f0233b84e5ca676893a1e676785b60eec700b9c0e6dcd0feb98" 1297 | dependencies = [ 1298 | "cairo-sys-rs", 1299 | "glib-sys", 1300 | "libc", 1301 | "pango-sys", 1302 | "system-deps", 1303 | ] 1304 | 1305 | [[package]] 1306 | name = "parking_lot" 1307 | version = "0.4.8" 1308 | source = "registry+https://github.com/rust-lang/crates.io-index" 1309 | checksum = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" 1310 | dependencies = [ 1311 | "owning_ref", 1312 | "parking_lot_core", 1313 | ] 1314 | 1315 | [[package]] 1316 | name = "parking_lot_core" 1317 | version = "0.2.14" 1318 | source = "registry+https://github.com/rust-lang/crates.io-index" 1319 | checksum = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" 1320 | dependencies = [ 1321 | "libc", 1322 | "rand", 1323 | "smallvec 0.6.14", 1324 | "winapi 0.3.9", 1325 | ] 1326 | 1327 | [[package]] 1328 | name = "piet" 1329 | version = "0.4.0" 1330 | source = "registry+https://github.com/rust-lang/crates.io-index" 1331 | checksum = "31bf73f4f995c6ae50f709ff3635e466d1e42d814a84099ea0f90da9dd0f0b69" 1332 | dependencies = [ 1333 | "kurbo", 1334 | "unic-bidi", 1335 | ] 1336 | 1337 | [[package]] 1338 | name = "piet-cairo" 1339 | version = "0.4.0" 1340 | source = "registry+https://github.com/rust-lang/crates.io-index" 1341 | checksum = "b14ba5c00133cd03bdde578a3fc47c73e3be17972ed5415979c53d9243742965" 1342 | dependencies = [ 1343 | "cairo-rs", 1344 | "glib", 1345 | "pango", 1346 | "pango-sys", 1347 | "pangocairo", 1348 | "piet", 1349 | "unicode-segmentation", 1350 | "xi-unicode 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1351 | ] 1352 | 1353 | [[package]] 1354 | name = "piet-common" 1355 | version = "0.4.1" 1356 | source = "registry+https://github.com/rust-lang/crates.io-index" 1357 | checksum = "a9bcfb0c224fde5812208021d890933f5865e22e4f7d705f02d85cf5142008fd" 1358 | dependencies = [ 1359 | "cairo-rs", 1360 | "cairo-sys-rs", 1361 | "cfg-if 1.0.0", 1362 | "core-graphics", 1363 | "piet", 1364 | "piet-cairo", 1365 | "piet-coregraphics", 1366 | "piet-direct2d", 1367 | "piet-web", 1368 | "wasm-bindgen", 1369 | "web-sys", 1370 | ] 1371 | 1372 | [[package]] 1373 | name = "piet-coregraphics" 1374 | version = "0.4.0" 1375 | source = "registry+https://github.com/rust-lang/crates.io-index" 1376 | checksum = "c6b44202edec899277f68642ec385283cae20bb5f49b12d8b5aa0f77823cd5a6" 1377 | dependencies = [ 1378 | "core-foundation", 1379 | "core-foundation-sys", 1380 | "core-graphics", 1381 | "core-text", 1382 | "foreign-types", 1383 | "piet", 1384 | ] 1385 | 1386 | [[package]] 1387 | name = "piet-direct2d" 1388 | version = "0.4.1" 1389 | source = "registry+https://github.com/rust-lang/crates.io-index" 1390 | checksum = "21e69ce1fc6754dff7ab40a11253beb04d204435a6812e8119eab22645a1e26e" 1391 | dependencies = [ 1392 | "associative-cache", 1393 | "dwrote", 1394 | "piet", 1395 | "utf16_lit", 1396 | "winapi 0.3.9", 1397 | "wio", 1398 | ] 1399 | 1400 | [[package]] 1401 | name = "piet-web" 1402 | version = "0.4.0" 1403 | source = "registry+https://github.com/rust-lang/crates.io-index" 1404 | checksum = "c7da97e80b02b6f9c8d8c611ff555df2c10d408767a15da292791a5bd4198f12" 1405 | dependencies = [ 1406 | "js-sys", 1407 | "piet", 1408 | "unicode-segmentation", 1409 | "wasm-bindgen", 1410 | "web-sys", 1411 | "xi-unicode 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1412 | ] 1413 | 1414 | [[package]] 1415 | name = "pin-project-lite" 1416 | version = "0.2.6" 1417 | source = "registry+https://github.com/rust-lang/crates.io-index" 1418 | checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" 1419 | 1420 | [[package]] 1421 | name = "pin-utils" 1422 | version = "0.1.0" 1423 | source = "registry+https://github.com/rust-lang/crates.io-index" 1424 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1425 | 1426 | [[package]] 1427 | name = "pkg-config" 1428 | version = "0.3.19" 1429 | source = "registry+https://github.com/rust-lang/crates.io-index" 1430 | checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" 1431 | 1432 | [[package]] 1433 | name = "plist" 1434 | version = "0.4.2" 1435 | source = "registry+https://github.com/rust-lang/crates.io-index" 1436 | checksum = "5f2a9f075f6394100e7c105ed1af73fb1859d6fd14e49d4290d578120beb167f" 1437 | dependencies = [ 1438 | "base64", 1439 | "byteorder", 1440 | "humantime", 1441 | "line-wrap", 1442 | "serde", 1443 | "xml-rs", 1444 | ] 1445 | 1446 | [[package]] 1447 | name = "proc-macro-crate" 1448 | version = "0.1.5" 1449 | source = "registry+https://github.com/rust-lang/crates.io-index" 1450 | checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" 1451 | dependencies = [ 1452 | "toml", 1453 | ] 1454 | 1455 | [[package]] 1456 | name = "proc-macro-error" 1457 | version = "1.0.4" 1458 | source = "registry+https://github.com/rust-lang/crates.io-index" 1459 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1460 | dependencies = [ 1461 | "proc-macro-error-attr", 1462 | "proc-macro2", 1463 | "quote", 1464 | "syn", 1465 | "version_check", 1466 | ] 1467 | 1468 | [[package]] 1469 | name = "proc-macro-error-attr" 1470 | version = "1.0.4" 1471 | source = "registry+https://github.com/rust-lang/crates.io-index" 1472 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1473 | dependencies = [ 1474 | "proc-macro2", 1475 | "quote", 1476 | "version_check", 1477 | ] 1478 | 1479 | [[package]] 1480 | name = "proc-macro-hack" 1481 | version = "0.5.19" 1482 | source = "registry+https://github.com/rust-lang/crates.io-index" 1483 | checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" 1484 | 1485 | [[package]] 1486 | name = "proc-macro-nested" 1487 | version = "0.1.7" 1488 | source = "registry+https://github.com/rust-lang/crates.io-index" 1489 | checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" 1490 | 1491 | [[package]] 1492 | name = "proc-macro2" 1493 | version = "1.0.26" 1494 | source = "registry+https://github.com/rust-lang/crates.io-index" 1495 | checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" 1496 | dependencies = [ 1497 | "unicode-xid", 1498 | ] 1499 | 1500 | [[package]] 1501 | name = "quick-error" 1502 | version = "1.2.3" 1503 | source = "registry+https://github.com/rust-lang/crates.io-index" 1504 | checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" 1505 | 1506 | [[package]] 1507 | name = "quote" 1508 | version = "1.0.9" 1509 | source = "registry+https://github.com/rust-lang/crates.io-index" 1510 | checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" 1511 | dependencies = [ 1512 | "proc-macro2", 1513 | ] 1514 | 1515 | [[package]] 1516 | name = "rand" 1517 | version = "0.4.6" 1518 | source = "registry+https://github.com/rust-lang/crates.io-index" 1519 | checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" 1520 | dependencies = [ 1521 | "fuchsia-cprng", 1522 | "libc", 1523 | "rand_core 0.3.1", 1524 | "rdrand", 1525 | "winapi 0.3.9", 1526 | ] 1527 | 1528 | [[package]] 1529 | name = "rand_core" 1530 | version = "0.3.1" 1531 | source = "registry+https://github.com/rust-lang/crates.io-index" 1532 | checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" 1533 | dependencies = [ 1534 | "rand_core 0.4.2", 1535 | ] 1536 | 1537 | [[package]] 1538 | name = "rand_core" 1539 | version = "0.4.2" 1540 | source = "registry+https://github.com/rust-lang/crates.io-index" 1541 | checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" 1542 | 1543 | [[package]] 1544 | name = "rdrand" 1545 | version = "0.4.0" 1546 | source = "registry+https://github.com/rust-lang/crates.io-index" 1547 | checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" 1548 | dependencies = [ 1549 | "rand_core 0.3.1", 1550 | ] 1551 | 1552 | [[package]] 1553 | name = "redox_syscall" 1554 | version = "0.2.6" 1555 | source = "registry+https://github.com/rust-lang/crates.io-index" 1556 | checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041" 1557 | dependencies = [ 1558 | "bitflags", 1559 | ] 1560 | 1561 | [[package]] 1562 | name = "regex" 1563 | version = "1.4.6" 1564 | source = "registry+https://github.com/rust-lang/crates.io-index" 1565 | checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759" 1566 | dependencies = [ 1567 | "aho-corasick", 1568 | "memchr", 1569 | "regex-syntax", 1570 | ] 1571 | 1572 | [[package]] 1573 | name = "regex-automata" 1574 | version = "0.1.9" 1575 | source = "registry+https://github.com/rust-lang/crates.io-index" 1576 | checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4" 1577 | dependencies = [ 1578 | "byteorder", 1579 | "regex-syntax", 1580 | ] 1581 | 1582 | [[package]] 1583 | name = "regex-syntax" 1584 | version = "0.6.23" 1585 | source = "registry+https://github.com/rust-lang/crates.io-index" 1586 | checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" 1587 | 1588 | [[package]] 1589 | name = "rental" 1590 | version = "0.5.5" 1591 | source = "registry+https://github.com/rust-lang/crates.io-index" 1592 | checksum = "8545debe98b2b139fb04cad8618b530e9b07c152d99a5de83c860b877d67847f" 1593 | dependencies = [ 1594 | "rental-impl", 1595 | "stable_deref_trait", 1596 | ] 1597 | 1598 | [[package]] 1599 | name = "rental-impl" 1600 | version = "0.5.5" 1601 | source = "registry+https://github.com/rust-lang/crates.io-index" 1602 | checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" 1603 | dependencies = [ 1604 | "proc-macro2", 1605 | "quote", 1606 | "syn", 1607 | ] 1608 | 1609 | [[package]] 1610 | name = "rustc-hash" 1611 | version = "1.1.0" 1612 | source = "registry+https://github.com/rust-lang/crates.io-index" 1613 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 1614 | 1615 | [[package]] 1616 | name = "rustc_version" 1617 | version = "0.2.3" 1618 | source = "registry+https://github.com/rust-lang/crates.io-index" 1619 | checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" 1620 | dependencies = [ 1621 | "semver", 1622 | ] 1623 | 1624 | [[package]] 1625 | name = "ryu" 1626 | version = "1.0.5" 1627 | source = "registry+https://github.com/rust-lang/crates.io-index" 1628 | checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" 1629 | 1630 | [[package]] 1631 | name = "safemem" 1632 | version = "0.3.3" 1633 | source = "registry+https://github.com/rust-lang/crates.io-index" 1634 | checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" 1635 | 1636 | [[package]] 1637 | name = "same-file" 1638 | version = "1.0.6" 1639 | source = "registry+https://github.com/rust-lang/crates.io-index" 1640 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1641 | dependencies = [ 1642 | "winapi-util", 1643 | ] 1644 | 1645 | [[package]] 1646 | name = "scopeguard" 1647 | version = "1.1.0" 1648 | source = "registry+https://github.com/rust-lang/crates.io-index" 1649 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 1650 | 1651 | [[package]] 1652 | name = "semver" 1653 | version = "0.9.0" 1654 | source = "registry+https://github.com/rust-lang/crates.io-index" 1655 | checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" 1656 | dependencies = [ 1657 | "semver-parser", 1658 | ] 1659 | 1660 | [[package]] 1661 | name = "semver-parser" 1662 | version = "0.7.0" 1663 | source = "registry+https://github.com/rust-lang/crates.io-index" 1664 | checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" 1665 | 1666 | [[package]] 1667 | name = "serde" 1668 | version = "1.0.125" 1669 | source = "registry+https://github.com/rust-lang/crates.io-index" 1670 | checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171" 1671 | dependencies = [ 1672 | "serde_derive", 1673 | ] 1674 | 1675 | [[package]] 1676 | name = "serde_derive" 1677 | version = "1.0.125" 1678 | source = "registry+https://github.com/rust-lang/crates.io-index" 1679 | checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d" 1680 | dependencies = [ 1681 | "proc-macro2", 1682 | "quote", 1683 | "syn", 1684 | ] 1685 | 1686 | [[package]] 1687 | name = "serde_json" 1688 | version = "1.0.64" 1689 | source = "registry+https://github.com/rust-lang/crates.io-index" 1690 | checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" 1691 | dependencies = [ 1692 | "itoa", 1693 | "ryu", 1694 | "serde", 1695 | ] 1696 | 1697 | [[package]] 1698 | name = "sha1" 1699 | version = "0.6.0" 1700 | source = "registry+https://github.com/rust-lang/crates.io-index" 1701 | checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" 1702 | 1703 | [[package]] 1704 | name = "sha2" 1705 | version = "0.8.2" 1706 | source = "registry+https://github.com/rust-lang/crates.io-index" 1707 | checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" 1708 | dependencies = [ 1709 | "block-buffer", 1710 | "digest", 1711 | "fake-simd", 1712 | "opaque-debug", 1713 | ] 1714 | 1715 | [[package]] 1716 | name = "sharded-slab" 1717 | version = "0.1.1" 1718 | source = "registry+https://github.com/rust-lang/crates.io-index" 1719 | checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3" 1720 | dependencies = [ 1721 | "lazy_static", 1722 | ] 1723 | 1724 | [[package]] 1725 | name = "slab" 1726 | version = "0.4.3" 1727 | source = "registry+https://github.com/rust-lang/crates.io-index" 1728 | checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" 1729 | 1730 | [[package]] 1731 | name = "smallvec" 1732 | version = "0.6.14" 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" 1734 | checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" 1735 | dependencies = [ 1736 | "maybe-uninit", 1737 | ] 1738 | 1739 | [[package]] 1740 | name = "smallvec" 1741 | version = "1.6.1" 1742 | source = "registry+https://github.com/rust-lang/crates.io-index" 1743 | checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" 1744 | 1745 | [[package]] 1746 | name = "stable_deref_trait" 1747 | version = "1.2.0" 1748 | source = "registry+https://github.com/rust-lang/crates.io-index" 1749 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1750 | 1751 | [[package]] 1752 | name = "standback" 1753 | version = "0.2.17" 1754 | source = "registry+https://github.com/rust-lang/crates.io-index" 1755 | checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" 1756 | dependencies = [ 1757 | "version_check", 1758 | ] 1759 | 1760 | [[package]] 1761 | name = "stdweb" 1762 | version = "0.4.20" 1763 | source = "registry+https://github.com/rust-lang/crates.io-index" 1764 | checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" 1765 | dependencies = [ 1766 | "discard", 1767 | "rustc_version", 1768 | "stdweb-derive", 1769 | "stdweb-internal-macros", 1770 | "stdweb-internal-runtime", 1771 | "wasm-bindgen", 1772 | ] 1773 | 1774 | [[package]] 1775 | name = "stdweb-derive" 1776 | version = "0.5.3" 1777 | source = "registry+https://github.com/rust-lang/crates.io-index" 1778 | checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" 1779 | dependencies = [ 1780 | "proc-macro2", 1781 | "quote", 1782 | "serde", 1783 | "serde_derive", 1784 | "syn", 1785 | ] 1786 | 1787 | [[package]] 1788 | name = "stdweb-internal-macros" 1789 | version = "0.2.9" 1790 | source = "registry+https://github.com/rust-lang/crates.io-index" 1791 | checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" 1792 | dependencies = [ 1793 | "base-x", 1794 | "proc-macro2", 1795 | "quote", 1796 | "serde", 1797 | "serde_derive", 1798 | "serde_json", 1799 | "sha1", 1800 | "syn", 1801 | ] 1802 | 1803 | [[package]] 1804 | name = "stdweb-internal-runtime" 1805 | version = "0.1.5" 1806 | source = "registry+https://github.com/rust-lang/crates.io-index" 1807 | checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" 1808 | 1809 | [[package]] 1810 | name = "strum" 1811 | version = "0.18.0" 1812 | source = "registry+https://github.com/rust-lang/crates.io-index" 1813 | checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b" 1814 | 1815 | [[package]] 1816 | name = "strum_macros" 1817 | version = "0.18.0" 1818 | source = "registry+https://github.com/rust-lang/crates.io-index" 1819 | checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" 1820 | dependencies = [ 1821 | "heck", 1822 | "proc-macro2", 1823 | "quote", 1824 | "syn", 1825 | ] 1826 | 1827 | [[package]] 1828 | name = "syn" 1829 | version = "1.0.71" 1830 | source = "registry+https://github.com/rust-lang/crates.io-index" 1831 | checksum = "ad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373" 1832 | dependencies = [ 1833 | "proc-macro2", 1834 | "quote", 1835 | "unicode-xid", 1836 | ] 1837 | 1838 | [[package]] 1839 | name = "syntect" 1840 | version = "3.3.0" 1841 | source = "registry+https://github.com/rust-lang/crates.io-index" 1842 | checksum = "955e9da2455eea5635f7032fc3a229908e6af18c39600313866095e07db0d8b8" 1843 | dependencies = [ 1844 | "bincode", 1845 | "bitflags", 1846 | "flate2", 1847 | "lazy_static", 1848 | "lazycell", 1849 | "plist", 1850 | "serde", 1851 | "serde_derive", 1852 | "serde_json", 1853 | "walkdir", 1854 | ] 1855 | 1856 | [[package]] 1857 | name = "system-deps" 1858 | version = "1.3.2" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b" 1861 | dependencies = [ 1862 | "heck", 1863 | "pkg-config", 1864 | "strum", 1865 | "strum_macros", 1866 | "thiserror", 1867 | "toml", 1868 | "version-compare", 1869 | ] 1870 | 1871 | [[package]] 1872 | name = "thiserror" 1873 | version = "1.0.24" 1874 | source = "registry+https://github.com/rust-lang/crates.io-index" 1875 | checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e" 1876 | dependencies = [ 1877 | "thiserror-impl", 1878 | ] 1879 | 1880 | [[package]] 1881 | name = "thiserror-impl" 1882 | version = "1.0.24" 1883 | source = "registry+https://github.com/rust-lang/crates.io-index" 1884 | checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" 1885 | dependencies = [ 1886 | "proc-macro2", 1887 | "quote", 1888 | "syn", 1889 | ] 1890 | 1891 | [[package]] 1892 | name = "thread_local" 1893 | version = "1.1.3" 1894 | source = "registry+https://github.com/rust-lang/crates.io-index" 1895 | checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd" 1896 | dependencies = [ 1897 | "once_cell", 1898 | ] 1899 | 1900 | [[package]] 1901 | name = "time" 1902 | version = "0.1.44" 1903 | source = "registry+https://github.com/rust-lang/crates.io-index" 1904 | checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" 1905 | dependencies = [ 1906 | "libc", 1907 | "wasi", 1908 | "winapi 0.3.9", 1909 | ] 1910 | 1911 | [[package]] 1912 | name = "time" 1913 | version = "0.2.26" 1914 | source = "registry+https://github.com/rust-lang/crates.io-index" 1915 | checksum = "08a8cbfbf47955132d0202d1662f49b2423ae35862aee471f3ba4b133358f372" 1916 | dependencies = [ 1917 | "const_fn", 1918 | "libc", 1919 | "standback", 1920 | "stdweb", 1921 | "time-macros", 1922 | "version_check", 1923 | "winapi 0.3.9", 1924 | ] 1925 | 1926 | [[package]] 1927 | name = "time-macros" 1928 | version = "0.1.1" 1929 | source = "registry+https://github.com/rust-lang/crates.io-index" 1930 | checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" 1931 | dependencies = [ 1932 | "proc-macro-hack", 1933 | "time-macros-impl", 1934 | ] 1935 | 1936 | [[package]] 1937 | name = "time-macros-impl" 1938 | version = "0.1.1" 1939 | source = "registry+https://github.com/rust-lang/crates.io-index" 1940 | checksum = "e5c3be1edfad6027c69f5491cf4cb310d1a71ecd6af742788c6ff8bced86b8fa" 1941 | dependencies = [ 1942 | "proc-macro-hack", 1943 | "proc-macro2", 1944 | "quote", 1945 | "standback", 1946 | "syn", 1947 | ] 1948 | 1949 | [[package]] 1950 | name = "tinystr" 1951 | version = "0.3.4" 1952 | source = "registry+https://github.com/rust-lang/crates.io-index" 1953 | checksum = "29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1" 1954 | 1955 | [[package]] 1956 | name = "toml" 1957 | version = "0.5.8" 1958 | source = "registry+https://github.com/rust-lang/crates.io-index" 1959 | checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" 1960 | dependencies = [ 1961 | "serde", 1962 | ] 1963 | 1964 | [[package]] 1965 | name = "tracing" 1966 | version = "0.1.25" 1967 | source = "registry+https://github.com/rust-lang/crates.io-index" 1968 | checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f" 1969 | dependencies = [ 1970 | "cfg-if 1.0.0", 1971 | "pin-project-lite", 1972 | "tracing-attributes", 1973 | "tracing-core", 1974 | ] 1975 | 1976 | [[package]] 1977 | name = "tracing-attributes" 1978 | version = "0.1.15" 1979 | source = "registry+https://github.com/rust-lang/crates.io-index" 1980 | checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" 1981 | dependencies = [ 1982 | "proc-macro2", 1983 | "quote", 1984 | "syn", 1985 | ] 1986 | 1987 | [[package]] 1988 | name = "tracing-core" 1989 | version = "0.1.17" 1990 | source = "registry+https://github.com/rust-lang/crates.io-index" 1991 | checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f" 1992 | dependencies = [ 1993 | "lazy_static", 1994 | ] 1995 | 1996 | [[package]] 1997 | name = "tracing-log" 1998 | version = "0.1.2" 1999 | source = "registry+https://github.com/rust-lang/crates.io-index" 2000 | checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" 2001 | dependencies = [ 2002 | "lazy_static", 2003 | "log", 2004 | "tracing-core", 2005 | ] 2006 | 2007 | [[package]] 2008 | name = "tracing-serde" 2009 | version = "0.1.2" 2010 | source = "registry+https://github.com/rust-lang/crates.io-index" 2011 | checksum = "fb65ea441fbb84f9f6748fd496cf7f63ec9af5bca94dd86456978d055e8eb28b" 2012 | dependencies = [ 2013 | "serde", 2014 | "tracing-core", 2015 | ] 2016 | 2017 | [[package]] 2018 | name = "tracing-subscriber" 2019 | version = "0.2.17" 2020 | source = "registry+https://github.com/rust-lang/crates.io-index" 2021 | checksum = "705096c6f83bf68ea5d357a6aa01829ddbdac531b357b45abeca842938085baa" 2022 | dependencies = [ 2023 | "ansi_term", 2024 | "chrono", 2025 | "lazy_static", 2026 | "matchers", 2027 | "regex", 2028 | "serde", 2029 | "serde_json", 2030 | "sharded-slab", 2031 | "smallvec 1.6.1", 2032 | "thread_local", 2033 | "tracing", 2034 | "tracing-core", 2035 | "tracing-log", 2036 | "tracing-serde", 2037 | ] 2038 | 2039 | [[package]] 2040 | name = "tracing-wasm" 2041 | version = "0.1.0" 2042 | source = "registry+https://github.com/rust-lang/crates.io-index" 2043 | checksum = "fd96394d3d2f119de6c1078fa065b99217db4377f9aac6e87f8393276a0d7962" 2044 | dependencies = [ 2045 | "tracing", 2046 | "tracing-subscriber", 2047 | "wasm-bindgen", 2048 | ] 2049 | 2050 | [[package]] 2051 | name = "type-map" 2052 | version = "0.4.0" 2053 | source = "registry+https://github.com/rust-lang/crates.io-index" 2054 | checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46" 2055 | dependencies = [ 2056 | "rustc-hash", 2057 | ] 2058 | 2059 | [[package]] 2060 | name = "typenum" 2061 | version = "1.13.0" 2062 | source = "registry+https://github.com/rust-lang/crates.io-index" 2063 | checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" 2064 | 2065 | [[package]] 2066 | name = "unic-bidi" 2067 | version = "0.9.0" 2068 | source = "registry+https://github.com/rust-lang/crates.io-index" 2069 | checksum = "1356b759fb6a82050666f11dce4b6fe3571781f1449f3ef78074e408d468ec09" 2070 | dependencies = [ 2071 | "matches", 2072 | "unic-ucd-bidi", 2073 | ] 2074 | 2075 | [[package]] 2076 | name = "unic-char-property" 2077 | version = "0.9.0" 2078 | source = "registry+https://github.com/rust-lang/crates.io-index" 2079 | checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" 2080 | dependencies = [ 2081 | "unic-char-range", 2082 | ] 2083 | 2084 | [[package]] 2085 | name = "unic-char-range" 2086 | version = "0.9.0" 2087 | source = "registry+https://github.com/rust-lang/crates.io-index" 2088 | checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" 2089 | 2090 | [[package]] 2091 | name = "unic-common" 2092 | version = "0.9.0" 2093 | source = "registry+https://github.com/rust-lang/crates.io-index" 2094 | checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" 2095 | 2096 | [[package]] 2097 | name = "unic-langid" 2098 | version = "0.9.0" 2099 | source = "registry+https://github.com/rust-lang/crates.io-index" 2100 | checksum = "73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5" 2101 | dependencies = [ 2102 | "unic-langid-impl", 2103 | ] 2104 | 2105 | [[package]] 2106 | name = "unic-langid-impl" 2107 | version = "0.9.0" 2108 | source = "registry+https://github.com/rust-lang/crates.io-index" 2109 | checksum = "1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934d" 2110 | dependencies = [ 2111 | "tinystr", 2112 | ] 2113 | 2114 | [[package]] 2115 | name = "unic-ucd-bidi" 2116 | version = "0.9.0" 2117 | source = "registry+https://github.com/rust-lang/crates.io-index" 2118 | checksum = "d1d568b51222484e1f8209ce48caa6b430bf352962b877d592c29ab31fb53d8c" 2119 | dependencies = [ 2120 | "unic-char-property", 2121 | "unic-char-range", 2122 | "unic-ucd-version", 2123 | ] 2124 | 2125 | [[package]] 2126 | name = "unic-ucd-version" 2127 | version = "0.9.0" 2128 | source = "registry+https://github.com/rust-lang/crates.io-index" 2129 | checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" 2130 | dependencies = [ 2131 | "unic-common", 2132 | ] 2133 | 2134 | [[package]] 2135 | name = "unicode-segmentation" 2136 | version = "1.7.1" 2137 | source = "registry+https://github.com/rust-lang/crates.io-index" 2138 | checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" 2139 | 2140 | [[package]] 2141 | name = "unicode-xid" 2142 | version = "0.2.1" 2143 | source = "registry+https://github.com/rust-lang/crates.io-index" 2144 | checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" 2145 | 2146 | [[package]] 2147 | name = "utf16_lit" 2148 | version = "2.0.2" 2149 | source = "registry+https://github.com/rust-lang/crates.io-index" 2150 | checksum = "14706d2a800ee8ff38c1d3edb873cd616971ea59eb7c0d046bb44ef59b06a1ae" 2151 | 2152 | [[package]] 2153 | name = "version-compare" 2154 | version = "0.0.10" 2155 | source = "registry+https://github.com/rust-lang/crates.io-index" 2156 | checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1" 2157 | 2158 | [[package]] 2159 | name = "version_check" 2160 | version = "0.9.3" 2161 | source = "registry+https://github.com/rust-lang/crates.io-index" 2162 | checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" 2163 | 2164 | [[package]] 2165 | name = "walkdir" 2166 | version = "2.3.2" 2167 | source = "registry+https://github.com/rust-lang/crates.io-index" 2168 | checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" 2169 | dependencies = [ 2170 | "same-file", 2171 | "winapi 0.3.9", 2172 | "winapi-util", 2173 | ] 2174 | 2175 | [[package]] 2176 | name = "wasi" 2177 | version = "0.10.0+wasi-snapshot-preview1" 2178 | source = "registry+https://github.com/rust-lang/crates.io-index" 2179 | checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" 2180 | 2181 | [[package]] 2182 | name = "wasm-bindgen" 2183 | version = "0.2.73" 2184 | source = "registry+https://github.com/rust-lang/crates.io-index" 2185 | checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9" 2186 | dependencies = [ 2187 | "cfg-if 1.0.0", 2188 | "wasm-bindgen-macro", 2189 | ] 2190 | 2191 | [[package]] 2192 | name = "wasm-bindgen-backend" 2193 | version = "0.2.73" 2194 | source = "registry+https://github.com/rust-lang/crates.io-index" 2195 | checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae" 2196 | dependencies = [ 2197 | "bumpalo", 2198 | "lazy_static", 2199 | "log", 2200 | "proc-macro2", 2201 | "quote", 2202 | "syn", 2203 | "wasm-bindgen-shared", 2204 | ] 2205 | 2206 | [[package]] 2207 | name = "wasm-bindgen-macro" 2208 | version = "0.2.73" 2209 | source = "registry+https://github.com/rust-lang/crates.io-index" 2210 | checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f" 2211 | dependencies = [ 2212 | "quote", 2213 | "wasm-bindgen-macro-support", 2214 | ] 2215 | 2216 | [[package]] 2217 | name = "wasm-bindgen-macro-support" 2218 | version = "0.2.73" 2219 | source = "registry+https://github.com/rust-lang/crates.io-index" 2220 | checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c" 2221 | dependencies = [ 2222 | "proc-macro2", 2223 | "quote", 2224 | "syn", 2225 | "wasm-bindgen-backend", 2226 | "wasm-bindgen-shared", 2227 | ] 2228 | 2229 | [[package]] 2230 | name = "wasm-bindgen-shared" 2231 | version = "0.2.73" 2232 | source = "registry+https://github.com/rust-lang/crates.io-index" 2233 | checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489" 2234 | 2235 | [[package]] 2236 | name = "web-sys" 2237 | version = "0.3.50" 2238 | source = "registry+https://github.com/rust-lang/crates.io-index" 2239 | checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be" 2240 | dependencies = [ 2241 | "js-sys", 2242 | "wasm-bindgen", 2243 | ] 2244 | 2245 | [[package]] 2246 | name = "winapi" 2247 | version = "0.2.8" 2248 | source = "registry+https://github.com/rust-lang/crates.io-index" 2249 | checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" 2250 | 2251 | [[package]] 2252 | name = "winapi" 2253 | version = "0.3.9" 2254 | source = "registry+https://github.com/rust-lang/crates.io-index" 2255 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2256 | dependencies = [ 2257 | "winapi-i686-pc-windows-gnu", 2258 | "winapi-x86_64-pc-windows-gnu", 2259 | ] 2260 | 2261 | [[package]] 2262 | name = "winapi-build" 2263 | version = "0.1.1" 2264 | source = "registry+https://github.com/rust-lang/crates.io-index" 2265 | checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" 2266 | 2267 | [[package]] 2268 | name = "winapi-i686-pc-windows-gnu" 2269 | version = "0.4.0" 2270 | source = "registry+https://github.com/rust-lang/crates.io-index" 2271 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2272 | 2273 | [[package]] 2274 | name = "winapi-util" 2275 | version = "0.1.5" 2276 | source = "registry+https://github.com/rust-lang/crates.io-index" 2277 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 2278 | dependencies = [ 2279 | "winapi 0.3.9", 2280 | ] 2281 | 2282 | [[package]] 2283 | name = "winapi-x86_64-pc-windows-gnu" 2284 | version = "0.4.0" 2285 | source = "registry+https://github.com/rust-lang/crates.io-index" 2286 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2287 | 2288 | [[package]] 2289 | name = "wio" 2290 | version = "0.2.2" 2291 | source = "registry+https://github.com/rust-lang/crates.io-index" 2292 | checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" 2293 | dependencies = [ 2294 | "winapi 0.3.9", 2295 | ] 2296 | 2297 | [[package]] 2298 | name = "ws2_32-sys" 2299 | version = "0.2.1" 2300 | source = "registry+https://github.com/rust-lang/crates.io-index" 2301 | checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" 2302 | dependencies = [ 2303 | "winapi 0.2.8", 2304 | "winapi-build", 2305 | ] 2306 | 2307 | [[package]] 2308 | name = "xi-core-lib" 2309 | version = "0.4.0" 2310 | source = "git+https://github.com/xi-editor/xi-editor?branch=master#52bf34368e52369106d8eca6096a4839f7629e1e" 2311 | dependencies = [ 2312 | "crossbeam-channel", 2313 | "log", 2314 | "memchr", 2315 | "notify", 2316 | "regex", 2317 | "serde", 2318 | "serde_derive", 2319 | "serde_json", 2320 | "sha2", 2321 | "syntect", 2322 | "time 0.1.44", 2323 | "toml", 2324 | "xi-rope", 2325 | "xi-rpc", 2326 | "xi-trace", 2327 | "xi-unicode 0.3.0 (git+https://github.com/xi-editor/xi-editor)", 2328 | ] 2329 | 2330 | [[package]] 2331 | name = "xi-rope" 2332 | version = "0.3.0" 2333 | source = "git+https://github.com/xi-editor/xi-editor?branch=master#52bf34368e52369106d8eca6096a4839f7629e1e" 2334 | dependencies = [ 2335 | "bytecount", 2336 | "memchr", 2337 | "regex", 2338 | "serde", 2339 | "unicode-segmentation", 2340 | ] 2341 | 2342 | [[package]] 2343 | name = "xi-rpc" 2344 | version = "0.3.0" 2345 | source = "git+https://github.com/xi-editor/xi-editor?branch=master#52bf34368e52369106d8eca6096a4839f7629e1e" 2346 | dependencies = [ 2347 | "crossbeam-utils 0.7.2", 2348 | "log", 2349 | "serde", 2350 | "serde_derive", 2351 | "serde_json", 2352 | "xi-trace", 2353 | ] 2354 | 2355 | [[package]] 2356 | name = "xi-trace" 2357 | version = "0.2.0" 2358 | source = "git+https://github.com/xi-editor/xi-editor?branch=master#52bf34368e52369106d8eca6096a4839f7629e1e" 2359 | dependencies = [ 2360 | "lazy_static", 2361 | "libc", 2362 | "log", 2363 | "serde", 2364 | "serde_derive", 2365 | "serde_json", 2366 | "time 0.1.44", 2367 | ] 2368 | 2369 | [[package]] 2370 | name = "xi-unicode" 2371 | version = "0.3.0" 2372 | source = "registry+https://github.com/rust-lang/crates.io-index" 2373 | checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" 2374 | 2375 | [[package]] 2376 | name = "xi-unicode" 2377 | version = "0.3.0" 2378 | source = "git+https://github.com/xi-editor/xi-editor?branch=master#52bf34368e52369106d8eca6096a4839f7629e1e" 2379 | 2380 | [[package]] 2381 | name = "xml-rs" 2382 | version = "0.8.3" 2383 | source = "registry+https://github.com/rust-lang/crates.io-index" 2384 | checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a" 2385 | --------------------------------------------------------------------------------