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

Приложения Microsoft будут предустановлены на телефоны и планшеты Acer

Microsoft заключила соглашение с компанией Acer, в рамках которого некоторые смартфоны и планшеты последней будут оснащаться приложениями и сервисами американского производителя. дальше »

Windows 10 автоматически установится на ПК пользователей

С 1 февраля статус обновления Windows 7 и Windows 8.1 до Windows 10 стал не опциональным, а рекомендованным. дальше »

Oracle прекратит поставку браузерного Java–плагина

Компания Oracle приняла решение прекратить разработку, поддержку и поставку браузерного плагина в Java SE. дальше »

Microsoft опубликовал на GitHub систему машинного обучения CNTK

Компания Microsoft сообщила о публикации на GitHub исходных текстов тулкита (средств разработки) CNTK (Computational Network Toolkit) с реализацией алгоритмов глубокого машинного обучения. дальше »

Samsung готов обновить ряд своих смартфонов до Android 6.0 Marshmallow

Samsung готовится к обновлению своих смартфонов до актуальных версий Android, поскольку некоторые производители уже довели обновления для актуальных моделей до Android 6.0 Marshmallow. дальше »

Apple наняла хакеров для работы над iOS

Apple наняла известных хакеров, которые создали несколько джейлбрейков iOS, для работы над новой версией операционной системы. дальше »

Опубликован вариант Android для ПК

Компания Jide Technology, основанная несколькими бывшими инженерами из Google, опубликовала первый общедоступный выпуск Remix OS, специализированныой редакции платформы Android для ПК и ноутбуков. дальше »

Windows 10 Mobile установлена на более чем 1 млн устройств

Хотя компания Microsoft не является лидером на рынке смартфонов, она всё же медленно, но уверенно наращивает свою долю. дальше »

В Android 7.0 Google откажется от Java

Google объявила о том, что больше не собирается использовать набор API Java от Oracle в будущих версиях своей операционной системы Android. дальше »

Apple открыла исходный код языка программирования Swift

В начале декабря 2015 года компания Apple объявила о публикации исходного кода нового языка программирования для её программных платформ — Swift. дальше »