Nushell plugin for interacting with D-Bus
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update Deps, Fix for serde-xml-rs 0.8.2

Ben C f22d9598 47e1e232

+61 -63
+36 -50
Cargo.lock
··· 10 10 11 11 [[package]] 12 12 name = "aho-corasick" 13 - version = "1.1.3" 13 + version = "1.1.4" 14 14 source = "registry+https://github.com/rust-lang/crates.io-index" 15 - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 15 + checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 16 16 dependencies = [ 17 17 "memchr", 18 18 ] ··· 166 166 167 167 [[package]] 168 168 name = "cc" 169 - version = "1.2.41" 169 + version = "1.2.45" 170 170 source = "registry+https://github.com/rust-lang/crates.io-index" 171 - checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" 171 + checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe" 172 172 dependencies = [ 173 173 "find-msvc-tools", 174 174 "shlex", ··· 320 320 321 321 [[package]] 322 322 name = "erased-serde" 323 - version = "0.4.8" 323 + version = "0.4.9" 324 324 source = "registry+https://github.com/rust-lang/crates.io-index" 325 - checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b" 325 + checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" 326 326 dependencies = [ 327 327 "serde", 328 328 "serde_core", ··· 358 358 359 359 [[package]] 360 360 name = "flate2" 361 - version = "1.1.4" 361 + version = "1.1.5" 362 362 source = "registry+https://github.com/rust-lang/crates.io-index" 363 - checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9" 363 + checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" 364 364 dependencies = [ 365 365 "crc32fast", 366 366 "miniz_oxide", ··· 506 506 507 507 [[package]] 508 508 name = "js-sys" 509 - version = "0.3.81" 509 + version = "0.3.82" 510 510 source = "registry+https://github.com/rust-lang/crates.io-index" 511 - checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" 511 + checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" 512 512 dependencies = [ 513 513 "once_cell", 514 514 "wasm-bindgen", ··· 679 679 680 680 [[package]] 681 681 name = "mio" 682 - version = "1.0.4" 682 + version = "1.1.0" 683 683 source = "registry+https://github.com/rust-lang/crates.io-index" 684 - checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 684 + checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" 685 685 dependencies = [ 686 686 "libc", 687 687 "log", 688 688 "wasi", 689 - "windows-sys 0.59.0", 689 + "windows-sys 0.61.2", 690 690 ] 691 691 692 692 [[package]] ··· 1056 1056 1057 1057 [[package]] 1058 1058 name = "proc-macro2" 1059 - version = "1.0.102" 1059 + version = "1.0.103" 1060 1060 source = "registry+https://github.com/rust-lang/crates.io-index" 1061 - checksum = "8e0f6df8eaa422d97d72edcd152e1451618fed47fabbdbd5a8864167b1d4aff7" 1061 + checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" 1062 1062 dependencies = [ 1063 1063 "unicode-ident", 1064 1064 ] ··· 1106 1106 1107 1107 [[package]] 1108 1108 name = "quote" 1109 - version = "1.0.41" 1109 + version = "1.0.42" 1110 1110 source = "registry+https://github.com/rust-lang/crates.io-index" 1111 - checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" 1111 + checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" 1112 1112 dependencies = [ 1113 1113 "proc-macro2", 1114 1114 ] ··· 1278 1278 1279 1279 [[package]] 1280 1280 name = "serde-xml-rs" 1281 - version = "0.6.0" 1281 + version = "0.8.1" 1282 1282 source = "registry+https://github.com/rust-lang/crates.io-index" 1283 - checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" 1283 + checksum = "53630160a98edebde0123eb4dfd0fce6adff091b2305db3154a9e920206eb510" 1284 1284 dependencies = [ 1285 1285 "log", 1286 1286 "serde", ··· 1339 1339 1340 1340 [[package]] 1341 1341 name = "signal-hook-mio" 1342 - version = "0.2.4" 1342 + version = "0.2.5" 1343 1343 source = "registry+https://github.com/rust-lang/crates.io-index" 1344 - checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" 1344 + checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" 1345 1345 dependencies = [ 1346 1346 "libc", 1347 1347 "mio", ··· 1419 1419 1420 1420 [[package]] 1421 1421 name = "syn" 1422 - version = "2.0.108" 1422 + version = "2.0.110" 1423 1423 source = "registry+https://github.com/rust-lang/crates.io-index" 1424 - checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" 1424 + checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" 1425 1425 dependencies = [ 1426 1426 "proc-macro2", 1427 1427 "quote", ··· 1549 1549 1550 1550 [[package]] 1551 1551 name = "unicode-ident" 1552 - version = "1.0.20" 1552 + version = "1.0.22" 1553 1553 source = "registry+https://github.com/rust-lang/crates.io-index" 1554 - checksum = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06" 1554 + checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" 1555 1555 1556 1556 [[package]] 1557 1557 name = "unicode-linebreak" ··· 1588 1588 1589 1589 [[package]] 1590 1590 name = "wasm-bindgen" 1591 - version = "0.2.104" 1591 + version = "0.2.105" 1592 1592 source = "registry+https://github.com/rust-lang/crates.io-index" 1593 - checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" 1593 + checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" 1594 1594 dependencies = [ 1595 1595 "cfg-if", 1596 1596 "once_cell", ··· 1600 1600 ] 1601 1601 1602 1602 [[package]] 1603 - name = "wasm-bindgen-backend" 1604 - version = "0.2.104" 1605 - source = "registry+https://github.com/rust-lang/crates.io-index" 1606 - checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" 1607 - dependencies = [ 1608 - "bumpalo", 1609 - "log", 1610 - "proc-macro2", 1611 - "quote", 1612 - "syn", 1613 - "wasm-bindgen-shared", 1614 - ] 1615 - 1616 - [[package]] 1617 1603 name = "wasm-bindgen-macro" 1618 - version = "0.2.104" 1604 + version = "0.2.105" 1619 1605 source = "registry+https://github.com/rust-lang/crates.io-index" 1620 - checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" 1606 + checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" 1621 1607 dependencies = [ 1622 1608 "quote", 1623 1609 "wasm-bindgen-macro-support", ··· 1625 1611 1626 1612 [[package]] 1627 1613 name = "wasm-bindgen-macro-support" 1628 - version = "0.2.104" 1614 + version = "0.2.105" 1629 1615 source = "registry+https://github.com/rust-lang/crates.io-index" 1630 - checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" 1616 + checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" 1631 1617 dependencies = [ 1618 + "bumpalo", 1632 1619 "proc-macro2", 1633 1620 "quote", 1634 1621 "syn", 1635 - "wasm-bindgen-backend", 1636 1622 "wasm-bindgen-shared", 1637 1623 ] 1638 1624 1639 1625 [[package]] 1640 1626 name = "wasm-bindgen-shared" 1641 - version = "0.2.104" 1627 + version = "0.2.105" 1642 1628 source = "registry+https://github.com/rust-lang/crates.io-index" 1643 - checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" 1629 + checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" 1644 1630 dependencies = [ 1645 1631 "unicode-ident", 1646 1632 ] ··· 2049 2035 2050 2036 [[package]] 2051 2037 name = "xml-rs" 2052 - version = "0.8.27" 2038 + version = "0.8.28" 2053 2039 source = "registry+https://github.com/rust-lang/crates.io-index" 2054 - checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" 2040 + checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" 2055 2041 2056 2042 [[package]] 2057 2043 name = "zerocopy"
+1 -1
Cargo.toml
··· 17 17 nu-plugin = "0.108.0" 18 18 nu-protocol = { version = "0.108.0", features = ["plugin"] } 19 19 serde = { version = "1.0.228", features = ["derive"] } 20 - serde-xml-rs = "0.6.0" 20 + serde-xml-rs = "0.8.1"
+6 -6
flake.lock
··· 7 7 ] 8 8 }, 9 9 "locked": { 10 - "lastModified": 1761155197, 11 - "narHash": "sha256-3NcqyhZkWrqY0qlnXqtV82vGwaQ7Be3Ll1w7+NPzq8w=", 10 + "lastModified": 1762844981, 11 + "narHash": "sha256-Sghy+Gi+zcUDFfdDJuKyPMtF/klSTeWjmJZoQH7SwzA=", 12 12 "owner": "nix-community", 13 13 "repo": "flakelight", 14 - "rev": "5afd70555737c62786b69a64980e7bb1c1947956", 14 + "rev": "faf9643dce373b7a556c77af8f8b961a75a066a4", 15 15 "type": "github" 16 16 }, 17 17 "original": { ··· 22 22 }, 23 23 "nixpkgs": { 24 24 "locked": { 25 - "lastModified": 1761114652, 26 - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", 25 + "lastModified": 1762844143, 26 + "narHash": "sha256-SlybxLZ1/e4T2lb1czEtWVzDCVSTvk9WLwGhmxFmBxI=", 27 27 "owner": "NixOS", 28 28 "repo": "nixpkgs", 29 - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", 29 + "rev": "9da7f1cf7f8a6e2a7cb3001b048546c92a8258b4", 30 30 "type": "github" 31 31 }, 32 32 "original": {
+18 -6
src/introspection.rs
··· 1 1 use nu_protocol::{record, Span, Value}; 2 2 use serde::Deserialize; 3 + use serde_xml_rs::SerdeXml; 3 4 4 5 macro_rules! list_to_value { 5 6 ($list:expr, $span:expr) => { ··· 10 11 #[derive(Debug, Clone, Deserialize, PartialEq, Eq, Default)] 11 12 #[serde(rename_all = "kebab-case")] 12 13 pub struct Node { 13 - #[serde(default)] 14 + #[serde(default, rename = "@name")] 14 15 pub name: Option<String>, 15 16 #[serde(default, rename = "interface")] 16 17 pub interfaces: Vec<Interface>, ··· 20 21 21 22 impl Node { 22 23 pub fn from_xml(xml: &str) -> Result<Node, serde_xml_rs::Error> { 23 - let mut deserializer = serde_xml_rs::de::Deserializer::new_from_reader(xml.as_bytes()) 24 - .non_contiguous_seq_elements(true); 24 + dbg!(xml); 25 + let config = SerdeXml::new().overlapping_sequences(true); 26 + let mut deserializer = serde_xml_rs::de::Deserializer::from_config(config, xml.as_bytes()); 25 27 Node::deserialize(&mut deserializer) 26 28 } 27 29 ··· 74 76 #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] 75 77 #[serde(rename_all = "kebab-case")] 76 78 pub struct Interface { 79 + #[serde(rename = "@name")] 77 80 pub name: String, 78 81 #[serde(default, rename = "method")] 79 82 pub methods: Vec<Method>, ··· 117 120 #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] 118 121 #[serde(rename_all = "kebab-case")] 119 122 pub struct Method { 123 + #[serde(rename = "@name")] 120 124 pub name: String, 121 125 #[serde(default, rename = "arg")] 122 126 pub args: Vec<MethodArg>, ··· 160 164 #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] 161 165 #[serde(rename_all = "kebab-case")] 162 166 pub struct MethodArg { 163 - #[serde(default)] 167 + #[serde(default, rename = "@name")] 164 168 pub name: Option<String>, 169 + #[serde(rename = "@type")] 165 170 pub r#type: String, 166 - #[serde(default)] 171 + #[serde(default, rename = "@direction")] 167 172 pub direction: Direction, 168 173 } 169 174 ··· 215 220 #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] 216 221 #[serde(rename_all = "kebab-case")] 217 222 pub struct Signal { 223 + #[serde(rename = "@name")] 218 224 pub name: String, 219 225 #[serde(default, rename = "arg")] 220 226 pub args: Vec<SignalArg>, ··· 239 245 #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] 240 246 #[serde(rename_all = "kebab-case")] 241 247 pub struct SignalArg { 242 - #[serde(default)] 248 + #[serde(default, rename = "@name")] 243 249 pub name: Option<String>, 250 + #[serde(rename = "@type")] 244 251 pub r#type: String, 245 252 } 246 253 ··· 260 267 #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] 261 268 #[serde(rename_all = "kebab-case")] 262 269 pub struct Property { 270 + #[serde(rename = "@name")] 263 271 pub name: String, 272 + #[serde(rename = "@type")] 264 273 pub r#type: String, 274 + #[serde(rename = "@access")] 265 275 pub access: Access, 266 276 #[serde(default, rename = "annotation")] 267 277 pub annotations: Vec<Annotation>, ··· 304 314 #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] 305 315 #[serde(rename_all = "kebab-case")] 306 316 pub struct Annotation { 317 + #[serde(rename = "@name")] 307 318 pub name: String, 319 + #[serde(rename = "@value")] 308 320 pub value: String, 309 321 } 310 322