         @tags.delete path
 
   destroy: ->
-    @watcher.close()
+    for k, dir of @watcher
+      dir.close()
     @watcher = null
     @tags = null
 

          return false if s.mode & 0o0040000
          # console.log f, s
          not (f.endsWith('.hs') or f.endsWith('.lhs') )
      @watcher
      .on 'add', (path) =>
        @update path
      .on 'change', (path) =>

class Tags
  constructor: ->
    @tags = new Map
    @watcher = {}
    atom.project.getPaths().forEach (dir) =>
      @update dir
      @watcher[dir] = chokidar.watch dir,
        useFsEvents: true
        ignoreInitial: true
        ignored: (f, s) ->
