LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

На джава есть подсветка, на том же гитхабе в поиск зайди, но оно также всё на регулярках.

Слишком сложный был бы разбор 300+ языков построением их AST. Так что тут у кого круче и точнее регулярки, и кто охватывает большее количество ЯП, того и выбирают.

А это стрёмно, но видимо единственным выходом это покопаться в сырцах IDEA или Eclipse и вычленить от туда подсветку на базе AST … Или можно GraalVM копнуть, там сразу в довесок можно получить AST других ЯП, помимо джавы… Заодно группа поддержки в телеграме есть, можно у них спросить как это всё вытащить для подсветки синтаксиса.

И в этом случае получится решение всего для нескольких языков. От Clang/LLVM можно тоже подсветку заюзать. Да только смысл такого, если в блог иногда постятся кусочки на самых разных ЯП в т.ч и экзотических.

Глянул Pygments, так себе, работает с ошибками, похоже тупо на регулярках (еще не глядел сырцы) http://pygments.org/demo/6796957/?style=solarized-dark В конце подсвечивает Pug и strong, которые просто являются TextNode

Ну Pug (я даже не знаю что это блин такое), не настолько уж популярный язык, чтобы его поддержка была идеальной. Тем не менее, она имеется и если не писать код, в котором ключевые слова будут конфликтовать с токенами, всё будет приемлемо.

P.S. Highlight Js даже не знает, что такое этот Pug.

Просто пример из жизни – я взял себе для Wordpress-блога плагин подсветки Crayon Syntax Highlighter, понадобилось мне про QML сделать заметку – всё, никакой поддержки этого языка нет, подсвечивается всё как новогодняя ёлка.

Исходная версия EXL, :

На джава есть подсветка, на том же гитхабе в поиск зайди, но оно также всё на регулярках.

Слишком сложный был бы разбор 300+ языков построением их AST. Так что тут у кого круче и точнее регулярки, и кто охватывает большее количество ЯП, того и выбирают.

А это стрёмно, но видимо единственным выходом это покопаться в сырцах IDEA или Eclipse и вычленить от туда подсветку на базе AST … Или можно GraalVM копнуть, там сразу в довесок можно получить AST других ЯП, помимо джавы… Заодно группа поддержки в телеграме есть, можно у них спросить как это всё вытащить для подсветки синтаксиса.

И в этом случае получится решение всего для нескольких языков. От Clang/LLVM можно тоже подсветку заюзать. Да только смысл такого, если в блог иногда постятся кусочки на самых разных ЯП в т.ч и экзотических.

Глянул Pygments, так себе, работает с ошибками, похоже тупо на регулярках (еще не глядел сырцы) http://pygments.org/demo/6796957/?style=solarized-dark В конце подсвечивает Pug и strong, которые просто являются TextNode

Ну Pug (я даже не знаю что это блин такое), не настолько уж популярный язык, чтобы его поддержка была идеальной. Тем не менее, она имеется и если не писать код, в котором ключевые слова будут конфликтовать с токенами, всё будет приемлемо.

А вот я взял себе для Wordpress-блога Crayon Syntax Highlighter, понадобилось мне про QML сделать заметку – всё, никакой поддержки нет подсвечивается как новогодняя ёлка.