GitHub открыла Linguist — библиотеку для определения языка программирования

Опубликовано: 6 июля 2011 г., среда

 

Разработчики популярного сервиса GitHub опубликовали исходный код одного из собственных инструментов — библиотеки Linguist (на Ruby), используемой для определения языка программирования, на котором написан публикуемый на хостинге файл.

В первую очередь Linguist учитывает расширение файла — это позволяет определить язык программирования в большинстве случаев. Если не помогает, то проверяется наличие так называемого «shebang» (последовательность символов «#!», принятая для последующего указания интерпретатора, которому передается контент скрипта). Кроме того, изучается и непосредственно содержимое файлов, где по различным популярным ключевым фразам осуществляется окончательная попытка определить используемый язык программирования.

Этим функции библиотеки Linguist не ограничиваются. В ней реализованы и некоторые другие возможности, которые нашли свое применение на GitHub:

  • подсветка синтаксиса, реализованная с помощью своей обертки Albino над Pygments;
  • определение типа MIME: большая часть работы осуществляется стандартной mime–types gem из Ruby, но авторы сделали несколько добавок и надстроек;
  • статистический модуль, с помощью которого строится Language Graph на GitHub (составляет список используемых в проекте языков программирования и их популярность) и общий рейтинг Top Languages.

Исходный код библиотеки Linguist распространяется под Open Source–лицензией MIT и доступен, естественно, на самом GitHub.

Источник: GitHub, h-online.com, nixp.ru
Копировать, распространять, публиковать информацию портала News.lt без письменного согласия редакции запрещено.

Комментарии Facebook

Новый комментарий


Captcha

Для Nexus–устройств выпущен патч безопасности

Компания Google выпустила специальное обновление безопасности для Nexus–устройств, которые работают на ОС Android 7.0 Nougat. дальше »

Microsoft — первая компания по количеству контрибьюторов в Open Source–проектах

Согласно опубликованным на прошлой неделе статистическим данным онлайн–хранилища кода GitHub, корпорация Microsoft вышла на первое место по количеству людей, которые вносят вклад в Open Source–проекты. дальше »

Релиз среды разработки Android Studio 2.2

Компания Google выпустила релиз интегрированной среды разработки Android Studio 2.2, построенной на базе исходных текстов продукта IntelliJ IDEA Community Edition, созданного компанией JetBrains. дальше »

Выход Java 9 переносится на июль 2017 года

Компания Oracle в очередной раз не укладывается в сроки подготовки JDK 9. Если изначально релиз JDK 9 был запланирован на 22 сентября 2016 года, а затем перенесён на 23 марта 2017 года, то теперь разработчики просят сдвинуть релиз ещё на 4 месяца. дальше »

Уже доступна финальная версия watchOS 3

Компания Apple анонсировала выход финальной версии watchOS 3 для смарт–часов Apple Watch. дальше »

Вышел обновленный пакет Microsoft Office для iOS с новыми функциями

Среди наиболее популярных продуктов Microsoft для iOS  – пакет приложений Office, который недавно получил обновление с рядом функциональных возможностей. дальше »

Сегодня Apple представит финальную версию iOS 10

13 сентября 2016 года Apple официально представит iOS 10. дальше »

Операционная система PC–BSD перешла в новую ОС — TrueOS

Авторы проекта PC–BSD — операционной системы для десктопов, основанной на FreeBSD, — объявили о переименовании в TrueOS. дальше »

Опубликована первая открытая альтернативная реализация клиента Skype

После пяти лет исследований протокола Ефим Бушманов объявил о готовности первого выпуска альтернативного клиента Skype, выполненного на основе обратного инжиниринга протокола оригинального клиента Skype 5.5. дальше »

iOS 10 будет доступна для загрузки 30 сентября

30 сентября состоится релиз финальной версии новой программной платформы iOS 10, предназначенной для iPhone, iPad и iPod touch. дальше »