diff --git a/Cargo.lock b/Cargo.lock index 6de602f..4c017db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,6 +40,21 @@ dependencies = [ "memchr", ] +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + [[package]] name = "allocator-api2" version = "0.2.18" @@ -67,6 +82,42 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[package]] +name = "async-channel" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" +dependencies = [ + "concurrent-queue", + "event-listener 5.3.0", + "event-listener-strategy 0.5.2", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", + "pin-project-lite", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.2.0" @@ -135,6 +186,20 @@ dependencies = [ "wyz", ] +[[package]] +name = "blocking" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + [[package]] name = "borsh" version = "1.4.0" @@ -159,6 +224,27 @@ dependencies = [ "syn_derive", ] +[[package]] +name = "brotli" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19483b140a7ac7174d34b5a581b406c64f84da5409d3e09cf4fff604f9270e67" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6221fe77a248b9117d431ad93761222e1cf8ff282d9d1d5d9f53d6299a1cf76" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + [[package]] name = "bumpalo" version = "3.16.0" @@ -271,6 +357,15 @@ dependencies = [ "libloading", ] +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "core-foundation-sys" version = "0.8.6" @@ -383,6 +478,48 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.0", + "pin-project-lite", +] + [[package]] name = "fancy-regex" version = "0.13.0" @@ -394,6 +531,12 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + [[package]] name = "flate2" version = "1.0.29" @@ -410,6 +553,28 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "futures-core", + "pin-project-lite", +] + [[package]] name = "getrandom" version = "0.2.14" @@ -485,6 +650,32 @@ dependencies = [ "hashbrown 0.14.5", ] +[[package]] +name = "interprocess" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81f2533f3be42fffe3b5e63b71aeca416c1c3bc33e4e27be018521e76b1f38fb" +dependencies = [ + "blocking", + "cfg-if", + "futures-core", + "futures-io", + "intmap", + "libc", + "once_cell", + "rustc_version", + "spinning", + "thiserror", + "to_method", + "winapi", +] + +[[package]] +name = "intmap" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae52f28f45ac2bc96edb7714de995cffc174a395fb0abf5bff453587c980d7b9" + [[package]] name = "inventory" version = "0.3.15" @@ -585,6 +776,16 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + [[package]] name = "log" version = "0.4.21" @@ -710,9 +911,9 @@ dependencies = [ [[package]] name = "nu-engine" -version = "0.92.2" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd8c05bbc579270cc037ccea32553ea19aec0d355a659b39dc029174a38917c7" +checksum = "fe4acc8037f975add7e0f7d5543af22594ae836d6b87c518f1faee4b5e1667b5" dependencies = [ "nu-glob", "nu-path", @@ -722,15 +923,15 @@ dependencies = [ [[package]] name = "nu-glob" -version = "0.92.2" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f99c4b5313cee673237644ea8d5e60992306ee452325388e473e0ec28f4bea28" +checksum = "1c3ce70012e0edbcffee9ed789c55082a0f981a9d64de3f3f44ea2ad364c634c" [[package]] name = "nu-path" -version = "0.92.2" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3d36a8cfb454e06fc191676bccc67c629373506ba188f9c11706956eb813ee" +checksum = "79efe5ac6af42907fb7cc498f7c38c9ad4a7fa3168922bc4411f14459067a44f" dependencies = [ "dirs-next", "omnipath", @@ -739,30 +940,56 @@ dependencies = [ [[package]] name = "nu-plugin" -version = "0.92.2" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229ab6cac7946774dd5c626ffe57b079897beb6ad43bc4e9bcfa5a55bcf307d9" +checksum = "97553a124421684234379dbd7cdc9d97c71be03555d33d9fa3cf97e3fef9e5b7" dependencies = [ - "bincode", "log", - "miette", + "nix", "nu-engine", + "nu-plugin-core", + "nu-plugin-protocol", + "nu-protocol", + "thiserror", +] + +[[package]] +name = "nu-plugin-core" +version = "0.93.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ca62c471f46e3a573e3190a08e7913c385391965e2343c22fc0bb84c9678ab2" +dependencies = [ + "interprocess", + "log", + "nu-plugin-protocol", "nu-protocol", "rmp-serde", - "semver", "serde", "serde_json", - "thiserror", - "typetag", "windows 0.54.0", ] +[[package]] +name = "nu-plugin-protocol" +version = "0.93.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c0e09413e5e8dca9d3c082dde54ea02d13a1f4424e8244284bba4e3e5db746f" +dependencies = [ + "bincode", + "nu-protocol", + "nu-utils", + "semver", + "serde", + "typetag", +] + [[package]] name = "nu-protocol" -version = "0.92.2" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8860469803075ffe108f74efbc57edf42f853800eb845ce29efb1d9c09d91ede" +checksum = "e4de57dd87e27ffa98ad8b6d7f12608f07827ca1545731059dfa34e3362f4693" dependencies = [ + "brotli", "byte-unit", "chrono", "chrono-humanize", @@ -774,6 +1001,7 @@ dependencies = [ "nu-system", "nu-utils", "num-format", + "rmp-serde", "serde", "serde_json", "thiserror", @@ -782,9 +1010,9 @@ dependencies = [ [[package]] name = "nu-system" -version = "0.92.2" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80a3fc4b70530667f73622d5eee802684afaf9eefc39ce4fd1b078913c8fe9b7" +checksum = "5c17de2c65b6b10d503ce02ccbb7fb66de63bd2f24cf717c2aa6ad4a954459fc" dependencies = [ "chrono", "libc", @@ -801,14 +1029,16 @@ dependencies = [ [[package]] name = "nu-utils" -version = "0.92.2" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d30cd61d70368f7c197bc8d1edd894c4828a51e1c78e825f81bf5ff4de182d8b" +checksum = "7fcfe5ef7f89e30142fee34efeaecdcffa45666cffd17e894fe5d83c430e7fcc" dependencies = [ "crossterm_winapi", "log", "lscolors", + "nix", "num-format", + "serde", "strip-ansi-escapes", "sys-locale", "unicase", @@ -816,7 +1046,7 @@ dependencies = [ [[package]] name = "nu_plugin_dbus" -version = "0.5.0" +version = "0.6.0" dependencies = [ "dbus", "nu-plugin", @@ -862,12 +1092,35 @@ version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + [[package]] name = "paste" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.30" @@ -1170,6 +1423,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + [[package]] name = "rustix" version = "0.38.34" @@ -1189,6 +1451,12 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "seahash" version = "4.1.0" @@ -1262,6 +1530,15 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" +[[package]] +name = "spinning" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d4f0e86297cad2658d92a707320d87bf4e6ae1050287f51d19b67ef3f153a7b" +dependencies = [ + "lock_api", +] + [[package]] name = "strip-ansi-escapes" version = "0.2.0" @@ -1412,6 +1689,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "to_method" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" + [[package]] name = "toml_datetime" version = "0.6.5" diff --git a/Cargo.toml b/Cargo.toml index 0b54561..73a1631 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nu_plugin_dbus" -version = "0.5.0" +version = "0.6.0" edition = "2021" description = "Nushell plugin for communicating with D-Bus" @@ -14,7 +14,7 @@ repository = "https://github.com/devyn/nu_plugin_dbus" [dependencies] dbus = "0.9.7" -nu-plugin = "0.92.0" -nu-protocol = { version = "0.92.0", features = ["plugin"] } +nu-plugin = "0.93.0" +nu-protocol = { version = "0.93.0", features = ["plugin"] } serde = { version = "1.0.196", features = ["derive"] } serde-xml-rs = "0.6.0" diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..528dc25 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,4 @@ +# This should be in sync with nushell +[toolchain] +profile = "default" +channel = "1.77.2" diff --git a/src/commands/get_all.rs b/src/commands/get_all.rs index f149588..356adc9 100644 --- a/src/commands/get_all.rs +++ b/src/commands/get_all.rs @@ -17,7 +17,7 @@ impl SimplePluginCommand for GetAll { .dbus_command() .accepts_dbus_client_options() .accepts_timeout() - .input_output_type(Type::Nothing, Type::Record(vec![])) + .input_output_type(Type::Nothing, Type::Record([].into())) .required_named( "dest", SyntaxShape::String, diff --git a/src/commands/introspect.rs b/src/commands/introspect.rs index 036b413..e6c1158 100644 --- a/src/commands/introspect.rs +++ b/src/commands/introspect.rs @@ -17,7 +17,7 @@ impl SimplePluginCommand for Introspect { .dbus_command() .accepts_dbus_client_options() .accepts_timeout() - .input_output_type(Type::Nothing, Type::Record(vec![])) + .input_output_type(Type::Nothing, Type::Record([].into())) .required_named( "dest", SyntaxShape::String,