Я пишу редактор исходного кода в Java (для исходного кода Java), и я хотел бы добавить простую подсветку синтаксиса (достаточно отличительной раскраски для ключевых слов). Любые предложения?
Где я могу найти библиотеку подсветки синтаксиса для Java?
Ответ 1
Что-то вроде JSyntaxPane
, возможно?
Очень простая в использовании и расширяющая JEditorKit, которая поддерживает несколько языков. Основная цель - упростить работу с красивыми редакторами Java Swing Editors с поддержкой выделения синтаксиса.
Ответ 2
Как насчет RSyntaxTextArea? Он использует измененную лицензию BSD.
Ответ 3
Сначала вам следует подумать об использовании общего синтаксического анализа для создания AST (абстрактного синтаксического дерева) из источников. Есть некоторые инструменты вокруг, сначала я нахожу, что интернет-гейлинг был javaparser. Похоже, что этот анализатор также записывает номера строк и столбцы, поэтому AST из javaparser может быть хорошей моделью для редактора.
Просто обработайте дерево, определите цвета для типов AST node и распечатайте его.
Ответ 4
Возможно, вам стоит посмотреть на существующий редактор (например, Notepad ++ - http://notepad-plus.sourceforge.net/uk/site.htm) и посмотреть, как выполняется выделенная пользователем подсветка синтаксиса (один из плагинов для проверки - Gmod 10 Lua Syntax Highlighter). Я бы сказал, что Java (и другие языки) выполняются аналогично...
Ответ 5
Вы должны проверить Google prettify.js. Некоторые довольно аккуратные трюки, и вы можете получить более сильное чувство подсветки синтаксиса.
Ответ 6
http://www.neathighlighter.com/ - хороший ярлык JavaScript