diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-12-27 11:09:23 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-12-27 14:12:45 +0200 |
commit | ee6ce9f5da1d780a9efe5a6126884d1f0ae1b5a2 (patch) | |
tree | 6395ce4d873cc317293e9d1929b12d4de89342fe /doc | |
parent | e37d338c901a12d8b39481da8e5f437555705e16 (diff) | |
download | direvent-ee6ce9f5da1d780a9efe5a6126884d1f0ae1b5a2.tar.gz direvent-ee6ce9f5da1d780a9efe5a6126884d1f0ae1b5a2.tar.bz2 |
Implement filename selection
* NEWS: Update.
* doc/dircond.texi: Document the file statement.
* src/fnpat.c: New file.
* src/Makefile.am (dircond_SOURCES): Add fnpat.c
* src/config.c (eventconf) <fnames>: New member.
(eventconf_free): Free fnames.
(eventconf_flush): Set fnames.
(watcher_kw) <file>: New statement.
* src/dircond.h (filename_pattern): New struct.
(handler) <fnames>: New member.
(handler_matches_event): New macro.
(filename_pattern_free)
(filename_pattern_match): New proto.
* src/ev_inotify.c (process_event): Use handler_matches_event.
* src/ev_kqueue.c: Likewise.
* src/watcher.c (deliver_ev_create): Likewise.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Likewise.
* tests/create.at: Add a distinctive keyword.
* tests/glob01.at: New testcase.
* tests/re01.at: New testcase.
* tests/re02.at: Likewise.
* tests/re03.at: Likewise.
* tests/re04.at: Likewise.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/dircond.texi | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/doc/dircond.texi b/doc/dircond.texi index a9877b3..922747f 100644 --- a/doc/dircond.texi +++ b/doc/dircond.texi @@ -758,7 +758,8 @@ a separate watcher. @group watcher @{ path @var{pathname} [recursive [@var{level}]]; - event @var{event-list}; + file @var{regexp-list}; + event @var{event-list}; command @var{command-line}; user @var{name}; timeout @var{number}; @@ -787,6 +788,30 @@ Any number of @code{path} statements can appear in a @code{watcher} block. At least one @code{path} must be defined. @end deffn +@deffn {Config} file @var{regexp-list} +Selects which files are eligible for monitoring. The argument is a +list of extended regular expressions@footnote{@xref{Extended +regexps, Extended regular expressions, Extended regular expressions, +sed, GNU sed}.} which must match the file name in +order for the watcher to act on it. Each regular expression can +optionally be surrounded by a pair of slashes and followed by the +following flags: + +@table @asis +@item b +Use basic regular expressions. + +@item i +Enable case-insensitive matching. +@end table + +For example: + +@example +file (.*\\.cfg, /.*\\.jpg/i); +@end example +@end deffn + @deffn {Config} event @var{string-list} Configures the filesystem events to watch for in the directories declared by the @code{path} statements. The argument is a list of event names. Both |