 
 exports.file = {
 
+  # ## Text File Ops
+
   # Open a text based file synchronously
   open: (file)->
     return fs.readFileSync file, { encoding: 'utf8' }

  traverse: (directoryPath, callback)->
    fyle.walkSync directoryPath, callback

  # this is because fs.existsSync is getting deprecated
  exists: (filePath)->
    try
      # Query the entry
      stats = fs.lstatSync(filePath)
      # Is it a directory?
      if stats.isDirectory()
        # Yes it is
        return false
      else
        return true
    catch e
      return false

  isFolder: (filePath)
    if @exists(filePath)
      stats = fs.statSync(filePath)
      if stats.isDirectory()
        return true
      else
        return false
    else
      return false

  cleanPath: (filePath)->
    return path.normalize(filePath)

  delete: (filePath)->
    fs.removeSync filePath


  # validate that the file extension ends with the desired extension, if not, append
  ensureExtension: (filePath, ext)->

  # save data to a path
  save: (file, data)->
    fs.writeFileSync file, data

  # ## Synchronous File Ops

  exists: (filePath)->
    # this is because fs.existsSync is getting deprecated
    try
      # Query the entry
      stats = fs.lstatSync(filePath)
      # Is it a directory?
      if stats.isDirectory()
        # Yes it is
        return false
      else
        return true
    catch e
      return false

  isFolder: (filePath)
    if @exists(filePath)
      stats = fs.statSync(filePath)
      if stats.isDirectory()
        return true
      else
        return false
    else
      return false


  copy: (source, destination, clobber) ->
    options = { clobber: false }
