Подсветка синтаксиса Makefile в Jforms, используя JEditorPane? - PullRequest
0 голосов
/ 12 декабря 2018

Я работаю с JEditorPane в Java, используя JForms, который отображает файл, который открывает пользователь, когда на него нажимают.JEditorPane отображает этот файл и на данный момент имеет подсветку синтаксиса для многих файлов, таких как c, c ++, java, python и т. Д.

Я просматриваю код и вижу, где он инициализирует этот кодвыделите синтаксис для примерных строк, которые я нашел в операторе switch, в зависимости от того, что пользователь открывает

fileType = "text/xml";//all in a switch statement not exact code
fileType = "text/c";
fileType = "text/cpp";

, а затем JEditorPane устанавливает тип содержимого с помощью строки

editorPane.setContentType(fileType);

Так что ясделал, изменил код для распознавания make-файлов.Я добавил весь необходимый код для нового типа файла makefile и просто чтобы убедиться, что он работает правильно, я использовал подсветку синтаксиса cpp, чтобы убедиться, что я правильно его кодировал, и да, все мои make-файлы открывались на панели редактора с помощью подсветки c ++.

Теперь я добавил новый contentType, чтобы посмотреть, будет ли он работать, заменив строки, которые использовали подсветку синтаксиса c ++ в моих make-файлах, на

contentType = "text/makefile";

, а также

contentType = "text/x-makefile"; 

просто дляПосмотрите, когда я открою make-файл, он правильно выделит синтаксис, а это не так.

Я углубился в код, в частности метод setContentType, и увидел, что это скомпилированный код.Так что я предполагаю, что все эти другие типы файлов и их возможности подсветки синтаксиса встроены в Java, и для работы подсветки синтаксиса make-файла я должен использовать пользовательский код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...