Hacker News new | past | comments | ask | show | jobs | submit login
Display C sources in chrome
1 point by lrizzo on April 28, 2012 | hide | past | favorite | 2 comments
One of the most annoying features of chromium is that it downloads instead of displaying various types of files (.c, .h and so on).

After a bit of investigation i found that at least for local files you can override this by defining your preferred mime types in ~/.local/share/mime/globs2 as follows:

        > cat ~/.local/share/mime/globs2
        10:text/plain:*.c
        10:text/plain:*.cc
        10:text/plain:*.c++
        10:text/plain:*.cpp
        10:text/plain:*.h
The first field is the priority (smaller number means more important), then follows the mime type, then the pattern that you are matching. The default rules (/usr/local/share/ ...) have a priority of 50 for .c, .h and so on.

For remotely-served files, the browser relies on the MIME Type supplied by the server and the trick above does not work.

Looking at the Chromium sources

    chromium-courgette-redacted-18.0.1025.162/net/base/mime_util.cc
it seems that a partial fix can be achieved by adding the list of types we want to display to the array

    static const char* const supported_non_image_types[] = {
        ...
+ "text/x-csrc", + "text/x-chdr", ... }

although i'd rather find a way to override the server-supplied mime type in a way that does not require rebuilding Chrome.

Anyways, at least for local browsing, this seems a significant improvement.

        cheers
        luigi



There are extensions that open such files. These extensions do mainly syntax highlighting like: https://chrome.google.com/webstore/detail/cgjalgdhmbpaacnnej... https://chrome.google.com/webstore/detail/epmaefhielclhlnmjo... (offers some more features but does not work when AdBlock is enabled)

So opening instead of downloading is possible by using an extension. Perhaps an extension already exists which does that without any other features.


I use slackware on a laptop with 512mb RAM. Last time i build chromium package with slackbuilds, it takes a night long..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: