Commit Graph

298 Commits

Author SHA1 Message Date
Thibaud Guillaume-Gentil
e752dbe1c1 Maybe first working version (but still a work in progress) 2011-08-29 21:25:58 +02:00
Thibaud Guillaume-Gentil
8ff259b249 Version 0.6.2 2011-08-17 16:07:23 +02:00
Michael Kessler
0e1564ef3b Revert "remove growl support completely"
This reverts commit 7f87411189.
2011-08-17 14:27:40 +02:00
Rémy Coutable
652c3d8661 Merge branch 'master' into hook
Conflicts:
	lib/guard.rb
	lib/guard/dsl.rb
	spec/guard/dsl_spec.rb
	spec/guard_spec.rb
2011-08-17 10:45:20 +02:00
Thibaud Guillaume-Gentil
af408ceb65 Add thread in guard interactor 2011-08-17 10:07:30 +02:00
Rémy Coutable
dc2ab97d23 Pass the group in the options hash instead of a new parameter in the Guard::Guard.initialize method! 2011-08-17 10:04:42 +02:00
Rémy Coutable
32904356cb Merge branch 'master' into hook 2011-08-17 01:47:25 +02:00
Rémy Coutable
563b020d4f Oops (worked on 1.9.2 only) :) 2011-08-17 01:36:44 +02:00
Rémy Coutable
eb347ee266 Merge branch 'master' into hook
Conflicts:
	Gemfile
	Guardfile
	README.markdown
	Rakefile
	lib/guard.rb
	lib/guard/dsl.rb
	lib/guard/interactor.rb
	lib/guard/listener.rb
	lib/guard/ui.rb
	lib/guard/watcher.rb
	spec/guard/dsl_spec.rb
	spec/guard/notifier_spec.rb
2011-08-17 01:34:27 +02:00
Rémy Coutable
1c59a7825d Merge branch 'master' of github.com:guard/guard 2011-08-17 00:40:05 +02:00
Rémy Coutable
dd86402109 Add @groups attributes to keep track of the groups, ordered as in the Guardfile 2011-08-17 00:39:45 +02:00
Rémy Coutable
6f7ce6feb7 On a guard's initialization, pass the group in which it's been declared in the Guardfile, pass group's name on Guard.add_guard and thus in the Dsl 2011-08-17 00:36:02 +02:00
Rémy Coutable
0b945f10ec Ensure that scoped groups and group name are symbolized before checking for inclusion.
This is useful since Dsl.evaluate_guardfile can be called directly (hence, options are note passed by Thor, which stringify options).
2011-08-17 00:26:03 +02:00
Thibaud Guillaume-Gentil
d6e27fe334 Merge branch 'master' into stdin
Conflicts:
	Guardfile
2011-08-16 09:08:05 +02:00
Thibaud Guillaume-Gentil
d268f236bf Version 0.6.1 2011-08-15 09:53:10 +02:00
Rémy Coutable
52cf570245 Merge pull request #120 from mordaroso/ego
Fix re-evaluating Guardfile
2011-08-14 11:29:02 -07:00
mordaroso
820501bf15 remove guardfile_contents when re-evaluating so that the Guardfile gets reloaded correctly 2011-08-14 18:41:05 +02:00
Ches Martin
87375c7a1f evaluate_guardfile uses all groups if none specified. Fixes #118 2011-08-14 15:16:16 +07:00
Thibaud Guillaume-Gentil
2c81e5b9bd Version 0.6.0 2011-08-13 16:47:23 +02:00
Thibaud Guillaume-Gentil
573ddf9d9d First trial to remove Posix Signals interaction 2011-08-13 16:43:32 +02:00
Thibaud Guillaume-Gentil
3c326611e9 Merge pull request #99 from johnbintz/also-use-growl_notify
Option to also use growl_notify gem
2011-08-13 07:42:08 -07:00
Rob Eanes
e846068e89 Polling#watch_change should use listener directory, not Dir.pwd 2011-08-12 10:03:06 -05:00
Daniel Mack
3663687ad6 Add ':transient => true' to default libnotify options
This is a new feature in libnotify causing transitions to vanish after
they've been displayed.
2011-08-11 11:24:14 +02:00
Christian Höltje
091ecf3322 Add list command to CLI
This adds a list command, that shows all available
guard gems.

