Commit Graph

395 Commits

Author SHA1 Message Date
Félix Saparelli f7e1639ed1
Upgrade to winapi 0.3 2019-10-28 12:17:00 +13:00
Félix Saparelli e563ae8fc1
Enable anti-unwrap lints 2019-10-28 01:12:10 +13:00
Félix Saparelli 5f7123ecbe
Lint tests too 2019-10-28 00:37:24 +13:00
Félix Saparelli a3c5bd7201
Run formatter 2019-10-28 00:31:52 +13:00
Félix Saparelli 10fac30c7b
Add editorconfig 2019-10-28 00:31:41 +13:00
Félix Saparelli d47419e385
Forbid a whole lot more clippy stuff 2019-10-28 00:31:26 +13:00
Félix Saparelli b842c149b6
Use Rust 2018 2019-10-27 23:58:00 +13:00
Félix Saparelli 0eb83a6387
Bump msrv to 1.38 2019-10-27 23:49:52 +13:00
Félix Saparelli f56e838fb9
Lints and clippys 2019-10-27 23:47:35 +13:00
Félix Saparelli 6b028cb649
Add builder for Args 2019-10-27 23:29:58 +13:00
Félix Saparelli 8e84eb6b04
Add semver policy statement 2019-10-27 22:54:44 +13:00
Sven-Hendrik Haase 3766114f40 Add zsh completions to release files 2019-10-23 17:29:44 +13:00
Sven-Hendrik Haase 63c7895407 Add --no-ignore to zsh completion 2019-10-23 17:29:44 +13:00
Sven-Hendrik Haase 43aa0947dc Add zsh completions for #118 (credit @Mange) 2019-10-23 17:29:44 +13:00
Sven-Hendrik Haase 7eafb48aa8 Prefer using --locked
This is to ensure that binaries built in this way are built reproducibly.
2019-10-23 17:28:54 +13:00
Josh Soref 0d4a2270ec spelling: supporting 2019-10-14 11:09:51 +13:00
Ryan James Spencer e90bbcb9bd Support a dedicated ignore file
ref. https://github.com/passcod/cargo-watch/issues/127

This adds support for a dedicated ignore file by the name of `.ignore` a
la `fd`, `ripgrep`, et. al.

This purely just mimics what `Gitignore` is doing except it doesn't
ignore `.git` directories. There might be more I need to tweak and the
interface might be too obtuse, but this is a first pass.

I've also added a `--no-ignore` flag which ignores both `.gitignore` and
the dedicated `.ignore`. It might make sense to add a specific flag that
ignores `.ignore` but respects `.gitignore` to support the old
behaviour, but I wasn't sure what to name it.
2019-10-12 14:13:57 +13:00
Jon Grythe Stødle c4ac0c0cbb Fix typo in `-e` description 2019-10-11 11:41:11 +13:00
Félix Saparelli 1738f26161 1.10.3 2019-07-30 11:47:37 +12:00
Leon Barrett 841d72b669 Update options in man page
The options were out of date (e.g. `-d` was debug). This updates them to
match the help text.

