- PVSM.RU - https://www.pvsm.ru -
Всем привет!
Неожиданно для себя я узнал, что Geany IDE не умеет подсвечивать парные HTML/XML теги. Т.е. ставим курсор в середину тега, должен подсветиться этот тег и его пара (открывающая или закрывающая). Гугление показало, что фичи действительно нет, и она присутствует в виш-листе.
Не долго думая, я решил добавить такую возможность. Если Вам интересно узнать подробности, обсудить/покритиковать результат, принять участие в опросе, а также посоветовать, что добавить, пока не вышла Geany 1.24, добро пожаловать под кат!
Сразу оговорюсь, что данная статья не является мануалом по написанию плагинов для Geany. Все это доходчиво и подробно описано в официальной документации.
Удостоверившись, что плагин “Hello World”, который описан в официальном мануале, работает как ожидалось и выполняет все свои полезные функции, я начал думать над алгоримом. Решил подсмотреть реализацию данной фичи в Notepad++. В процессе сделал для себя интересное открытие: В Geany и Notepad++ используется один движок – Scintilla. От этого показалось, что Notepad++ подходит еще больше: мало того, что в нем есть нужная фича, так еще и реализована на нужном движке.
В результате Notepad++ мне не подошел по нескольким причинам:
Именно слов, блок-схему рисовать желания не было. Алгоритм для поиска закрывающего тега описан ниже. Поиск открывающего работает аналогично, только вверх по документу.
Исходный код уже замержен в master ветку Geany. Посмотреть можно на гитхабе [1].
Для желающих попробовать в деле, которые писали мне на почту, я выложил собранный плагин в блоге [2] (64-битная сборка для Linux).
Ранее на официальном сайте [3] публиковались только плагины, которые есть в релизе. Посовещавшись с сообществом в IRC, это дело я поправил [4], после чего PairTagHihlighter появился на сайте [5] еще до релиза Geany 1.24.
Также интересно узнать, что приоритетно пользователям. Не обещаю, что все сделаю, но время от времени хочется покодить for fun. Код плагина я писал еще в апреле, и вот вернулся к нему снова.
Автор: vmkononenko
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/43165
Ссылки в тексте:
[1] гитхабе: https://github.com/geany/geany-plugins/tree/master/pairtaghighlighter
[2] блоге: http://kononenko.ws/en/blog/2013-06-06/pairtaghighlighter_for_geany_1.23
[3] официальном сайте: http://plugins.geany.org
[4] поправил: https://github.com/geany/plugins.geany.org/commit/7281c688cd4fb9d5fc9be6b4e13dfdb0e341db07
[5] появился на сайте: http://plugins.geany.org/pairtaghighlighter.html
[6] Источник: http://habrahabr.ru/post/193490/
Нажмите здесь для печати.