GitHub открыла Linguist — библиотеку для определения языка программирования
1Иллюстрация с сайта GitHub
Разработчики популярного сервиса GitHub опубликовали исходный код одного из собственных инструментов — библиотеки Linguist (на Ruby), используемой для определения языка программирования, на котором написан публикуемый на хостинге файл.
В первую очередь Linguist учитывает расширение файла — это позволяет определить язык программирования в большинстве случаев. Если не помогает, то проверяется наличие так называемого «shebang» (последовательность символов «#!», принятая для последующего указания интерпретатора, которому передается контент скрипта). Кроме того, изучается и непосредственно содержимое файлов, где по различным популярным ключевым фразам осуществляется окончательная попытка определить используемый язык программирования.
Этим функции библиотеки Linguist не ограничиваются. В ней реализованы и некоторые другие возможности, которые нашли свое применение на GitHub:
- подсветка синтаксиса, реализованная с помощью своей обертки Albino над Pygments;
- определение типа MIME: большая часть работы осуществляется стандартной mime-types gem из Ruby, но авторы сделали несколько добавок и надстроек;
- статистический модуль, с помощью которого строится Language Graph на GitHub (составляет список используемых в проекте языков программирования и их популярность) и общий рейтинг Top Languages.
Исходный код библиотеки Linguist распространяется под Open Source-лицензией MIT и доступен, естественно, на самом GitHub.
Постоянная ссылка к новости: http://www.nixp.ru/news/11277.html. Дмитрий Шурупов по материалам GitHub, h-online.com.
Uber открыла код вероятностного языка программирования на Python — Pyro
Эталонный компилятор языка D — DMD — лицензирован как Open Source
AnyChart открыла для некоммерческого использования JavaScript-библиотеки для визуализации данных
Apple открыла исходный код языка программирования Swift 1
Facebook открыла код JavaScript-фреймворка Relay для приложений на основе React 1
Независимые разработчики создают свободную реализацию языка Swift от Apple 2
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Языки программирования можно и ручками указывать (как сделано на launchpad.net). Лучше бы прикрутили поддержку локализации (получение po, предоставление интерфейса для перевода).
Как по мне, то GitHub — неплохая альтернатива launchpad.net. Вот только нету такой вкусности как поддержка работы с локализацией.
Эхх. Куча фичь мне нравится в launchpad.net, куча оных — в GitHub. А так чтобы всё в одном флаконе — пока нету :(