История изменений
Исправление 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 сделать заметку – всё, никакой поддержки нет подсвечивается как новогодняя ёлка.