     deferred
 
   ignorePath: (path) ->
-    fs.base(path).match(/\.DS_Store/) or path.match(/(^|\/)\.git(\/|$)/)
+    _.find @ignoredPathRegexes, (regex) -> path.match(regex)
+
+  ignorePathRegex: ->
+    @ignoredPathRegexes.map((regex) -> "(#{regex.source})").join("|")
 
   resolve: (filePath) ->
     filePath = fs.join(@getPath(), filePath) unless filePath[0] == '/'


  scan: (regex, iterator) ->
    regex = new RegExp(regex.source, 'g')
    command = "grep --null --perl-regexp --with-filename --line-number --recursive --regexp=\"#{regex.source}\" #{@getPath()}"
    ChildProcess.exec command, bufferLines: true, stdout: (data) ->
      for grepLine in data.split('\n') when grepLine.length
        nullCharIndex = grepLine.indexOf('\0')

  autoIndent: null
  softTabs: null
  softWrap: null
  ignoredPathRegexes: null

  constructor: (path) ->
    @setPath(path)
