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

Move to iOS — новая утилита для полной миграции с Android на iOS

Одновременно с выходом iOS 9, компания Apple сделала доступным для загрузки новое приложение Move to iOS — утилиту, позволяющую перенести все данные с Android на iOS. дальше »

Google открыла исходный код движка машинного обучения TensorFlow для разработчиков

Компания Google опубликовала исходный код движка машинного обучения TensorFlow, сделав его доступным для заинтересованных в развитии технологий искусственного интеллекта. дальше »

Обновление Android 6 получат не только флагманские модели Huawei

Китайская компания Huawei планирует выпустить обновления программного обеспечения 15 моделей смартфонов Huawei до Android 6.0 Marshmallow. дальше »

Android 6.0 поддерживает подтверждение покупок в Google Play с помощью отпечатков пальцев

Покупки в онлайн–магазине Google Play будут более удобными благодаря новой ОС Android 6.0 Marshmallow, которая обеспечивает аутентификацию отпечатков пальце при авторизации покупок. дальше »

Windows 10 Mobile выйдет в ноябре

Следующее большое обновление третьей по популярности мобильной операционной системы ожидается в ноябре. дальше »

Выпуск свободной системы 3D–моделирования Blender 2.76

Вышел релиз Blender 2.76 — свободного, профессионального пакета для создания трёхмерной компьютерной графики. В новом выпуске разработчикам удалось добиться значительного прироста производительности на GPU, основанных на чипах AMD, независимо от типа используемой операционной системы. дальше »

HP анонсировала новую сетевую операционную систему OpenSwitch на базе Linux

Компания HP объявила о запуске Open Source–проекта OpenSwitch — сетевой операционной системы на базе Linux. дальше »

Wine появится на Android

Как сообщила компания CodeWeavers, будет выпущено приложение Wine на платформе Android. Данный инструмент позволяет запускать на Linux и OS X приложения Windows. дальше »

Опубликованы исходные тексты платформы Android 6.0

Компания Google анонсировала выпуск мобильной платформы Android 6.0 («Marshmallow») и публикацию связанных с ней исходных текстов. дальше »

Android 6.0 Marshmallow: обновление для смартфонов и планшетов Nexus

Google официально объявила дату выхода новейшей версии свой мобильной операционной системы, а именно Android 6.0 Marhshmallow. дальше »