diff --git a/lib/linguist/blob_helper.rb b/lib/linguist/blob_helper.rb index 2310127e..bea2ad14 100644 --- a/lib/linguist/blob_helper.rb +++ b/lib/linguist/blob_helper.rb @@ -86,9 +86,23 @@ module Linguist end end + def indexable? + if !text? + false + elsif generated? + false + elsif ['.po', '.sql'].include?(pathname.extname) + false + elsif Language.find_by_extension(pathname.extname) + true + else + false + end + end + def language if text? - if pathname.extname == "" + if !Language.find_by_extension(pathname.extname) shebang_language || pathname.language else pathname.language diff --git a/test/test_blob.rb b/test/test_blob.rb index 12eb47f2..58a67b83 100644 --- a/test/test_blob.rb +++ b/test/test_blob.rb @@ -127,6 +127,15 @@ class TestBlob < Test::Unit::TestCase assert blob("public/javascripts/dragdrop.js").vendored? end + def test_indexable + assert blob("file.txt").indexable? + assert blob("file.rb").indexable? + assert !blob("defun.kt").indexable? + assert !blob("github.po").indexable? + assert !blob("dump.sql").indexable? + assert !blob("linguist.gem").indexable? + end + def test_language assert_equal Language['Ruby'], blob("foo.rb").language assert_equal Language['Ruby'], blob("script.rb").language