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

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

Библиотека Linguist
Библиотека Linguist / Иллюстрация с сайта GitHub

В первую очередь 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.







Интересные новости
Незавершенная версия Windows 7 работает лучше Vista
Программист открыл заблокированные возможности Windows 7
Quick Slide Show 2.32: создание flash-презентаций
Покупатели гоняются за старыми компьютерами ради Windows XP
Визуализатор V-Ray 1.5 Service Pack 2 с поддержкой 3ds Max 2009
Блок рекламы


Похожие новости

Google профинансирует добавление поддержки языка Rust в ядро Linux
Работавшую с 2016 года в Киеве бесплатную школу программирования UNIT Factory закрывают
Apple открыла доступ к своей программе Bug Bounty для всех исследователей
Украинцы считают, что знание основ программирования в будущем пригодится всем, - соцопрос
GitHub запустил пожертвования — можно поддержать open source разработчиков
Stack Overflow назвала самые популярные и высокооплачиваемые языки программирования и фреймворки
Самые небезопасные языки программирования — рейтинг WhiteSource
3 языка программирования для изучения в 2019 году
HackerRank: JavaScript обошёл Java в качестве самого популярного языка программирования
GitHub: JavaScript остается самым популярным языком программирования в 2018 году
Последние новости

Подгружаем последние новости