 watchDir = (source, base) ->
   readdirTimeout = null
   try
+    watchedDirs[source] = yes
     watcher = fs.watch source, ->
       clearTimeout readdirTimeout
       readdirTimeout = wait 25, ->

outputPath = (source, base, extension=".js") ->
  basename  = helpers.baseFileName source, yes, useWinPathSep
  srcDir    = path.dirname source
  baseDir   = if base in ['.', './'] then srcDir else srcDir.substring base.length
  dir       = if opts.output then path.join opts.output, baseDir else srcDir
  path.join dir, basename + extension

# Write out a JavaScript source file with the compiled code. By default, files

sources      = []
sourceCode   = []
notSources   = {}
watchedDirs  = {}
optionParser = null

# Run `coffee` by parsing passed options and determining what action to take.
