Linguist: Object-C code detected while absolute zero files are present, also, no files are detected.

Created on 30 Oct 2017  路  6Comments  路  Source: github/linguist

Hi All :)

I have this repo: https://github.com/RedBeardLab/rediSQL

The github bar says that most of the code is in Objective-C

screenshot from 2017-10-30 12-44-45

While actually no code in Objective-C is committed in the project.

Moreover, If I click on Objective-C, the page is completely empty (this is actually correct).

How can I fix this?

Best Regards,

Most helpful comment

This comes from the big sqlite3.h header:

$ linguist --breakdown
85.92%  Objective-C
11.06%  Rust
2.98%   Python
0.03%   C++

Rust:
build.rs
src/lib.rs
src/redis.rs
src/redisql_error.rs
src/sqlite.rs

C++:
redis_dependencies.h
sqlite_dependencies.h

Objective-C:
sqlite3.h

Python:
test/correctness/test.py
test/performance/rediSQL_bench.py

To fix this you could add a .gitattibrutes file and set this header as vendored (just like what is described in the README):

sqlite3.h linguist-vendored

And yes, it's actually a C header, not Objective-C. This has been discussed before, I'm sure you will find references of other issues with a simple search. C and Objective-C headers (C++ as well) can be highly ambiguous.

As for the code not appearing when you filter the repo by language, I can't explain why. I'm guessing it won't show header files, but we need to wait for a specialist.

All 6 comments

This comes from the big sqlite3.h header:

$ linguist --breakdown
85.92%  Objective-C
11.06%  Rust
2.98%   Python
0.03%   C++

Rust:
build.rs
src/lib.rs
src/redis.rs
src/redisql_error.rs
src/sqlite.rs

C++:
redis_dependencies.h
sqlite_dependencies.h

Objective-C:
sqlite3.h

Python:
test/correctness/test.py
test/performance/rediSQL_bench.py

To fix this you could add a .gitattibrutes file and set this header as vendored (just like what is described in the README):

sqlite3.h linguist-vendored

And yes, it's actually a C header, not Objective-C. This has been discussed before, I'm sure you will find references of other issues with a simple search. C and Objective-C headers (C++ as well) can be highly ambiguous.

As for the code not appearing when you filter the repo by language, I can't explain why. I'm guessing it won't show header files, but we need to wait for a specialist.

Thank you!!!

That really solved my problem.

I didn't think about using linguist to figure out what was wrong in the repo.

I leave it open since we haven't figured out why github didn't show the list of files.

Feel free to close the issues, though.

I leave it open since we haven't figured out why github didn't show the list of files.

I can answer that. What's happening here is a little odd due to the way Linguist works versus how search works.

Linguist is detecting sqlite3.h as Objective-C and thanks to its size (480KB) is responsible for for it being marked as the predominant language.

Search on the other hand is ignoring the file because of its size. Files larger than 384KB are not indexed hence it doesn't show up in the search results.

This comes up a bit so I'm going to add it to the troubleshooting section in the README file.

Great! :+1:
Do you need the issues to be open, or I can close it?

I think we've covered everything so I'm gonna close it.

I'm happy that it worked for you @siscia! I think this issue can be closed.

Thanks @lildude for the enlightenment. I knew a specialist would know the precise reason. For me, the 384KB limit was something new. Back to reading docs 馃槵

Yes please do add to the README if possible. It would really benefit from the greater visibility.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

philiparvidsson picture philiparvidsson  路  4Comments

oldmud0 picture oldmud0  路  6Comments

Sanchez3 picture Sanchez3  路  4Comments

GabLeRoux picture GabLeRoux  路  6Comments

lucasrodes picture lucasrodes  路  6Comments