Add file inspection to bin

This commit is contained in:
Joshua Peek
2011-05-25 13:12:24 -05:00
parent a00013a077
commit 31f5882774

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env ruby
require 'linguist/blob'
require 'linguist/file_blob'
require 'linguist/repository'
path = ARGV[0] || Dir.pwd
@@ -11,6 +11,36 @@ if File.directory?(path)
percentage = ((size / repo.size.to_f) * 100).round
puts "%-4s %s" % ["#{percentage}%", language]
end
elsif File.file?(path)
blob = Linguist::FileBlob.new(path, Dir.pwd)
type = if blob.text?
'Text'
elsif blob.image?
'Image'
elsif blob.binary?
'Binary'
else
'???'
end
puts "#{blob.name}: #{blob.loc} lines (#{blob.sloc} sloc)"
puts " type: #{type}"
puts " extension: #{blob.pathname.extname}"
puts " mime type: #{blob.mime_type}"
puts " content type: #{blob.content_type}"
puts " language: #{blob.language}"
if blob.large?
puts " large (blob is too large to be shown"
end
if blob.generated?
puts " appears to be generated source code"
end
if blob.vendored?
puts " appears to be a vendored file"
end
else
abort "usage: linguist <path>"
end