7个版本
使用旧Rust 2015
0.4.2 | 2018年3月26日 |
---|---|
0.4.1 | 2017年7月15日 |
0.3.2 | 2017年6月4日 |
0.2.0 | 2017年2月20日 |
0.0.4 |
|
#1014 in 开发工具
每月 31 次下载
15KB
241 行
Fwatcher
文件变更时自动运行命令。
安装
fwatcher
是用rust语言实现的,因此你需要cargo
命令
cargo install fwatcher
fwatcher
将被安装在你的cargo二进制目录中(~/.cargo/bin/
)。
命令行界面
fwarcher
可以用作命令
$ fwatcher -h
Usage:
fwatcher [options] CMD
Options:
-h, --help Display this message
-v, --version Print version info
-r, --restart Auto restart command, default to false
-d, --directory <dir>
Watch directory, default to current directory
-p, --pattern <pattern>
Watch file glob pattern, default to "*"
-P, --exclude_pattern <exclude_pattern>
Watch file glob pattern exclusively, default null
--delay <second>
Delay in seconds for watcher, default to 2
-i, --interval <second>
Interval in seconds to scan filesystem, default to 1
例如,在当前目录中递归查找Python文件,并在文件更新时运行pytest
fwatcher -p "**/*.py" pytest --maxfail=2
你也可以使用多个目录/模式选项
fwatcher -d src -d test -p "**/*.py" -p "**/*.html" pytest --maxfail=2
--restart
选项会在文件系统变更时杀死仍在运行的命令。可用于在更新时重新启动本地运行的web服务器,或者杀死长时间运行的测试并在更新时重新启动
fwatcher -d src -p "**/*.py" --restart run_forever_cmd
Rust 库
项目Cargo.toml
中的依赖项
[dependencies]
glob = "0.2"
notify = "4.0"
fwatcher = "*"
以下示例显示了简单用法
extern crate glob;
extern crate fwatcher;
use fwatcher::Fwatcher;
use glob::Pattern;
use std::path::PathBuf;
use std::time::Duration;
fn main() {
let dirs =vec![PathBuf::from("src")];
let cmd = vec!["pytest".to_string()];
let mut fwatcher = Fwatcher::new(dirs, cmd);
fwatcher.pattern(Pattern::new("**/*.py").unwrap())
.exclude_pattern(Pattern::new("**/.git/**").unwrap())
.interval(Duration::new(1, 0))
.restart(false)
.run();
}
依赖项
~0.8–8MB
~55K SLoC