dotvim/.vim/bundle/command-t/ruby/command-t/finder/file_finder.rb
2015-07-02 10:45:40 +02:00

35 lines
1.1 KiB
Ruby

# Copyright 2010-2014 Greg Hurrell. All rights reserved.
# Licensed under the terms of the BSD 2-clause license.
require 'command-t/ext' # CommandT::Matcher
require 'command-t/finder'
require 'command-t/scanner/file_scanner/ruby_file_scanner'
require 'command-t/scanner/file_scanner/find_file_scanner'
require 'command-t/scanner/file_scanner/watchman_file_scanner'
require 'command-t/scanner/file_scanner/git_file_scanner'
module CommandT
class FileFinder < Finder
def initialize(path = Dir.pwd, options = {})
case options.delete(:scanner)
when 'ruby', nil # ruby is the default
@scanner = FileScanner::RubyFileScanner.new(path, options)
when 'find'
@scanner = FileScanner::FindFileScanner.new(path, options)
when 'watchman'
@scanner = FileScanner::WatchmanFileScanner.new(path, options)
when 'git'
@scanner = FileScanner::GitFileScanner.new(path, options)
else
raise ArgumentError, "unknown scanner type '#{options[:scanner]}'"
end
@matcher = Matcher.new @scanner, options
end
def flush
@scanner.flush
end
end # class FileFinder
end # module CommandT