
Estou editando um longo documento HTML no Kate e adoraria poder "fechar" as partes nas quais não estou trabalhando no momento. Mas este é um documento novo, e o mais alto nível de modularização usa section
, não div
. Esta é uma tag HTML e meu Kate (versão 3.8.4) não a reconhece. Funciona bem com div
outros elementos mais antigos.
Comecei a procurar se havia uma maneira de conseguir esse apoio em Kate. Posso imaginar que minha versão seja antiga (é a que veio com o Debian estável), mas não quero atualizá-la, a menos que a mais nova realmente tenha suporte para HTML5. Estranhamente, não consigo encontrar muita documentação sobre o que preciso: nem uma lista dos "recursos mais recentes" do Kate, nem mesmo informações de qual número é a versão mais atual.
A versão mais recente do Kate tem suporte para HTML5? Se sim, é aconselhável instalá-lo a partir do código-fonte? Afinal, muitos dos meus programas que vieram dos repositórios dependem do Kate, por exemplo o Kile? E se não tiver suporte a HTML5, existe outra maneira de obtê-lo, talvez com algum tipo de plugin?
Responder1
Tenho o Kate 3.13.2 instalado e ele apresenta o mesmo comportamento que você descreve. No entanto, você pode alterar o Kate para obter o comportamento desejado editando o esquema de sintaxe html que o Kate usa.
Primeiro, encontre o arquivo de sintaxe html do Kate. Para minha instalação, isso está em
/usr/share/apps/katepart/syntax/html.xml
Perto do topo deste arquivo há uma lista de tags que definem regiões e são essas regiões que são dobráveis. Para adicionar a esta lista, basta copiar e colar uma linha para a tag de abertura e fechamento e editar adequadamente. Abaixo está uma comparação mostrando minha adição e algumas linhas de cada lado dela.
*** 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" />
Recarregue o Kate e abra um arquivo html e agora você poderá dobrar na tag da seção. Isso não adiciona suporte completo a HTML5, mas satisfaz sua necessidade de incluir essa tag. Observe também que você desejará manter um backup deste arquivo editado, pois ele provavelmente será destruído na próxima vez que o Kate for atualizado.
Resultados: