[meta] Run formatter

This commit is contained in:
Félix Saparelli 2019-01-26 15:15:27 +13:00
parent 3a6c6b36b2
commit 6f473bcd87
6 changed files with 48 additions and 28 deletions

View File

@ -1,6 +1,11 @@
use clap::{App, Arg, Error};
use error;
use std::{ffi::OsString, fs::canonicalize, path::{MAIN_SEPARATOR, PathBuf}, process::Command};
use std::{
ffi::OsString,
fs::canonicalize,
path::{PathBuf, MAIN_SEPARATOR},
process::Command,
};
#[derive(Clone, Debug)]
pub struct Args {
@ -36,13 +41,17 @@ pub fn get_args() -> error::Result<Args> {
}
pub fn get_args_from<I, T>(from: I) -> error::Result<Args>
where I: IntoIterator<Item=T>, T: Into<OsString> + Clone
where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
{
get_args_impl(Some(from))
}
fn get_args_impl<I, T>(from: Option<I>) -> error::Result<Args>
where I: IntoIterator<Item=T>, T: Into<OsString> + Clone
where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
{
let app = App::new("watchexec")
.version(crate_version!())
@ -130,7 +139,7 @@ where I: IntoIterator<Item=T>, T: Into<OsString> + Clone
let args = match from {
None => app.get_matches(),
Some(i) => app.get_matches_from(i)
Some(i) => app.get_matches_from(i),
};
let cmd: Vec<String> = values_t!(args.values_of("command"), String)?;

View File

@ -1,4 +1,5 @@
extern crate watchexec;
use watchexec::{cli, error, run};
fn main() -> error::Result<()> {

View File

@ -81,11 +81,8 @@ mod tests {
#[test]
fn test_filename() {
let filter = NotificationFilter::new(
&[],
&["test.json".into()],
gitignore::load(&[]),
).unwrap();
let filter =
NotificationFilter::new(&[], &["test.json".into()], gitignore::load(&[])).unwrap();
assert!(filter.is_excluded(&Path::new("/path/to/test.json")));
assert!(filter.is_excluded(&Path::new("test.json")));
@ -104,7 +101,7 @@ mod tests {
#[test]
fn test_multiple_ignores() {
let ignores = &["*.rs".into(), "*.toml".into()];
let filter = NotificationFilter::new(&[], ignores, gitignore::load(&vec![])).unwrap();
let filter = NotificationFilter::new(&[], ignores, gitignore::load(&[])).unwrap();
assert!(filter.is_excluded(&Path::new("hello.rs")));
assert!(filter.is_excluded(&Path::new("Cargo.toml")));
@ -114,8 +111,7 @@ mod tests {
#[test]
fn test_ignores_take_precedence() {
let ignores = &["*.rs".into(), "*.toml".into()];
let filter =
NotificationFilter::new(ignores, ignores, gitignore::load(&[])).unwrap();
let filter = NotificationFilter::new(ignores, ignores, gitignore::load(&[])).unwrap();
assert!(filter.is_excluded(&Path::new("hello.rs")));
assert!(filter.is_excluded(&Path::new("Cargo.toml")));

View File

@ -114,7 +114,7 @@ mod imp {
}
command
.before_exec(|| setsid().map_err(from_nix_error).map(|_|()))
.before_exec(|| setsid().map_err(from_nix_error).map(|_| ()))
.spawn()
.and_then(|p| {
Ok(Process {

View File

@ -1,13 +1,6 @@
use std::collections::HashMap;
use std::fs::canonicalize;
use std::io::Write;
use std::sync::mpsc::{channel, Receiver};
use std::sync::{Arc, RwLock};
use std::time::Duration;
use cli::{Args, clear_screen};
use cli::{clear_screen, Args};
use env_logger;
use error::{Error, Result};
use error::Result;
use gitignore;
use log;
use notification_filter::NotificationFilter;
@ -16,6 +9,15 @@ use notify;
use pathop::PathOp;
use process::{self, Process};
use signal::{self, Signal};
use std::{
collections::HashMap,
io::Write,
sync::{
mpsc::{channel, Receiver},
Arc, RwLock,
},
time::Duration,
};
use watcher::{Event, Watcher};
fn init_logger(debug: bool) {
@ -34,7 +36,9 @@ fn init_logger(debug: bool) {
pub trait Handler {
/// Initialises the `Handler` with a copy of the arguments.
fn new(args: Args) -> Result<Self> where Self: Sized;
fn new(args: Args) -> Result<Self>
where
Self: Sized;
/// Called through a manual request, such as an initial run.
///
@ -67,7 +71,10 @@ pub trait Handler {
///
/// Given an argument structure and a `Handler` type, starts the watcher
/// loop (blocking until done).
pub fn watch<H>(args: Args) -> Result<()> where H: Handler {
pub fn watch<H>(args: Args) -> Result<()>
where
H: Handler,
{
init_logger(args.debug);
let mut handler = H::new(args.clone())?;
@ -160,12 +167,20 @@ impl Handler for ExecHandler {
}
});
Ok(Self { args, signal, child_process })
Ok(Self {
args,
signal,
child_process,
})
}
fn on_manual(&mut self) -> Result<bool> {
let mut guard = self.child_process.write()?;
*guard = Some(process::spawn(&self.args.cmd, Vec::new(), self.args.no_shell));
*guard = Some(process::spawn(
&self.args.cmd,
Vec::new(),
self.args.no_shell,
));
Ok(true)
}

View File

@ -1,8 +1,7 @@
use notify::{raw_watcher, PollWatcher, RecommendedWatcher, RecursiveMode};
use std::path::PathBuf;
use std::sync::mpsc::Sender;
use notify::{raw_watcher, PollWatcher, RecommendedWatcher, RecursiveMode};
/// Thin wrapper over the notify crate
///
/// `PollWatcher` and `RecommendedWatcher` are distinct types, but watchexec