This also adds some documentation about separating the command with --
so that clap doesn't eat the flags intended for the command.
2019-07-30 11:44:58 +12:00
Félix Saparelli 64c7b5112e
Update Arch install instructions (close #107) 2019-06-20 15:46:39 +12:00
Félix Saparelli 0a2bc01c2f 1.10.2 2019-05-29 18:38:35 +12:00
Félix Saparelli 98b57ac64e [libs] Update notify to 4.0.12 2019-05-29 18:27:11 +12:00
Félix Saparelli 8e8410e35d [docs] Add zsh completion wiki page 2019-04-17 22:16:35 +12:00
Igor Gnatenko e59ca38c4f [meta] Exclude unneeded files from crates.io (#117) 2019-03-23 17:01:19 +13:00
Igor Gnatenko f91e23aa18 [libs] Update nix to 0.13 (#116) 2019-03-22 23:02:39 +13:00
Igor Gnatenko 22f5408bc0 Drop mktemp dependency (#115)
It is not used and depends on very very old version of uuid.

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2019-03-12 00:49:17 +13:00
SpiralP dbc52e012e [run] Always canonicalize input paths (#113)
A client may pass non-canonicalized paths into `watch`, and these are therefore not matched against the filters correctly. Thus, some events could call a Handler's `on_update` method even when an ignored file was changed.

See repro: https://github.com/SpiralP/rust-cargo-watch-test

This bug was introduced in aae5a216b0.
2019-03-04 11:40:35 +13:00
Félix Saparelli 867ef7bc3c 1.10.1 2019-02-18 21:27:57 +13:00
Félix Saparelli 4918b123d9 [run] Restore clearing of the screen on initial run 2019-02-18 21:26:21 +13:00
Josh Gao 6342f86c10 [errors] Fix infinite recursion in fmt::Display for Error (#111) 2019-02-15 17:02:07 +13:00
Félix Saparelli 8eb90738de [run] Move "once" logic to be entirely within handler 2019-01-27 15:51:49 +13:00
Félix Saparelli 4ceb70f6bf [docs] Fix logic inversion in on_manual doc comment 2019-01-27 10:24:24 +13:00
Félix Saparelli b5afcd58ae 1.10.0 2019-01-26 18:21:52 +13:00
Félix Saparelli 8ffe20d545 [libs] Update other deps 2019-01-26 18:19:57 +13:00
Félix Saparelli 63afc013c9 [libs] Update Notify 2019-01-26 18:02:27 +13:00
Félix Saparelli 578ffa1deb [run] Fix outdated comment in ExecHandler 2019-01-26 17:42:36 +13:00
Félix Saparelli 5846b64020 [run] Further dry the ExecHandler 2019-01-26 17:32:48 +13:00
Félix Saparelli 3dd2f797ab [process] Remove some more unwrap 2019-01-26 17:26:33 +13:00
Félix Saparelli 6a23f77687 [run] Pass ops by reference when possible 2019-01-26 17:20:29 +13:00
Félix Saparelli ede5505a6b [run] Dry spawning the child process 2019-01-26 17:16:07 +13:00
Félix Saparelli 5e44cafb94 [windows] Attempt to use tput to clear the screen
In some situations, this may clear the screen better than a call to
`cls`, and in all other cases `cls` is called anyway.

May help #99
2019-01-26 15:22:09 +13:00
Félix Saparelli 6f473bcd87 [meta] Run formatter 2019-01-26 15:15:27 +13:00
Félix Saparelli 3a6c6b36b2
Merge pull request #105 from watchexec/c-bindings
Library changes for #103, building on #104
2019-01-26 15:09:39 +13:00
Félix Saparelli aae5a216b0 [api] Make watchexec take a Handler rather than a callback
Instead of special-casing the callback, which is the path least-taken,
switch the internals to a Handler model, where the default behaviour is
an implementation of a Handler, and external callers can implement their
own Handlers and pass them in.

While doing so, change all unwraps in run::run to returning Errs, and
expand the watchexec Error enum to accommodate. That should make it
easier to use as a library.

Also, differentiate between "manual" and "on update" runs. For now the
only manual run is the initial run, but this paves the way for e.g.
keyboard- or signal- triggered runs.
2019-01-26 14:45:13 +13:00
Félix Saparelli ac3a4f0717 [pathop] Revert changes adding a time field 2019-01-26 14:40:30 +13:00
Félix Saparelli b49bf74dd6 [meta] Revert .gitignore change 2019-01-26 09:16:43 +13:00
Félix Saparelli 65db0dfae1 [meta] Revert version bump 2019-01-26 09:16:02 +13:00
David Ziegler 7b3daeef9c Major changes for c bindings integration as third party crate (see project: github/InfinityMod/watchexec_c).
Changed version to 1.9.3 for third party crate compatibility detection.
2019-01-23 18:56:09 +01:00
Félix Saparelli 62d24168d6
Merge pull request #102 from Mange/fix-tty-output
Support running commands that allocate their own TTYs (*nix)
2019-01-19 18:48:43 +13:00