Свяжите дополнительное расширение с существующим лексером

Есть ли простой способ добавить имя файла и / или расширение для существующего лексера в фрагментах? Я не хочу писать или создавать подкласс существующего, поскольку язык один и тот же, но файл имеет другое расширение / имя.

Я пытался взломать его и добавить в filenames переменная класса (где-то в /usr/lib/python2.7/dist-packages/pygments/lexers/agile.py), но по какой-то причине это не сработало.

Мне было интересно, что-то вроде .pygments файл, в котором пользователи могут связывать дополнительные имена с лексерами, но, похоже, сейчас это невозможно.

Каков наилучший способ достижения моей цели тогда?

1 ответ

Хорошо, я нашел решение: после добавления имен файлов / расширений в требуемый Lexer, вам нужно восстановить отображение:

cd /usr/lib/python2.7/dist-packages/pygments/lexers/; sudo python _mapping.py; cd -

Это не 100% чистое решение, так как в случае обновления пакета ваши изменения пропадут, но это довольно быстро и просто.

Другие вопросы по тегам