https://github.com/guard/guard/issues/111
2011-08-08 20:11:22 -04:00
Michael Kessler
9175b33da4 Merge branch 'master' of https://github.com/uk-ar/guard into uk-ar-master
Conflicts:
	CHANGELOG.md
	lib/guard.rb
	lib/guard/cli.rb
2011-08-05 14:37:08 +02:00
Dmytrii Nagirniak
0c15b442f8 show error when loading guard fails (solves problem when you have no clue what's wrong) 2011-08-02 20:49:15 +10:00
Dmytrii Nagirniak
ed6a93ac74 small spelling fix 2011-08-02 20:03:15 +10:00
Rémy Coutable
b34cd1acfb Based on @ttilley explanation in https://github.com/thibaudgg/rb-fsevent/issues/17, signal handlers registration should happen before any subprocess creation (fsevent_watch for instance) to be properly catches by the subprocess.
Note that in the case when guard is run via bundler, this –quoting @ttilley– "would make this an unsolvable problem" (isn't it dramatic?! ;)).
2011-07-30 23:58:53 +02:00
Rémy Coutable
6b30238735 Use #[] instead of #has_key? since it is more flexible (accept symbol as key for actual string keys in the hash). 2011-07-29 09:05:40 +02:00
Rémy Coutable
1481604411 Rename Guard::Dsl.revaluate_guardfile to Guard::Dsl.reevaludate_guardfile 2011-07-29 00:22:53 +02:00
Rémy Coutable
48057cb6c8 New CLI options: watchdir and guardfile thanks to @nestegg! 2011-07-28 23:59:31 +02:00
Rémy Coutable
a366e0f8dd Merge branch 'nestegg' of git://github.com/nestegg/guard into nestegg-watchdir_and_guardfile_cli_options 2011-07-28 22:44:03 +02:00
Rémy Coutable
9b711ea7fb Merge branch 'master' of https://github.com/stereobooster/guard into stereobooster-master
Conflicts:
	lib/guard/ui.rb
2011-07-25 23:28:54 +02:00
Doug Renn
8e129c585a Add a command line option for directory to watch 2011-07-22 16:10:36 -06:00
Doug Renn
e3bbdbfa42 Add a command line option to specify the guardfile 2011-07-22 15:27:03 -06:00
Doug Renn
ee8489fb83 Don't assume watched directory, use value from listener 2011-07-22 11:57:49 -06:00
Rémy Coutable
06be2107af Dir.glob now ignores files that don't need to be watched
By default, we don't watch ., .., .bundle, .git (this is HUGE), log, tmp and vendor (this is also HUGE). Also don't append '/' to the dir given to Guard::Listener#potentially_modified_files, the method now handles it internally.

In my case, Guard::Listener#potentially_modified_files was taking ~56 seconds (in a big Rails project), it takes now... less than 1 second.

Enjoy.
2011-07-21 01:40:40 +02:00
Rémy Coutable
9cc1cf64d1 Use Guard::Listener#worker as much as possible 2011-07-21 01:30:22 +02:00
Rémy Coutable
802d134165 Don't add attr_reader and attr_writer when unecessary
Rename Guard::Listener#relativate_paths to Guard::Listener#relativize_paths
2011-07-21 01:29:05 +02:00
Rémy Coutable
8a1ca41626 Moved Guard::Listener#update_last_event inside Guard::Listener#modified_files
Since the pattern was to always call Guard::Listener#update_last_event after Guard::Listener#modified_files.
2011-07-21 01:25:06 +02:00
Rémy Coutable
a318e03ad1 Added a debug message when running run_on_change
So the debug mode is a little more useful...

Also added timestamp in debug print
2011-07-21 01:21:04 +02:00
Thibaud Guillaume-Gentil
76c2977b67 Version 0.5.1 2011-07-15 08:35:12 +02:00
Thibaud Guillaume-Gentil
694664ced8 Closes #100 2011-07-15 08:32:34 +02:00
Scott Bronson
8d27fff74d Fix undefined method `empty?' for nil:NilClass error 2011-07-14 11:42:26 -07:00
Benjamin Quorning
13e325ca52 Grammar fix 2011-07-12 04:06:55 -07:00
John Bintz
7f87411189 remove growl support completely 2011-07-06 15:45:20 -04:00
yuuki arisawa
8d02eec38c Add support not to change files when dry run. 2011-07-02 19:16:06 +09:00
Thibaud Guillaume-Gentil
649920b7f0 Version 0.5.0 2011-07-02 10:23:18 +02:00
Thibaud Guillaume-Gentil
e7cc14152d Merge branch 'master' of github.com:guard/guard 2011-07-02 10:01:54 +02:00
Thibaud Guillaume-Gentil
ba0b84838d Integrated Guard::Ego inside Guard, oh yeah! 2011-07-02 10:01:45 +02:00
John Bintz
facd4f2a0b force use of Guard application name when using growl_notify 2011-07-01 11:52:24 -04:00
Michael Kessler
d78ecb45fb Change inotify event flags (Closes #12).
There have been some issues with Guard in Linux, which all lead back
to the selection of the proper inotify flags. It seems that almost each
editors behaves different when it comes to save a file. @jeffutter
started to collect information about these events, which are now listed
in the Guard wiki:

https://github.com/guard/guard/wiki/Analysis-of-inotify-events-for-different-editors

If you miss your favorite editor, please add your analysis to the list.
2011-06-30 09:23:12 +02:00
John Bintz
b13255a9f8 more test and support for growl_notify 2011-06-28 16:53:23 -04:00
John Bintz
e53036ad05 add support for growl_notify 2011-06-28 16:15:14 -04:00
yuuki arisawa
847b2b8740 Added some specs,and some lines in README/CHANGELOG for dry-run option.
And added support for Kernel.#` and %x literal.
2011-06-28 22:13:24 +09:00
yuuki arisawa
49d14b1360 Added dry_run option for Guardfile debug 2011-06-26 00:13:26 +09:00
Julio Capote
8e91b5f737 Forgot to join the backtrace array with newlines for better output 2011-06-22 17:00:15 -07:00
Julio Capote
673fa0eebc Better exception handling
This shows the backtrace when there is a problem with a watch action, makes for easier watch debugging
2011-06-22 16:47:12 -07:00
Thibaud Guillaume-Gentil
8c5be4536b Merge pull request #92 from tpope/hidden_home_config_file
Make home Guardfile hidden
2011-06-22 12:22:18 -07:00
Tim Pope
524af462d9 Make home Guardfile hidden 2011-06-22 10:54:50 -04:00
John Bintz
72f31c9eba inspect values rather than simply print them, so that strings appear quoted 2011-06-21 10:34:11 -04:00
John Bintz
ae320fe003 remove useless method 2011-06-21 09:58:02 -04:00
John Bintz
ef79b5e720 use Guard::UI instead of straight puts 2011-06-21 09:55:04 -04:00
John Bintz
aa3010af91 show the guards defined in the Guardfile with 'guard show' or 'guard -T' 2011-06-21 09:54:52 -04:00
Yann Lugrin
a6f3ebebfa Linux listener work more like others listeners
Now use modified_file method from listener api to ensure similar
behavior to the other platform. This change avoid unwanted behavior
when multiple events are raised for a file (like running tests more
one times).
2011-06-20 16:09:47 +02:00
stereobooster
2b6d524cfb add const ANSI_ESCAPE_BRIGHT = "1" 2011-06-20 05:33:08 -07:00
stereobooster
3464d59cb7 more color support for UI 2011-06-20 05:26:44 -07:00
stereobooster
e4514ab298 Fix issue #12. Test it without win32console. 2011-06-20 03:13:28 -07:00
Yann Lugrin
043d285894 don't return directories when requesting files 2011-06-20 10:08:32 +02:00
Rémy Coutable
20dd08e977 Write exception details using UI.error, and UI.error will now output "ERROR:" in red! 2011-06-19 20:24:47 +02:00
Rémy Coutable
5573e0d221 Merge branch 'dont_swallow_error_on_running_task' of https://github.com/mcmire/guard into mcmire-dont_swallow_error_on_running_task 2011-06-19 19:49:19 +02:00
Rémy Coutable
709f63754e Cleaned/improved description of CLI options 2011-06-19 12:22:32 +02:00
Rémy Coutable
5996951685 Really? "return"? 2011-06-19 12:22:09 +02:00
Elliot Winkler
b41f31e420 If running a task for a guard and it borks, don't swallow the error but print the backtrace 2011-06-18 16:30:00 -06:00
Ricardo Markiewicz
d51b457b71 Improve INotify support on linux (fixes #79 #82)
Improve usage with several text editors that writes to temporal
files and then move over the original filename instead of write
files directly. Tested with GEdit, Nano, vim (with 'set backup'
and 'set nobackup') and emacs.
2011-06-17 18:48:35 +02:00
slavic
61b0a7aa05 Fix issue #12. Specs don't work. Fails beacause of ".git/index" 2011-06-17 00:36:16 +03:00
Konstantin Shabanov
668e0f4d85 Use RbConfig instead of obsolete and deprecated Config. 2011-06-16 18:14:51 +07:00
Yann Lugrin
ca7b98099c Watching dotfile (hidden files under unix) fix #80 2011-06-15 18:02:32 +02:00
Rémy Coutable
21f5a41f88 Actually clear the terminal before the setup (don't clear setup messages). 2011-06-08 12:25:44 +02:00
Rémy Coutable
ddc6f26b91 Clear the terminal on start when the :clear option is given 2011-06-08 12:16:36 +02:00
Thibaud Guillaume-Gentil
952d4b4b81 Version 0.4.2 2011-06-08 09:12:06 +02:00
Thibaud Guillaume-Gentil
a2b3927a2e Fixed Guard::Version in ruby 1.8.7 2011-06-08 09:10:26 +02:00
Thibaud Guillaume-Gentil
1681bc8b45 Version 0.4.1 2011-06-07 21:27:19 +02:00
Thibaud Guillaume-Gentil
7360e4a8cd Merge branch 'enhancements' of https://github.com/mislav/guard into mislav-enhancements 2011-06-07 21:16:28 +02:00
Yann Lugrin
d41e9fe7fe don't use system notification library if could not be required 2011-06-07 17:58:02 +02:00
Mislav Marohnić
2997ed6962 skip version comparison if Gem::Version is not available
This decouples Guard from RubyGems
2011-06-07 15:46:30 +02:00
Mislav Marohnić
17a654b171 refactor get_guard_class to first try the constant and fallback to require
This enables defining inline guard handlers to override ones present in gems,
e.g. you could define an inline Guard::RSpec handler and have guard use that
instead of first trying to load 'guard/rspec' from the 'guard-rspec' gem.

Also gets rid of the ill-named method `try_to_load_gem`. Handlers are simply
found in the $LOAD_PATH and don't have to necessarily come from gems.
2011-06-07 15:42:45 +02:00
Mislav Marohnić
03aa0b0df8 gemspec: avoid adding the "lib/" directory to load path
Simply reading the gemspec shouldn't activate the gem by adding its
files to the load path.
2011-06-07 15:42:44 +02:00
Thibaud Guillaume-Gentil
ff6629f6f1 Version 0.4.0 2011-06-05 20:53:36 +02:00
Thibaud Guillaume-Gentil
deec4135a9 Updated version deps for rb-fsevent & rb-inotify 2011-06-04 21:38:09 +02:00
Thibaud Guillaume-Gentil
5808a3cf23 Removed merged code commented 2011-06-02 23:58:07 +02:00
Rémy Coutable
cb5843aa47 In Ruby < 1.9, Symbol#downcase doesn't exist! 2011-06-02 00:40:37 +02:00
John Bintz
087f51085f allow symbols for group names 2011-06-01 14:17:31 -04:00
Michael Kessler
320706e2f5 Merge pull request #51 from indirect/guard
---

This change allows guard plugins (like guard-rspec) to pass options (like :priority) up to the Growl notifier. With this change, things like indirect/rspec-guard@d2f01d69a7 are possible, and the growl notification colors can be customized depending on the outcome of the spec run.

Conflicts:
	lib/guard/notifier.rb
2011-05-30 16:45:15 +02:00
Thibaud Guillaume-Gentil
527e42c8e1 Version 0.4.0.rc 2011-05-28 20:24:57 +02:00
Rémy Coutable
11c3e0b782 Keeping the Changelog up to date and improved the Readme 2011-05-28 19:39:18 +02:00
Thibaud Guillaume-Gentil
42e4413cf2 Fixed guard init 2011-05-28 18:18:45 +02:00
Thibaud Guillaume-Gentil
85ed0f8217 Merge branch 'master' of github.com:guard/guard 2011-05-28 17:53:27 +02:00
Thibaud Guillaume-Gentil
1747f66128 Merge branch 'user_guardfile' of https://github.com/hashrocket/guard into hashrocket-user_guardfile
Conflicts:
	lib/guard/dsl.rb
	spec/guard/dsl_spec.rb
2011-05-28 17:52:50 +02:00
Thibaud Guillaume-Gentil
973aba4375 Merge pull request #64 from stereobooster/master
Windows notifications
2011-05-28 08:32:45 -07:00