12 releases (breaking)
0.9.0 | Jun 18, 2024 |
---|---|
0.8.0 | Jun 22, 2022 |
0.7.2 | Mar 22, 2022 |
0.7.1 | Jul 13, 2021 |
0.2.0 | Nov 23, 2019 |
#186 in Filesystem
48,492 downloads per month
Used in 5 crates
(4 directly)
200KB
4.5K
SLoC
This crate provides a client to the watchman file watching service.
Start with the Connector struct and use it to connect and return a Client struct, Client::resolve_root to resolve a path and initiate a watch, and then Client::query to perform a query, or Client::subscribe to subscribe to file changes in real time.
This example shows how to connect and expand a glob from the current working directory:
use watchman_client::prelude::*;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut client = Connector::new().connect().await?;
let resolved = client
.resolve_root(CanonicalPath::canonicalize(".")?)
.await?;
// Basic globs -> names
let files = client.glob(&resolved, &["**/*.rs"]).await?;
println!("files: {:#?}", files);
Ok(())
}
Dependencies
~4–11MB
~109K SLoC