 					@unwatch(source)
 					@emit('delete', source)
 
+	# Stop watching a 'source' file or directory for changes
+	# @param {String} source
 	unwatch: (source) ->
 		if @watchers[source]?
 			try

			catch err
			delete @watchers[source]

	clean: ->
		@unwatch(source) for source of @watchers


module.exports = class Watcher extends events.EventEmitter

	# Constructor
	# @param {RegExp} ignore
	constructor: (@ignore = /^\./) ->
		@watchers = {}

	# Watch a 'source' file or directory for changes
	# @param {String} source
	watch: (source) ->
		unless @ignore.test(path.basename(source))
			stats = fs.statSync(source)
