title: How can I pass gulp.watch() to a pipe?
body: <p>I have a simple default tasking for linting changed js files:</p>
  
  <pre><code>    gulp.task('default', function() {
          // watch for JS changes
          gulp.watch(base + 'javascripts/**/*.js', function() {
              gulp.run('jshint');
          });
      });
  </code></pre>
  
  <p>The problem is that the <code>jshint</code> task again sources the files:</p>
  
  <pre><code>    gulp.task('jshint', function() {
          gulp.src([base + 'javascripts/*.js'])
              .pipe(jshint())
              .pipe(jshint.reporter('default'));
      });
  </code></pre>
  
  <p>What happens is that <em>all</em> files are linted, not only the changed ones. </p>
  
  <p>Is there a way to pass only the changed files to jshint?</p>