Sha256: 27b70c6ef0b753ebb4b36ecdcf5fd02c2d58661b8e5cad06a194459718fa3a0d
Contents?: true
Size: 1.08 KB
Versions: 3
Compression:
Stored size: 1.08 KB
Contents
#!/usr/bin/env ruby # linguist — detect language type for a file, or, given a directory # determine language breakdown # # usage: linguist <path> require 'linguist/file_blob' require 'linguist/repository' path = ARGV[0] || Dir.pwd if File.directory?(path) repo = Linguist::Repository.from_directory(path) repo.languages.sort_by { |_, size| size }.reverse.each do |language, size| 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' else 'Binary' end puts "#{blob.name}: #{blob.loc} lines (#{blob.sloc} sloc)" puts " type: #{type}" puts " mime type: #{blob.mime_type}" puts " language: #{blob.language}" if blob.large? puts " 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
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
github-linguist-2.9.4 | bin/linguist |
github-linguist-2.9.3 | bin/linguist |
github-linguist-2.8.12 | bin/linguist |