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

На новой версии Apple Swift теперь можно создавать приложения для Android

Язык Apple Swift, с момента анонса в 2014 году пережил немало изменений. Изменения касались небольших улучшений, переходу на open source и теперь, новая версия позволяет компилировать приложения также и для Android. дальше »

Представлена первая бета–версия ОС Android N

На конференциях разработчиков Google I/O часто представляются новые версии операционной системы Android. Однако в нынешнем году компания отступила от традиционной стратегии и еще до конференции выпустила две сборки Android N Developer Preview. дальше »

Lenovo готовит обновление прошивки для Vibe Shot

Компания Lenovo предоставила для закрытого тестирования команде lenovo–forums новую прошивку к популярному смартфону Lenovo Vibe Shot. дальше »

Google открыл код SyntaxNet

Компания Google анонсировала открытие исходных текстов фреймворка SyntaxNet, предоставляющего модель парсинга, описывающую синтаксис естественного языка. дальше »

SAP Business One Sales: новое приложение для розничной и оптовой торговли

Компания SAP SE объявила о выходе SAP Business One Sales – нового мобильного приложения для SAP Business One, работающего на базе платформы SAP HANA. дальше »

Выпущено приложение WhatsApp для ПК

Компания WhatsApp представила официальные десктопные версии своего приложения для OS Х и Windows. дальше »

Microsoft прекратит бесплатные обновления до Windows 10 с 30 июля 2016 года

С 29 июля 2015 года — именно в этот день появилась возможность апдейта до Windows 10 — по текущий момент времени количество устройств, использующих «десятку» в том или ином виде, достигло 300 млн единиц. дальше »

Cortana на ПК будет работать только с ПО Microsoft

Компания Microsoft сообщила о том, что голосовой помощник Cortana для Windows 10 теперь будет работать только в браузере Edge и с поиском Bing без поддержки сторонних браузеров и поисковых движков. дальше »

Microsoft Word Flow будет выпущен для iOS

Microsoft официально выпустит популярную среди пользователей фанатовм Windows Phone, клавиатуру для iOS и Android. дальше »

Google выпустила стабильную версию среды разработки Android Studio 2.0

Состоялся официальный анонс стабильной версии интегрированной среды разработки под платформу Android – Android Studio 2.0. дальше »