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

Вышла версия Android 7.1.1 Nougat для линейки Pixel и Nexus

Компания Google выпустила новую версию операционной системы Android 7.1.1 Nougat для гаджетов линейки Pixel и Nexus. дальше »

IDC: Android доминирует на мировом рынке смартфонов

Специалисты аналитической компании IDC провели анализ рынка операционных систем в 2016 году, и в своем докладе привели ряд прогнозируемых данных. дальше »

Выпущена финальная версия Android 7.1 Developer Preview

Компания Google выпустила финальную версию превью обновления Android 7.1 Nougat для разработчиков. дальше »

Microsoft представила приложение Defender Hub как единый центр безопасности в Windows 10

Для участников программы тестирования Windows Insider выпущено приложение Defender Hub, которое, в перспективе может стать единым центром безопасности. дальше »

Microsoft присоединилась к Linux Foundation

Компания получила «платиновый» статус и место в совете директоров некоммерческой организации Linux Foundation. дальше »

Samsung предлагает 10 тысяч долларов в месяц за лучшие мобильные приложения для Tizen

Компания Samsung анонсировала международную программу Tizen Mobile App Incentive Program, в рамках которой планирует потратить 9 миллионов долларов на поддержку разработки мобильных приложений для Linux-платформы Tizen. дальше »

HTML 5.1 получил статус рекомендованного стандарта

Консорциум W3C объявил о придании набору спецификаций HTML 5.1 статуса рекомендованного стандарта. дальше »

Окончание периода бесплатного обновления замедлило распространение Windows 10

NetMarketShare: В течение октября прирост обновлений до Windows 10 составил всего 0,06%, в итоге доля рынка ОС поднялась до 22,59%. дальше »

Facebook объявила о запуске собственной игровой платформы Gameroom

Компания Facebook запустила собственную игровую платформу Gameroom, которая составит конкуренцию сервису Steam цифрового распространения компьютерных игр и программ компании Valve, известного разработчика компьютерных игр. дальше »

Исправлена критическая уязвимость в ядре Linux

Выпущено обновление ядра Linux, исправляющее ряд уязвимостей. Наиболее опасная из них приводит к повышению привилегий. дальше »