
Я редактирую длинный HTML-документ в Kate и хотел бы иметь возможность «закрывать» части, над которыми я сейчас не работаю. Но это новый документ, и самый высокий уровень модуляризации использует section
, а не div
. Это HTML-тег, и мой Kate (версия 3.8.4) его не распознает. Он отлично работает с div
и другими старыми элементами.
Я начал искать, есть ли способ получить эту поддержку в Kate. Я могу себе представить, что моя версия старая (это то, что поставлялось с Debian stable), но я не хочу обновлять ее, если только в новой версии действительно нет поддержки HTML5. Странно, но я не могу найти много документации по тому, что мне нужно: ни списка "новейших функций" Kate, ни даже информации о том, какой номер версии является самой последней.
Имеет ли новейшая версия Kate поддержку HTML5? Если да, то целесообразно ли устанавливать ее из исходников? В конце концов, многие мои программы, которые пришли из репозиториев, полагаются на Kate, например Kile? И если у нее нет поддержки HTML5, есть ли другой способ получить ее, может быть, с помощью какого-то плагина?
решение1
У меня установлен Kate 3.13.2, и он демонстрирует то же поведение, что вы описываете. Однако вы можете изменить Kate, чтобы получить желаемое поведение, отредактировав схему синтаксиса html, которую использует Kate.
Сначала найдите файл синтаксиса html для Кейт. Для моей установки это на
/usr/share/apps/katepart/syntax/html.xml
В верхней части этого файла находится список тегов, которые определяют регионы, и именно эти регионы являются сворачиваемыми. Чтобы добавить в этот список, просто скопируйте и вставьте строку для открывающего и закрывающего тега и отредактируйте соответствующим образом. Ниже приведено различие, показывающее мое добавление и несколько строк по обе стороны от него.
*** html.xml.orig 2014-06-25 19:40:40.000000000 +0000
--- html.xml 2014-06-25 19:41:08.000000000 +0000
***************
*** 23,28 ****
--- 23,29 ----
<RegExpr attribute="Element" context="JS" String="<script\b" insensitive="TRUE" beginRegion="script" />
<RegExpr attribute="Element" context="El Open" String="<pre\b" insensitive="TRUE" beginRegion="pre" />
<RegExpr attribute="Element" context="El Open" String="<div\b" insensitive="TRUE" beginRegion="div" />
+ <RegExpr attribute="Element" context="El Open" String="<section\b" insensitive="TRUE" beginRegion="section" />
<RegExpr attribute="Element" context="El Open" String="<table\b" insensitive="TRUE" beginRegion="table" />
<RegExpr attribute="Element" context="El Open" String="<ul\b" insensitive="TRUE" beginRegion="ul" />
<RegExpr attribute="Element" context="El Open" String="<ol\b" insensitive="TRUE" beginRegion="ol" />
***************
*** 30,35 ****
--- 31,37 ----
<RegExpr attribute="Element" context="El Open" String="<&name;" />
<RegExpr attribute="Element" context="El Close" String="</pre\b" insensitive="TRUE" endRegion="pre" />
<RegExpr attribute="Element" context="El Close" String="</div\b" insensitive="TRUE" endRegion="div" />
+ <RegExpr attribute="Element" context="El Close" String="</section\b" insensitive="TRUE" endRegion="section" />
<RegExpr attribute="Element" context="El Close" String="</table\b" insensitive="TRUE" endRegion="table" />
<RegExpr attribute="Element" context="El Close" String="</ul\b" insensitive="TRUE" endRegion="ul" />
<RegExpr attribute="Element" context="El Close" String="</ol\b" insensitive="TRUE" endRegion="ol" />
Перезагрузите Кейт и откройте html-файл, и теперь вы сможете свернуть по тегу section. Это не добавляет полной поддержки HTML5, но удовлетворяет вашу потребность в сворачивании по этому тегу. Также обратите внимание, что вам нужно сохранить резервную копию этого отредактированного файла, так как он, скорее всего, будет стерт при следующем обновлении Кейт.
Полученные результаты: