summaryrefslogtreecommitdiffstats
path: root/tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook')
-rw-r--r--tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook1282
1 files changed, 263 insertions, 1019 deletions
diff --git a/tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook b/tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook
index ea599ecec9f..73214319145 100644
--- a/tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook
+++ b/tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook
@@ -1,200 +1,105 @@
<appendix id="highlight">
<appendixinfo>
<authorgroup>
-<author
-><personname
-><firstname
-></firstname
-></personname
-></author>
-<othercredit role="translator"
-><firstname
->Lisiane</firstname
-> <surname
->Sztoltz</surname
-><affiliation
-><address
-> <email
->lisiane@conectiva.com.br</email
-></address
-></affiliation
-><contrib
->Tradução</contrib
-></othercredit
->
+<author><personname><firstname></firstname></personname></author>
+<othercredit role="translator"><firstname>Lisiane</firstname> <surname>Sztoltz</surname><affiliation><address> <email>lisiane@conectiva.com.br</email></address></affiliation><contrib>Tradução</contrib></othercredit>
</authorgroup>
</appendixinfo>
-<title
->Trabalhando com Realce de Sintaxe</title>
+<title>Trabalhando com Realce de Sintaxe</title>
<sect1 id="highlight-overview">
-<title
->Visão geral</title>
+<title>Visão geral</title>
-<para
->O Realce de Sintaxe é o que faz com que o editor exiba automaticamente o texto em diferentes cores/estilos, dependendo da função da string em questão para o propósito do arquivo. No código fonte do programa, por exemplo, declarações de controle pode ser renderizadas em negrito, enquanto tipos de dados e comentários ficam com cores diferentes do restante do texto. Isto aumenta consideravelmente a legibilidade do texto e assim, o autor pode ser mais eficiente e produtivo.</para>
+<para>O Realce de Sintaxe é o que faz com que o editor exiba automaticamente o texto em diferentes cores/estilos, dependendo da função da string em questão para o propósito do arquivo. No código fonte do programa, por exemplo, declarações de controle pode ser renderizadas em negrito, enquanto tipos de dados e comentários ficam com cores diferentes do restante do texto. Isto aumenta consideravelmente a legibilidade do texto e assim, o autor pode ser mais eficiente e produtivo.</para>
<mediaobject>
-<imageobject
-><imagedata format="PNG" fileref="highlighted.png"/></imageobject>
-<textobject
-><phrase
->Uma função Perl, representada com realce de sintaxe.</phrase
-></textobject>
-<caption
-><para
->Uma função Perl, representada com realce de sintaxe.</para>
+<imageobject><imagedata format="PNG" fileref="highlighted.png"/></imageobject>
+<textobject><phrase>Uma função Perl, representada com realce de sintaxe.</phrase></textobject>
+<caption><para>Uma função Perl, representada com realce de sintaxe.</para>
</caption>
</mediaobject>
<mediaobject>
-<imageobject
-><imagedata format="PNG" fileref="unhighlighted.png"/></imageobject>
-<textobject
-><phrase
->A mesma função Perl, sem realce de sintaxe.</phrase
-></textobject>
-<caption
-><para
->A mesma função Perl, sem realce de sintaxe.</para
-></caption>
+<imageobject><imagedata format="PNG" fileref="unhighlighted.png"/></imageobject>
+<textobject><phrase>A mesma função Perl, sem realce de sintaxe.</phrase></textobject>
+<caption><para>A mesma função Perl, sem realce de sintaxe.</para></caption>
</mediaobject>
-<para
->Dos dois exemplos, qual é o mais fácil de ler?</para>
-
-<para
->O &kate; vem com um sistema flexível, configurável e capaz de fazer realce de sintaxe; a distribuição padrão oferece definições para um vasto conjunto de linguagens de programação, de manipulação e de 'scripting', bem como para outros formatos de texto. Além disso, você pode criar as suas próprias definições em arquivos &XML; simples.</para>
-
-<para
->O &kate; detectará automaticamente regras de realce de sintaxe quando você abrir um arquivo, baseado no tipo &MIME; do arquivo, determinado pela extensão ou, se não existir, pelo conteúdo. Se você não conseguir, ajuste manualmente a sintaxe para o uso no menu <menuchoice
-><guimenu
->Documentos </guimenu
-><guisubmenu
->Modo de Realce de Sintaxe</guisubmenu
-></menuchoice
->. </para>
-
-<para
->Os estilos e cores usados por cada definição de realce de sintaxe podem ser configurados usando a página de <link linkend="config-dialog-editor-appearance"
->Aparência</link
-> da <link linkend="config-dialog"
->Janela de Configuração</link
-> enquanto os tipos &MIME; para os quais deve ser usada, podem ser configurados usando a página de <link linkend="config-dialog-editor-highlighting"
->Realce</link
-> da <link linkend="config-dialog"
->Janela de Configuração</link
->.</para>
+<para>Dos dois exemplos, qual é o mais fácil de ler?</para>
+
+<para>O &kate; vem com um sistema flexível, configurável e capaz de fazer realce de sintaxe; a distribuição padrão oferece definições para um vasto conjunto de linguagens de programação, de manipulação e de 'scripting', bem como para outros formatos de texto. Além disso, você pode criar as suas próprias definições em arquivos &XML; simples.</para>
+
+<para>O &kate; detectará automaticamente regras de realce de sintaxe quando você abrir um arquivo, baseado no tipo &MIME; do arquivo, determinado pela extensão ou, se não existir, pelo conteúdo. Se você não conseguir, ajuste manualmente a sintaxe para o uso no menu <menuchoice><guimenu>Documentos </guimenu><guisubmenu>Modo de Realce de Sintaxe</guisubmenu></menuchoice>. </para>
+
+<para>Os estilos e cores usados por cada definição de realce de sintaxe podem ser configurados usando a página de <link linkend="config-dialog-editor-appearance">Aparência</link> da <link linkend="config-dialog">Janela de Configuração</link> enquanto os tipos &MIME; para os quais deve ser usada, podem ser configurados usando a página de <link linkend="config-dialog-editor-highlighting">Realce</link> da <link linkend="config-dialog">Janela de Configuração</link>.</para>
<note>
-<para
->O realce de sintaxe existe para aumentar a legibilidade do texto correto, mas não se pode confiar nisto para validar seu texto. Marcar o texto para sintaxe é difícil, dependendo do formato que você está usando e, em alguns casos, os autores das regras de sintaxe ficarão orgulhosos se 98% do texto é renderizado corretamente, embora muito freqüentemente você precise de um estilo raro para ver os 2% incorretos.</para>
+<para>O realce de sintaxe existe para aumentar a legibilidade do texto correto, mas não se pode confiar nisto para validar seu texto. Marcar o texto para sintaxe é difícil, dependendo do formato que você está usando e, em alguns casos, os autores das regras de sintaxe ficarão orgulhosos se 98% do texto é renderizado corretamente, embora muito freqüentemente você precise de um estilo raro para ver os 2% incorretos.</para>
</note>
<tip>
-<para
->Você pode obter as definições de sintaxe adicionais ou atualizadas na página Web do &kate; clicando no botão <guibutton
->Obter</guibutton
-> na página de <link linkend="config-dialog-editor-highlighting"
->Realce</link
-> da <link linkend="config-dialog"
->Janela de Configuração</link
->.</para>
+<para>Você pode obter as definições de sintaxe adicionais ou atualizadas na página Web do &kate; clicando no botão <guibutton>Obter</guibutton> na página de <link linkend="config-dialog-editor-highlighting">Realce</link> da <link linkend="config-dialog">Janela de Configuração</link>.</para>
</tip>
</sect1>
<sect1 id="katehighlight-system">
-<title
->O Sistema de Realce de Sintaxe do &kate;</title>
+<title>O Sistema de Realce de Sintaxe do &kate;</title>
-<para
->Esta seção irá discutir o realce de sintaxe do &kate; em detalhes. É para você, caso deseje saber mais sobre esta funcionalidade ou se quiser criar ou alterar as definições de sintaxe.</para>
+<para>Esta seção irá discutir o realce de sintaxe do &kate; em detalhes. É para você, caso deseje saber mais sobre esta funcionalidade ou se quiser criar ou alterar as definições de sintaxe.</para>
<sect2 id="katehighlight-howitworks">
-<title
->Como Funciona</title>
-
-<para
->Sempre que você abrir um arquivo, uma das primeiras coisas que o editor &kate; faz é detectar qual definição de sintaxe deve ser usada para o arquivo. Ao ler o texto do arquivo, e enquanto você digita no arquivo, o sistema de realce de sintaxe analisará o texto usando as regras definidas pela definição de sintaxe, e marcará no texto onde contexto e estilos diferentes iniciarem e finalizarem.</para>
-
-<para
->Quando você escrever no documento, o novo texto será analisado e marcado na hora, pois se você remover um caractere que está marcado como início ou fim de um contexto, o estilo em volta do texto modifica de acordo com ele.</para>
-
-<para
->As definições de sintaxe usadas pelo sistema de realce de sintaxe do &kate; são arquivos &XML; que contém <itemizedlist>
-<listitem
-><para
->Regras para a deteção do texto inteiro, organizado em blocos de contexto</para
-></listitem>
-<listitem
-><para
->Listas de palavras-chave</para
-></listitem>
-<listitem
-><para
->Definições de Item de Estilo</para
-></listitem>
+<title>Como Funciona</title>
+
+<para>Sempre que você abrir um arquivo, uma das primeiras coisas que o editor &kate; faz é detectar qual definição de sintaxe deve ser usada para o arquivo. Ao ler o texto do arquivo, e enquanto você digita no arquivo, o sistema de realce de sintaxe analisará o texto usando as regras definidas pela definição de sintaxe, e marcará no texto onde contexto e estilos diferentes iniciarem e finalizarem.</para>
+
+<para>Quando você escrever no documento, o novo texto será analisado e marcado na hora, pois se você remover um caractere que está marcado como início ou fim de um contexto, o estilo em volta do texto modifica de acordo com ele.</para>
+
+<para>As definições de sintaxe usadas pelo sistema de realce de sintaxe do &kate; são arquivos &XML; que contém <itemizedlist>
+<listitem><para>Regras para a deteção do texto inteiro, organizado em blocos de contexto</para></listitem>
+<listitem><para>Listas de palavras-chave</para></listitem>
+<listitem><para>Definições de Item de Estilo</para></listitem>
</itemizedlist>
</para>
-<para
->Ao analisar o texto, as regras de deteção serão avaliadas na ordem em que foram definidas, e se o início da string atual coincidir com uma regra, o contexto relacionado será usado. O ponto de partida no texto é movido para o ponto final no local onde aquela regra coincide, e um novo loop de regras inicia, começando no contexto configurado pela regra relacionada.</para>
+<para>Ao analisar o texto, as regras de deteção serão avaliadas na ordem em que foram definidas, e se o início da string atual coincidir com uma regra, o contexto relacionado será usado. O ponto de partida no texto é movido para o ponto final no local onde aquela regra coincide, e um novo loop de regras inicia, começando no contexto configurado pela regra relacionada.</para>
</sect2>
<sect2 id="highlight-system-rules">
-<title
->Regras</title>
+<title>Regras</title>
-<para
->As regras de deteção são o coração do sistema de deteção de realce. Uma regra é uma string, caracter ou <link linkend="regular-expressions"
->expressão regular</link
-> em contraste com o texto sendo analisado. Ela contém informações sobre estilo a ser usado para a parte coincidente do texto, e pode trocar o contexto de funcionamento do sistema para um contexto explicitamente mencionado ou para um contexto usado anteriormente pelo texto.</para>
+<para>As regras de deteção são o coração do sistema de deteção de realce. Uma regra é uma string, caracter ou <link linkend="regular-expressions">expressão regular</link> em contraste com o texto sendo analisado. Ela contém informações sobre estilo a ser usado para a parte coincidente do texto, e pode trocar o contexto de funcionamento do sistema para um contexto explicitamente mencionado ou para um contexto usado anteriormente pelo texto.</para>
-<para
->As regras são organizadas em grupos de contexto, sendo que este é usado pelos conceitos principais do texto dentro de um formato, como por exemplo strings dentro de aspas ou blocos de comentário do código-fonte de um programa. Isto garante que o sistema de realce não precisa ficar procurando todas as regras quando não for necessário, e também que seqüências de algum caractere no texto podem ser tratadas de modo diferente, dependendo do contexto atual. </para>
+<para>As regras são organizadas em grupos de contexto, sendo que este é usado pelos conceitos principais do texto dentro de um formato, como por exemplo strings dentro de aspas ou blocos de comentário do código-fonte de um programa. Isto garante que o sistema de realce não precisa ficar procurando todas as regras quando não for necessário, e também que seqüências de algum caractere no texto podem ser tratadas de modo diferente, dependendo do contexto atual. </para>
-<para
->Os contextos poderão ser gerados dinamicamente, para permitir a utilização de dados específicos das instâncias nas regras.</para>
+<para>Os contextos poderão ser gerados dinamicamente, para permitir a utilização de dados específicos das instâncias nas regras.</para>
</sect2>
<sect2 id="highlight-context-styles-keywords">
-<title
->Estilos de Contexto e Palavras-Chave</title>
+<title>Estilos de Contexto e Palavras-Chave</title>
-<para
->Em algumas linguagens de programação, os números inteiros são tratados diferentemente que números de ponto flutuante pelo compilador (o programa que converte o código-fonte para um binário executável), e podem existir caracteres que possuem significado especial dentro de uma string. Em tais casos, faz sentido renderizá-los de modo diferente dos outros, assim, são mais fáceis de identificar durante a leitura do texto. Mesmo que eles não sejam representados em contextos especiais, pode ser vistos no sistema de realce de sintaxe, e assim, podem ser marcados com uma renderização diferente.</para>
+<para>Em algumas linguagens de programação, os números inteiros são tratados diferentemente que números de ponto flutuante pelo compilador (o programa que converte o código-fonte para um binário executável), e podem existir caracteres que possuem significado especial dentro de uma string. Em tais casos, faz sentido renderizá-los de modo diferente dos outros, assim, são mais fáceis de identificar durante a leitura do texto. Mesmo que eles não sejam representados em contextos especiais, pode ser vistos no sistema de realce de sintaxe, e assim, podem ser marcados com uma renderização diferente.</para>
-<para
->Uma definição de sintaxe pode conter tantos estilos quanto forem necessários para cobrir os conceitos do formato no qual serão usados.</para>
+<para>Uma definição de sintaxe pode conter tantos estilos quanto forem necessários para cobrir os conceitos do formato no qual serão usados.</para>
-<para
->Em muitos formatos, existem listas de palavras, que representam um conceito específico; por exemplo, em linguagens de programação, as declaração de controle são um conceito, nomes de tipos de dados outro conceito, e funções pré-integradas na linguagem um terceiro conceito. O Sistema de Realce de Sintaxe do &kate; pode usar estas listas para detectar e marcar palavras no texto para enfatizar os conceitos dos formatos.</para>
+<para>Em muitos formatos, existem listas de palavras, que representam um conceito específico; por exemplo, em linguagens de programação, as declaração de controle são um conceito, nomes de tipos de dados outro conceito, e funções pré-integradas na linguagem um terceiro conceito. O Sistema de Realce de Sintaxe do &kate; pode usar estas listas para detectar e marcar palavras no texto para enfatizar os conceitos dos formatos.</para>
</sect2>
<sect2 id="kate-highlight-system-default-styles">
-<title
->Estilos Padrão</title>
+<title>Estilos Padrão</title>
-<para
->Se você abrir um arquivo de código em C++, um arquivo de &Java; e um documento em <acronym
->HTML</acronym
-> no &kate;, irá ver que, ainda que os formatos sejam diferentes e, por isso, sejam selecionadas palavras diferentes para um tratamento especial, as cores usadas são as mesmas. Isto deve-se ao fato do &kate; ter uma lista pré-definida de Estilos Padrão, os quais são usados pelas definições de sintaxe individuais.</para>
+<para>Se você abrir um arquivo de código em C++, um arquivo de &Java; e um documento em <acronym>HTML</acronym> no &kate;, irá ver que, ainda que os formatos sejam diferentes e, por isso, sejam selecionadas palavras diferentes para um tratamento especial, as cores usadas são as mesmas. Isto deve-se ao fato do &kate; ter uma lista pré-definida de Estilos Padrão, os quais são usados pelas definições de sintaxe individuais.</para>
-<para
->Isto faz com que fique mais fácil reconhecer conceitos similares em diferentes formatos. Comentários, por exemplo, estão presente na maioria das linguagens de programação, script e marcação, e quando são renderizados utilizando-se o mesmo estilo em todas as linguagens, você não precisa parar e pensar para identificá-los dentro do texto.</para>
+<para>Isto faz com que fique mais fácil reconhecer conceitos similares em diferentes formatos. Comentários, por exemplo, estão presente na maioria das linguagens de programação, script e marcação, e quando são renderizados utilizando-se o mesmo estilo em todas as linguagens, você não precisa parar e pensar para identificá-los dentro do texto.</para>
<tip>
-<para
->Todos os estilos de uma definição de sintaxe usam um dos estilos padrão. Algumas definições de sintaxe usam mais estilos além dos pré-definidos, por isso se você usar um formato freqüentemente, pode ser útil abrir a janela de configuração para ver se alguns conceitos estão usando o mesmo estilo. Por exemplo, só existe um estilo padrão para as cadeias de caracteres, mas como a linguagem de programação Perl lida com dois tipos de cadeias de caracteres, você pode melhorar o realce se configurar esses dois tipos de uma forma ligeiramente diferente. Todos os <link linkend="kate-highlight-default-styles"
->estilos padrão disponíveis</link
-> serão explicados mais tarde.</para>
+<para>Todos os estilos de uma definição de sintaxe usam um dos estilos padrão. Algumas definições de sintaxe usam mais estilos além dos pré-definidos, por isso se você usar um formato freqüentemente, pode ser útil abrir a janela de configuração para ver se alguns conceitos estão usando o mesmo estilo. Por exemplo, só existe um estilo padrão para as cadeias de caracteres, mas como a linguagem de programação Perl lida com dois tipos de cadeias de caracteres, você pode melhorar o realce se configurar esses dois tipos de uma forma ligeiramente diferente. Todos os <link linkend="kate-highlight-default-styles">estilos padrão disponíveis</link> serão explicados mais tarde.</para>
</tip>
</sect2>
@@ -202,151 +107,59 @@
</sect1>
<sect1 id="katehighlight-xml-format">
-<title
->O Formato &XML; de Definição de Realce</title>
+<title>O Formato &XML; de Definição de Realce</title>
<sect2>
-<title
->Visão geral</title>
-
-<para
->Esta seção é uma introdução ao formato &XML; de Definição de Realce. Baseado em um pequeno exemplo, ele irá descrever as componentes principais, bem como o seu significado e utilização. A próxima seção colocará em detalhes as regras de detecção.</para>
-
-<para
->A definição formal, mais conhecida por <acronym
->DTD</acronym
->, é guardada no arquivo <filename
->language.dtd</filename
->, o qual deve estar instalado no seu sistema na pasta <filename
->$<envar
->TDEDIR</envar
->/share/apps/katepart/syntax</filename
->. </para>
+<title>Visão geral</title>
+
+<para>Esta seção é uma introdução ao formato &XML; de Definição de Realce. Baseado em um pequeno exemplo, ele irá descrever as componentes principais, bem como o seu significado e utilização. A próxima seção colocará em detalhes as regras de detecção.</para>
+
+<para>A definição formal, mais conhecida por <acronym>DTD</acronym>, é guardada no arquivo <filename>language.dtd</filename>, o qual deve estar instalado no seu sistema na pasta <filename>$<envar>TDEDIR</envar>/share/apps/katepart/syntax</filename>. </para>
<variablelist>
-<title
->Seções principais dos arquivos de Definições de Realce do &kate;</title>
+<title>Seções principais dos arquivos de Definições de Realce do &kate;</title>
<varlistentry>
-<term
->Um arquivo de realce contém um cabeçalho que define a versão do XML e o tipo de documento:</term>
+<term>Um arquivo de realce contém um cabeçalho que define a versão do XML e o tipo de documento:</term>
<listitem>
-<programlisting
->&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+<programlisting>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE language SYSTEM &quot;language.dtd&quot;&gt;
</programlisting>
</listitem>
</varlistentry>
<varlistentry>
-<term
->A raiz do arquivo de definição é o elemento <userinput
->language</userinput
->. Os atributos disponíveis são:</term>
-
-<listitem>
-<para
->Atributos necessários:</para>
-<para
->O <userinput
->name</userinput
-> define o nome da linguagem. Ele aparece nos respectivos menus e janelas.</para>
-<para
->O <userinput
->section</userinput
-> indica a categoria.</para>
-<para
->O <userinput
->extensions</userinput
-> define as extensões dos arquivos, como por exemplo &quot;*.cpp;*.h&quot;</para>
-
-<para
->Atributos opcionais:</para>
-<para
->O <userinput
->mimetype</userinput
-> associa os arquivos com base no Tipo &MIME;.</para>
-<para
->O <userinput
->version</userinput
-> indica a versão atual do arquivo de definição.</para>
-<para
->O <userinput
->kateversion</userinput
-> indica a última versão suportada pelo &kate;.</para>
-<para
->O <userinput
->casesensitive</userinput
-> define se as palavras-chave fazem distinção entre maiúsculas e minúsculas.</para>
-<para
->O <userinput
->priority</userinput
-> é necessário se outro arquivo de definições de realce usar as mesmas extensões. Ganhará o que tiver maior prioridade.</para>
-<para
->O <userinput
->author</userinput
-> contém o nome do autor e o seu endereço de e-mail.</para>
-<para
->O <userinput
->license</userinput
-> contém a licença, que é normalmente a LGPL, a Artistic, a GPL, entre outras.</para>
-<para
->O <userinput
->hidden</userinput
-> define se o nome deverá aparecer nos menus do &kate;.</para>
-<para
->Assim, a próxima linha parece-se com o seguinte:</para>
-<programlisting
->&lt;language name=&quot;C++&quot; version=&quot;1.00&quot; kateversion=&quot;2.4&quot; section=&quot;Sources&quot; extensions=&quot;*.cpp;*.h&quot; /&gt;
+<term>A raiz do arquivo de definição é o elemento <userinput>language</userinput>. Os atributos disponíveis são:</term>
+
+<listitem>
+<para>Atributos necessários:</para>
+<para>O <userinput>name</userinput> define o nome da linguagem. Ele aparece nos respectivos menus e janelas.</para>
+<para>O <userinput>section</userinput> indica a categoria.</para>
+<para>O <userinput>extensions</userinput> define as extensões dos arquivos, como por exemplo &quot;*.cpp;*.h&quot;</para>
+
+<para>Atributos opcionais:</para>
+<para>O <userinput>mimetype</userinput> associa os arquivos com base no Tipo &MIME;.</para>
+<para>O <userinput>version</userinput> indica a versão atual do arquivo de definição.</para>
+<para>O <userinput>kateversion</userinput> indica a última versão suportada pelo &kate;.</para>
+<para>O <userinput>casesensitive</userinput> define se as palavras-chave fazem distinção entre maiúsculas e minúsculas.</para>
+<para>O <userinput>priority</userinput> é necessário se outro arquivo de definições de realce usar as mesmas extensões. Ganhará o que tiver maior prioridade.</para>
+<para>O <userinput>author</userinput> contém o nome do autor e o seu endereço de e-mail.</para>
+<para>O <userinput>license</userinput> contém a licença, que é normalmente a LGPL, a Artistic, a GPL, entre outras.</para>
+<para>O <userinput>hidden</userinput> define se o nome deverá aparecer nos menus do &kate;.</para>
+<para>Assim, a próxima linha parece-se com o seguinte:</para>
+<programlisting>&lt;language name=&quot;C++&quot; version=&quot;1.00&quot; kateversion=&quot;2.4&quot; section=&quot;Sources&quot; extensions=&quot;*.cpp;*.h&quot; /&gt;
</programlisting>
</listitem>
</varlistentry>
<varlistentry>
-<term
->A seguir vem o elemento <userinput
->highlighting</userinput
->, que contém o elemento opcional <userinput
->list</userinput
-> e os elementos obrigatórios <userinput
->contexts</userinput
-> e <userinput
->itemDatas</userinput
->.</term>
+<term>A seguir vem o elemento <userinput>highlighting</userinput>, que contém o elemento opcional <userinput>list</userinput> e os elementos obrigatórios <userinput>contexts</userinput> e <userinput>itemDatas</userinput>.</term>
<listitem>
-<para
->O elemento <userinput
->list</userinput
-> contém uma lista de palavras-chave. Neste caso, as palavras-chave são a <emphasis
->class</emphasis
-> e a <emphasis
->const</emphasis
->.Você poderá adicionar tantas listas quanto desejar.</para>
-<para
->O elemento <userinput
->contexts</userinput
-> contém todos os contextos. O primeiro contexto é, por padrão, o início do realce. Existem duas regras no contexto <emphasis
->Normal Text</emphasis
-> (Texto Normal), que correspondem à lista de palavras-chave com o nome <emphasis
->um_nome</emphasis
-> e uma regra que detecta aspas e muda o contexto para <emphasis
->string</emphasis
-> (cadeia de caracteres). Para aprender mais sobre as regras, leia o próximo capítulo.</para>
-<para
->A terceira parte é o elemento <userinput
->itemDatas</userinput
->. Contém todas as cores e estilos de fonte necessários pelos contextos e regras. Neste exemplo, são usados o <userinput
->itemData</userinput
-> de <emphasis
->Normal Text</emphasis
-> (Texto Normal), <emphasis
->String</emphasis
-> (Cadeia de Caracteres) e <emphasis
->Keyword</emphasis
-> (Palavra-Chave). </para>
-<programlisting
->&lt;highlighting&gt;
+<para>O elemento <userinput>list</userinput> contém uma lista de palavras-chave. Neste caso, as palavras-chave são a <emphasis>class</emphasis> e a <emphasis>const</emphasis>.Você poderá adicionar tantas listas quanto desejar.</para>
+<para>O elemento <userinput>contexts</userinput> contém todos os contextos. O primeiro contexto é, por padrão, o início do realce. Existem duas regras no contexto <emphasis>Normal Text</emphasis> (Texto Normal), que correspondem à lista de palavras-chave com o nome <emphasis>um_nome</emphasis> e uma regra que detecta aspas e muda o contexto para <emphasis>string</emphasis> (cadeia de caracteres). Para aprender mais sobre as regras, leia o próximo capítulo.</para>
+<para>A terceira parte é o elemento <userinput>itemDatas</userinput>. Contém todas as cores e estilos de fonte necessários pelos contextos e regras. Neste exemplo, são usados o <userinput>itemData</userinput> de <emphasis>Normal Text</emphasis> (Texto Normal), <emphasis>String</emphasis> (Cadeia de Caracteres) e <emphasis>Keyword</emphasis> (Palavra-Chave). </para>
+<programlisting>&lt;highlighting&gt;
&lt;list name=&quot;um_nome&quot;&gt;
&lt;item&gt; class &lt;/item&gt;
&lt;item&gt; const &lt;/item&gt;
@@ -371,28 +184,12 @@
</varlistentry>
<varlistentry>
-<term
->A última parte de uma definição de realce é a seção opcional <userinput
->general</userinput
->. Ela poderá conter informações sobre as palavras-chave, expansão/recolhimento de código, comentários e indentação.</term>
+<term>A última parte de uma definição de realce é a seção opcional <userinput>general</userinput>. Ela poderá conter informações sobre as palavras-chave, expansão/recolhimento de código, comentários e indentação.</term>
<listitem>
-<para
->A seção <userinput
->comment</userinput
-> define com que texto é introduzido um comentário para uma única linha. Você poderá também definir comentários multi-linha, usando o <emphasis
->multiLine</emphasis
-> com o atributo adicional <emphasis
->end</emphasis
->. Isto aplica-se se o usuário pressionar o atalho correspondente para <emphasis
->comentar/descomentar</emphasis
->.</para>
-<para
->A seção <userinput
->keywords</userinput
-> define se as listas de palavras-chave fazem distinção entre maiúsculas e minúsculas ou não. Os outros atributos serão explicados mais tarde.</para>
-<programlisting
->&lt;general&gt;
+<para>A seção <userinput>comment</userinput> define com que texto é introduzido um comentário para uma única linha. Você poderá também definir comentários multi-linha, usando o <emphasis>multiLine</emphasis> com o atributo adicional <emphasis>end</emphasis>. Isto aplica-se se o usuário pressionar o atalho correspondente para <emphasis>comentar/descomentar</emphasis>.</para>
+<para>A seção <userinput>keywords</userinput> define se as listas de palavras-chave fazem distinção entre maiúsculas e minúsculas ou não. Os outros atributos serão explicados mais tarde.</para>
+<programlisting>&lt;general&gt;
&lt;comments&gt;
&lt;comment name="singleLine" start="#"/&gt;
&lt;/comments&gt;
@@ -409,259 +206,80 @@
</sect2>
<sect2 id="kate-highlight-sections">
-<title
->As Seções em Detalhe</title>
-<para
->Esta parte irá descrever todos os atributos disponíveis para o 'contexts', o 'itemDatas', o 'keywords', o 'comments', a expansão de código e a indentação.</para>
+<title>As Seções em Detalhe</title>
+<para>Esta parte irá descrever todos os atributos disponíveis para o 'contexts', o 'itemDatas', o 'keywords', o 'comments', a expansão de código e a indentação.</para>
<variablelist>
<varlistentry>
-<term
->O elemento <userinput
->context</userinput
-> pertence ao grupo <userinput
->contexts</userinput
->. Um contexto, por si só, define as regras específicas do contexto, como o que deve acontecer se o sistema de realce chegar ao fim de uma linha. Os atributos disponíveis são:</term>
+<term>O elemento <userinput>context</userinput> pertence ao grupo <userinput>contexts</userinput>. Um contexto, por si só, define as regras específicas do contexto, como o que deve acontecer se o sistema de realce chegar ao fim de uma linha. Os atributos disponíveis são:</term>
<listitem>
-<para
-><userinput
->name</userinput
-> o nome do contexto. As regras irão usar este nome para indicar o contexto para onde mudar, se a regra corresponder.</para>
-<para
->O <userinput
->lineEndContext</userinput
-> define o contexto para onde o sistema de realce salta, se atingir o fim de uma linha. Isto poderá ser o nome de outro contexto, o <userinput
->#stay</userinput
-> para não mudar de contexto (p.ex., não fazer nada) ou o <userinput
->#pop</userinput
-> que fará com que saia deste contexto. É possível usar, por exemplo, <userinput
->#pop#pop#pop</userinput
-> para sair de dentro de três contextos.</para>
-<para
->O <userinput
->lineBeginContext</userinput
-> define o contexto, se for encontrado o início de uma linha. Padrão: #stay.</para>
-<para
->O <userinput
->fallthrough</userinput
-> define se o sistema de realce salta para o contexto indicado em 'fallthroughContext' se não corresponder nenhuma regra. Padrão: <emphasis
->false</emphasis
->.</para>
-<para
->O <userinput
->fallthroughContext</userinput
-> define o próximo contexto, se nenhuma regra corresponder.</para>
-<para
->O <userinput
->dynamic</userinput
->, se for <emphasis
->true</emphasis
-> (verdadeiro), fará com que o contexto recorde os textos/sequências de substituição gravados pelas regras dinâmicas. Isto é necessário, por exemplo, para os documentos do HERE. Padrão: <emphasis
->false</emphasis
->.</para>
+<para><userinput>name</userinput> o nome do contexto. As regras irão usar este nome para indicar o contexto para onde mudar, se a regra corresponder.</para>
+<para>O <userinput>lineEndContext</userinput> define o contexto para onde o sistema de realce salta, se atingir o fim de uma linha. Isto poderá ser o nome de outro contexto, o <userinput>#stay</userinput> para não mudar de contexto (p.ex., não fazer nada) ou o <userinput>#pop</userinput> que fará com que saia deste contexto. É possível usar, por exemplo, <userinput>#pop#pop#pop</userinput> para sair de dentro de três contextos.</para>
+<para>O <userinput>lineBeginContext</userinput> define o contexto, se for encontrado o início de uma linha. Padrão: #stay.</para>
+<para>O <userinput>fallthrough</userinput> define se o sistema de realce salta para o contexto indicado em 'fallthroughContext' se não corresponder nenhuma regra. Padrão: <emphasis>false</emphasis>.</para>
+<para>O <userinput>fallthroughContext</userinput> define o próximo contexto, se nenhuma regra corresponder.</para>
+<para>O <userinput>dynamic</userinput>, se for <emphasis>true</emphasis> (verdadeiro), fará com que o contexto recorde os textos/sequências de substituição gravados pelas regras dinâmicas. Isto é necessário, por exemplo, para os documentos do HERE. Padrão: <emphasis>false</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->O elemento <userinput
->itemData</userinput
-> está no grupo <userinput
->itemDatas</userinput
->. Define o estilo e as cores da fonte. Assim, é possível definir os seus próprios estilos e cores, contudo recomenda-se que use os estilos pré-definidos, para que o usuário veja sempre as mesmas cores que são usadas nas várias linguagens. Todavia, existem casos em que não existe outra forma e, assim, é necessário mudar os atributos de cores e tipos de fonte. Os atributos 'name' e 'defStyleNum' são obrigatórios, enquanto os outros são opcionais. Os atributos disponíveis são:</term>
+<term>O elemento <userinput>itemData</userinput> está no grupo <userinput>itemDatas</userinput>. Define o estilo e as cores da fonte. Assim, é possível definir os seus próprios estilos e cores, contudo recomenda-se que use os estilos pré-definidos, para que o usuário veja sempre as mesmas cores que são usadas nas várias linguagens. Todavia, existem casos em que não existe outra forma e, assim, é necessário mudar os atributos de cores e tipos de fonte. Os atributos 'name' e 'defStyleNum' são obrigatórios, enquanto os outros são opcionais. Os atributos disponíveis são:</term>
<listitem>
-<para
->O <userinput
->name</userinput
-> define o nome do 'itemData'. Os contextos e regras irão usar este nome no seu atributo <emphasis
->attribute</emphasis
->, para referenciar um 'itemData'.</para>
-<para
->O <userinput
->defStyleNum</userinput
-> define qual o estilo padrão usar. Os estilos pré-definidos disponíveis são explicados mais tarde em detalhes.</para>
-<para
->O <userinput
->color</userinput
-> define uma cor. Os formatos válidos são o '#rrggbb' ou '#rgb'.</para>
-<para
->O <userinput
->selColor</userinput
-> define a cor da seleção.</para>
-<para
->O <userinput
->italic</userinput
->, se for <emphasis
->true</emphasis
-> (verdadeiro), irá colocar o texto em itálico.</para>
-<para
->O <userinput
->bold</userinput
->, se for <emphasis
->true</emphasis
-> (verdadeiro), irá colocar o texto em negrito.</para>
-<para
->O <userinput
->underline</userinput
->, se for <emphasis
->true</emphasis
-> (verdadeiro), irá colocar o texto sublinhado.</para>
-<para
->O <userinput
->strikeout</userinput
->, se for <emphasis
->true</emphasis
-> (verdadeiro), irá colocar o texto traçado.</para>
+<para>O <userinput>name</userinput> define o nome do 'itemData'. Os contextos e regras irão usar este nome no seu atributo <emphasis>attribute</emphasis>, para referenciar um 'itemData'.</para>
+<para>O <userinput>defStyleNum</userinput> define qual o estilo padrão usar. Os estilos pré-definidos disponíveis são explicados mais tarde em detalhes.</para>
+<para>O <userinput>color</userinput> define uma cor. Os formatos válidos são o '#rrggbb' ou '#rgb'.</para>
+<para>O <userinput>selColor</userinput> define a cor da seleção.</para>
+<para>O <userinput>italic</userinput>, se for <emphasis>true</emphasis> (verdadeiro), irá colocar o texto em itálico.</para>
+<para>O <userinput>bold</userinput>, se for <emphasis>true</emphasis> (verdadeiro), irá colocar o texto em negrito.</para>
+<para>O <userinput>underline</userinput>, se for <emphasis>true</emphasis> (verdadeiro), irá colocar o texto sublinhado.</para>
+<para>O <userinput>strikeout</userinput>, se for <emphasis>true</emphasis> (verdadeiro), irá colocar o texto traçado.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->O elemento <userinput
->keywords</userinput
->, no grupo <userinput
->general</userinput
->, define as propriedades das palavras-chave. Os atributos disponíveis são:</term>
+<term>O elemento <userinput>keywords</userinput>, no grupo <userinput>general</userinput>, define as propriedades das palavras-chave. Os atributos disponíveis são:</term>
<listitem>
-<para
->O <userinput
->casesensitive</userinput
-> poderá ser <emphasis
->true</emphasis
-> (verdadeiro) ou <emphasis
->false</emphasis
-> (falso). Se for <emphasis
->true</emphasis
->, todas as palavras-chave farão distinção entre maiúsculas e minúsculas</para>
-<para
->O <userinput
->weakDeliminator</userinput
-> é uma lista de caracteres que não irão atuar como separadores de palavras. Por exemplo, o ponto <userinput
->'.'</userinput
-> é um separador de palavras. Assuma que uma palavra-chave num <userinput
->list</userinput
-> contém um ponto; nesse caso, só irá corresponder se indicar que o ponto é um delimitador fraco.</para>
-<para
->O <userinput
->additionalDeliminator</userinput
-> define os delimitadores ou separadores adicionais.</para>
-<para
->O <userinput
->wordWrapDeliminator</userinput
-> define os caracteres após os quais poderá ocorrer uma mudança de linha.</para>
-<para
->Os delimitadores pré-definidos e de mudança de linha são os caracteres <userinput
->.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\</userinput
->, o espaço (<userinput
->' '</userinput
->) e a tabulação (<userinput
->'\t'</userinput
->).</para>
+<para>O <userinput>casesensitive</userinput> poderá ser <emphasis>true</emphasis> (verdadeiro) ou <emphasis>false</emphasis> (falso). Se for <emphasis>true</emphasis>, todas as palavras-chave farão distinção entre maiúsculas e minúsculas</para>
+<para>O <userinput>weakDeliminator</userinput> é uma lista de caracteres que não irão atuar como separadores de palavras. Por exemplo, o ponto <userinput>'.'</userinput> é um separador de palavras. Assuma que uma palavra-chave num <userinput>list</userinput> contém um ponto; nesse caso, só irá corresponder se indicar que o ponto é um delimitador fraco.</para>
+<para>O <userinput>additionalDeliminator</userinput> define os delimitadores ou separadores adicionais.</para>
+<para>O <userinput>wordWrapDeliminator</userinput> define os caracteres após os quais poderá ocorrer uma mudança de linha.</para>
+<para>Os delimitadores pré-definidos e de mudança de linha são os caracteres <userinput>.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\</userinput>, o espaço (<userinput>' '</userinput>) e a tabulação (<userinput>'\t'</userinput>).</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->O elemento <userinput
->comment</userinput
->, no grupo <userinput
->comments</userinput
->, define as propriedades dos comentários que são usadas nas opções <menuchoice
-><guimenu
->Ferramentas</guimenu
-><guimenuitem
->Comentar</guimenuitem
-></menuchoice
-> e <menuchoice
-><guimenu
->Ferramentas</guimenu
-><guimenuitem
->Descomentar</guimenuitem
-></menuchoice
->. Os atributos disponíveis são:</term>
+<term>O elemento <userinput>comment</userinput>, no grupo <userinput>comments</userinput>, define as propriedades dos comentários que são usadas nas opções <menuchoice><guimenu>Ferramentas</guimenu><guimenuitem>Comentar</guimenuitem></menuchoice> e <menuchoice><guimenu>Ferramentas</guimenu><guimenuitem>Descomentar</guimenuitem></menuchoice>. Os atributos disponíveis são:</term>
<listitem>
-<para
->O <userinput
->name</userinput
-> tanto poderá ser <emphasis
->singleLine</emphasis
-> como <emphasis
->multiLine</emphasis
->. Se escolher o <emphasis
->multiLine</emphasis
->, serão necessários os atributos <emphasis
->end</emphasis
-> e <emphasis
->region</emphasis
->.</para>
-<para
->O <userinput
->start</userinput
-> define o texto usado para iniciar um comentário. No C++, este será o &quot;/*&quot;.</para>
-<para
->O <userinput
->end</userinput
-> define o texto usado para fechar um comentário. No C++, será o &quot;*/&quot;.</para>
-<para
->O <userinput
->region</userinput
-> deverá ser o nome do comentário multi-linhas que poderá expandir ou recolher. Assuma que tem o <emphasis
->beginRegion="Comment"</emphasis
-> ... <emphasis
->endRegion="Comment"</emphasis
-> nas suas regras; nesse caso, deverá usar o <emphasis
->region="Comment"</emphasis
->. Desta forma, a remoção de comentários funciona, mesmo que não tenha selecionado todo o texto do comentário multi-linhas. O cursor só precisa estar dentro deste comentário.</para>
+<para>O <userinput>name</userinput> tanto poderá ser <emphasis>singleLine</emphasis> como <emphasis>multiLine</emphasis>. Se escolher o <emphasis>multiLine</emphasis>, serão necessários os atributos <emphasis>end</emphasis> e <emphasis>region</emphasis>.</para>
+<para>O <userinput>start</userinput> define o texto usado para iniciar um comentário. No C++, este será o &quot;/*&quot;.</para>
+<para>O <userinput>end</userinput> define o texto usado para fechar um comentário. No C++, será o &quot;*/&quot;.</para>
+<para>O <userinput>region</userinput> deverá ser o nome do comentário multi-linhas que poderá expandir ou recolher. Assuma que tem o <emphasis>beginRegion="Comment"</emphasis> ... <emphasis>endRegion="Comment"</emphasis> nas suas regras; nesse caso, deverá usar o <emphasis>region="Comment"</emphasis>. Desta forma, a remoção de comentários funciona, mesmo que não tenha selecionado todo o texto do comentário multi-linhas. O cursor só precisa estar dentro deste comentário.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->O elemento <userinput
->folding</userinput
->, no grupo <userinput
->general</userinput
->, define as propriedades de dobragem/desdobramento do código. Os atributos disponíveis são:</term>
+<term>O elemento <userinput>folding</userinput>, no grupo <userinput>general</userinput>, define as propriedades de dobragem/desdobramento do código. Os atributos disponíveis são:</term>
<listitem>
-<para
->O <userinput
->indentationsensitive</userinput
->, se for <emphasis
->true</emphasis
->, aplicará os marcadores de dobragem de código com base na indentação, como acontece na linguagem de programação Python. Normalmente você não terá que definir isto, uma vez que o valor padrão é <emphasis
->false</emphasis
->.</para>
+<para>O <userinput>indentationsensitive</userinput>, se for <emphasis>true</emphasis>, aplicará os marcadores de dobragem de código com base na indentação, como acontece na linguagem de programação Python. Normalmente você não terá que definir isto, uma vez que o valor padrão é <emphasis>false</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->O elemento <userinput
->indentation</userinput
->, no grupo <userinput
->general</userinput
->, define qual o sistema de indentação a usar; contudo, recomenda-se que omita este elemento, uma vez que o sistema de indentação será normalmente definido a partir de um Tipo de Arquivo ou através da adição da linha de modo no arquivo de texto. Se você indicar um sistema de indentação, todavia, irá obrigar o usuário a usar um sistema de indentação específico, o que poderá não ser o que ele quer. Os atributos disponíveis são:</term>
+<term>O elemento <userinput>indentation</userinput>, no grupo <userinput>general</userinput>, define qual o sistema de indentação a usar; contudo, recomenda-se que omita este elemento, uma vez que o sistema de indentação será normalmente definido a partir de um Tipo de Arquivo ou através da adição da linha de modo no arquivo de texto. Se você indicar um sistema de indentação, todavia, irá obrigar o usuário a usar um sistema de indentação específico, o que poderá não ser o que ele quer. Os atributos disponíveis são:</term>
<listitem>
-<para
->O <userinput
->mode</userinput
-> é o nome do sistema de indentação. Os sistemas disponíveis atualmente são: <emphasis
->normal, cstyle, csands, xml, python</emphasis
-> e <emphasis
->varindent</emphasis
->.</para>
+<para>O <userinput>mode</userinput> é o nome do sistema de indentação. Os sistemas disponíveis atualmente são: <emphasis>normal, cstyle, csands, xml, python</emphasis> e <emphasis>varindent</emphasis>.</para>
</listitem>
</varlistentry>
@@ -672,73 +290,26 @@
</sect2>
<sect2 id="kate-highlight-default-styles">
-<title
->Estilos Padrão Disponíveis</title>
-<para
->Os estilos padrão <link linkend="kate-highlight-system-default-styles"
->já foram explicados</link
->, em resumo: Os estilos padrão são os estilos de cores e fontes pré-definidos.</para>
+<title>Estilos Padrão Disponíveis</title>
+<para>Os estilos padrão <link linkend="kate-highlight-system-default-styles">já foram explicados</link>, em resumo: Os estilos padrão são os estilos de cores e fontes pré-definidos.</para>
<variablelist>
<varlistentry>
-<term
->Assim, aqui aparece somente a lista de estilos padrão disponíveis:</term>
-<listitem>
-<para
-><userinput
->dsNormal</userinput
->, usado para o texto normal.</para>
-<para
-><userinput
->dsKeyword</userinput
->, usado nas palavras-chave.</para>
-<para
-><userinput
->dsDataType</userinput
->, usado nos tipos de dados.</para>
-<para
-><userinput
->dsDecVal</userinput
->, usado nos valores decimais.</para>
-<para
-><userinput
->dsBaseN</userinput
->, usados nos valores com uma base diferente de 10.</para>
-<para
-><userinput
->dsFloat</userinput
->, usado nos valores de ponto flutuante.</para>
-<para
-><userinput
->dsChar</userinput
->, usado para um caracter único.</para>
-<para
-><userinput
->dsString</userinput
->, usado para conjuntos ou cadeias de caracteres.</para>
-<para
-><userinput
->dsComment</userinput
->, usado nos comentários.</para>
-<para
-><userinput
->dsOthers</userinput
->, usado para outras coisas.</para>
-<para
-><userinput
->dsAlert</userinput
->, usado nas mensagens de aviso.</para>
-<para
-><userinput
->dsFunction</userinput
->, usado nas chamadas a funções.</para>
-<para
-><userinput
->dsRegionMarker</userinput
->, usado nos marcadores de regiões.</para>
-<para
-><userinput
->dsError</userinput
->, usado para realçar erros e sintaxes inválidas.</para>
+<term>Assim, aqui aparece somente a lista de estilos padrão disponíveis:</term>
+<listitem>
+<para><userinput>dsNormal</userinput>, usado para o texto normal.</para>
+<para><userinput>dsKeyword</userinput>, usado nas palavras-chave.</para>
+<para><userinput>dsDataType</userinput>, usado nos tipos de dados.</para>
+<para><userinput>dsDecVal</userinput>, usado nos valores decimais.</para>
+<para><userinput>dsBaseN</userinput>, usados nos valores com uma base diferente de 10.</para>
+<para><userinput>dsFloat</userinput>, usado nos valores de ponto flutuante.</para>
+<para><userinput>dsChar</userinput>, usado para um caracter único.</para>
+<para><userinput>dsString</userinput>, usado para conjuntos ou cadeias de caracteres.</para>
+<para><userinput>dsComment</userinput>, usado nos comentários.</para>
+<para><userinput>dsOthers</userinput>, usado para outras coisas.</para>
+<para><userinput>dsAlert</userinput>, usado nas mensagens de aviso.</para>
+<para><userinput>dsFunction</userinput>, usado nas chamadas a funções.</para>
+<para><userinput>dsRegionMarker</userinput>, usado nos marcadores de regiões.</para>
+<para><userinput>dsError</userinput>, usado para realçar erros e sintaxes inválidas.</para>
</listitem>
</varlistentry>
</variablelist>
@@ -748,539 +319,262 @@
</sect1>
<sect1 id="kate-highlight-rules-detailled">
-<title
->Regras de Deteção de Realce</title>
+<title>Regras de Deteção de Realce</title>
-<para
->Esta seção descreve as regras de deteção de sintaxe.</para>
+<para>Esta seção descreve as regras de deteção de sintaxe.</para>
-<para
->Cada regra pode corresponder a zero ou mais caracteres no início do texto que é testado. Se a regra corresponder, é atribuído o estilo ou <emphasis
->atributo</emphasis
-> definido pela regra aos caracteres correspondentes; uma regra poderá perguntar se o contexto atual será alterado.</para>
+<para>Cada regra pode corresponder a zero ou mais caracteres no início do texto que é testado. Se a regra corresponder, é atribuído o estilo ou <emphasis>atributo</emphasis> definido pela regra aos caracteres correspondentes; uma regra poderá perguntar se o contexto atual será alterado.</para>
-<para
->As regras se parecem com isto:</para>
+<para>As regras se parecem com isto:</para>
-<programlisting
->&lt;NomeRegra attribute=&quot;(identificador)&quot; context=&quot;(identifier|order)&quot; [atributos específicos da regra] /&gt;</programlisting>
+<programlisting>&lt;NomeRegra attribute=&quot;(identificador)&quot; context=&quot;(identifier|order)&quot; [atributos específicos da regra] /&gt;</programlisting>
-<para
->O <emphasis
->attribute</emphasis
-> identifica o estilo a usar para os caracteres correspondentes pelo nome ou índice; o <emphasis
->context</emphasis
-> identifica, como esperado, o contexto a usar a partir daqui.</para>
+<para>O <emphasis>attribute</emphasis> identifica o estilo a usar para os caracteres correspondentes pelo nome ou índice; o <emphasis>context</emphasis> identifica, como esperado, o contexto a usar a partir daqui.</para>
-<para
->O <emphasis
->context</emphasis
-> pode ser identificado por:</para>
+<para>O <emphasis>context</emphasis> pode ser identificado por:</para>
<itemizedlist>
<listitem>
-<para
->Um <emphasis
->identificador</emphasis
->, que é o nome do outro contexto.</para>
+<para>Um <emphasis>identificador</emphasis>, que é o nome do outro contexto.</para>
</listitem>
<listitem>
-<para
->Uma <emphasis
->ordem</emphasis
-> diz ao mecanismo para ficar no contexto atual (<userinput
->#stay</userinput
->), ou voltar a usar um contexto usado anteriormente na string (<userinput
->#pop</userinput
->).</para>
-<para
->Para voltar mais passos, a palavra-chave #pop pode ser repetida: <userinput
->#pop#pop#pop</userinput
-></para>
+<para>Uma <emphasis>ordem</emphasis> diz ao mecanismo para ficar no contexto atual (<userinput>#stay</userinput>), ou voltar a usar um contexto usado anteriormente na string (<userinput>#pop</userinput>).</para>
+<para>Para voltar mais passos, a palavra-chave #pop pode ser repetida: <userinput>#pop#pop#pop</userinput></para>
</listitem>
</itemizedlist>
-<para
->Algumas regras podem ter <emphasis
->regras-filhas</emphasis
->, as quais podem ser avaliadas se e só se a regra-mãe foi verificada. O texto inteiro verificado terá o atributo definido pela regra-mãe. Uma regra com regras-filhas se pareceria com a seguinte:</para>
+<para>Algumas regras podem ter <emphasis>regras-filhas</emphasis>, as quais podem ser avaliadas se e só se a regra-mãe foi verificada. O texto inteiro verificado terá o atributo definido pela regra-mãe. Uma regra com regras-filhas se pareceria com a seguinte:</para>
-<programlisting
->&lt;NomedaRegra (atributos)&gt;
+<programlisting>&lt;NomedaRegra (atributos)&gt;
&lt;NomedaRegraFilha (atributos) /&gt;
...
&lt;/NomedaRegra&gt;
</programlisting>
-<para
->Os atributos específicos da regra variam e estão descritos nas seções a seguir.</para>
+<para>Os atributos específicos da regra variam e estão descritos nas seções a seguir.</para>
<itemizedlist>
-<title
->Atributos comuns</title>
-<para
->Todas as regras possuem os seguintes atributos em comum e estão disponíveis sempre que os <userinput
->(atributos comuns)</userinput
-> aparecerem. O <emphasis
->attribute</emphasis
-> e o <emphasis
->context</emphasis
-> são atributos obrigatórios, enquanto os outros são opcionais. </para>
+<title>Atributos comuns</title>
+<para>Todas as regras possuem os seguintes atributos em comum e estão disponíveis sempre que os <userinput>(atributos comuns)</userinput> aparecerem. O <emphasis>attribute</emphasis> e o <emphasis>context</emphasis> são atributos obrigatórios, enquanto os outros são opcionais. </para>
<listitem>
-<para
-><emphasis
->attribute</emphasis
->: Um atributo mapeia-se para um <emphasis
->itemData</emphasis
-> definido.</para>
+<para><emphasis>attribute</emphasis>: Um atributo mapeia-se para um <emphasis>itemData</emphasis> definido.</para>
</listitem>
<listitem>
-<para
-><emphasis
->context</emphasis
->: Indica o contexto para onde muda o sistema de realce, se a regra corresponder.</para>
+<para><emphasis>context</emphasis>: Indica o contexto para onde muda o sistema de realce, se a regra corresponder.</para>
</listitem>
<listitem>
-<para
-><emphasis
->beginRegion</emphasis
->: Inicia um bloco de dobragem de código. Padrão: não definido.</para>
+<para><emphasis>beginRegion</emphasis>: Inicia um bloco de dobragem de código. Padrão: não definido.</para>
</listitem>
<listitem>
-<para
-><emphasis
->endRegion</emphasis
->: Fecha uma região de dobragem de código. Padrão: não definido.</para>
+<para><emphasis>endRegion</emphasis>: Fecha uma região de dobragem de código. Padrão: não definido.</para>
</listitem>
<listitem>
-<para
-><emphasis
->lookAhead</emphasis
->: Se for <emphasis
->true</emphasis
-> (verdadeiro), o sistema de realce não irá processar o tamanho da correspondência. Padrão: <emphasis
->false</emphasis
->.</para>
+<para><emphasis>lookAhead</emphasis>: Se for <emphasis>true</emphasis> (verdadeiro), o sistema de realce não irá processar o tamanho da correspondência. Padrão: <emphasis>false</emphasis>.</para>
</listitem>
<listitem>
-<para
-><emphasis
->firstNonSpace</emphasis
->: Corresponder apenas se o texto for o primeiro não-espaço em branco da linha. Padrão: <emphasis
->false</emphasis
->.</para>
+<para><emphasis>firstNonSpace</emphasis>: Corresponder apenas se o texto for o primeiro não-espaço em branco da linha. Padrão: <emphasis>false</emphasis>.</para>
</listitem>
<listitem>
-<para
-><emphasis
->column</emphasis
->: Corresponder apenas se a coluna corresponder. Padrão: não definido.</para>
+<para><emphasis>column</emphasis>: Corresponder apenas se a coluna corresponder. Padrão: não definido.</para>
</listitem>
</itemizedlist>
<itemizedlist>
-<title
->Regras dinâmicas</title>
-<para
->Algumas regras permitem o atributo opcional <userinput
->dynamic</userinput
->, do tipo booleano, cujo valor por padrão é <emphasis
->false</emphasis
->. Se o 'dynamic' for <emphasis
->true</emphasis
->, uma regra poderá usar seqüências de substituição que representam o texto correspondente a uma <emphasis
->expressão regular</emphasis
-> que mudou para o contexto atual, nos seus atributos <userinput
->string</userinput
-> ou <userinput
->char</userinput
->. Num <userinput
->string</userinput
->, o texto de substituição <replaceable
->%N</replaceable
-> (em que o N é um número) será substituído pela captura correspondente a <replaceable
->N</replaceable
-> na expressão regular de chamada. Num <userinput
->char</userinput
->, a seqüência de substituição deverá ser um número <replaceable
->N</replaceable
-> que será substituído pelo primeiro caracter da captura <replaceable
->N</replaceable
-> da expressão regular de chamada. Sempre que uma regra permitir este atributo, irá conter um <emphasis
->(dinâmico)</emphasis
->.</para>
+<title>Regras dinâmicas</title>
+<para>Algumas regras permitem o atributo opcional <userinput>dynamic</userinput>, do tipo booleano, cujo valor por padrão é <emphasis>false</emphasis>. Se o 'dynamic' for <emphasis>true</emphasis>, uma regra poderá usar seqüências de substituição que representam o texto correspondente a uma <emphasis>expressão regular</emphasis> que mudou para o contexto atual, nos seus atributos <userinput>string</userinput> ou <userinput>char</userinput>. Num <userinput>string</userinput>, o texto de substituição <replaceable>%N</replaceable> (em que o N é um número) será substituído pela captura correspondente a <replaceable>N</replaceable> na expressão regular de chamada. Num <userinput>char</userinput>, a seqüência de substituição deverá ser um número <replaceable>N</replaceable> que será substituído pelo primeiro caracter da captura <replaceable>N</replaceable> da expressão regular de chamada. Sempre que uma regra permitir este atributo, irá conter um <emphasis>(dinâmico)</emphasis>.</para>
<listitem>
-<para
-><emphasis
->dynamic</emphasis
->: poderá ser <emphasis
->(true|false)</emphasis
->.</para>
+<para><emphasis>dynamic</emphasis>: poderá ser <emphasis>(true|false)</emphasis>.</para>
</listitem>
</itemizedlist>
<sect2 id="highlighting-rules-in-detail">
-<title
->As Regras em Detalhes</title>
+<title>As Regras em Detalhes</title>
<variablelist>
<varlistentry>
-<term
->DetectChar</term>
+<term>DetectChar</term>
<listitem>
-<para
->Detecta um caractere específico. Comumente usado, por exemplo, para encontrar o final das strings citadas.</para>
-<programlisting
->&lt;DetectChar char=&quot;(caracter)&quot; (atributos comuns) (dinâmico) /&gt;</programlisting>
-<para
->O atributo <userinput
->char</userinput
-> define o caractere a ser procurado.</para>
+<para>Detecta um caractere específico. Comumente usado, por exemplo, para encontrar o final das strings citadas.</para>
+<programlisting>&lt;DetectChar char=&quot;(caracter)&quot; (atributos comuns) (dinâmico) /&gt;</programlisting>
+<para>O atributo <userinput>char</userinput> define o caractere a ser procurado.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->Detect2Chars</term>
+<term>Detect2Chars</term>
<listitem>
-<para
->Detecta dois caracteres específicos, em uma ordem definida.</para>
-<programlisting
->&lt;Detect2Chars char=&quot;(caracter)&quot; char1=&quot;(caracter)&quot; (atributos comuns) (dinâmico) /&gt;</programlisting>
-<para
->O atributo <userinput
->char</userinput
-> define o primeiro caractere a ser procurado, e o atributo <userinput
->char1</userinput
-> o segundo.</para>
+<para>Detecta dois caracteres específicos, em uma ordem definida.</para>
+<programlisting>&lt;Detect2Chars char=&quot;(caracter)&quot; char1=&quot;(caracter)&quot; (atributos comuns) (dinâmico) /&gt;</programlisting>
+<para>O atributo <userinput>char</userinput> define o primeiro caractere a ser procurado, e o atributo <userinput>char1</userinput> o segundo.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->AnyChar</term>
+<term>AnyChar</term>
<listitem>
-<para
->Detecta um caractere de um conjunto de caracteres especificados.</para>
-<programlisting
->&lt;AnyChar String=&quot;(string)&quot; (atributos comuns) /&gt;</programlisting>
-<para
->O atributo <userinput
->String</userinput
-> define o conjunto de caracteres.</para>
+<para>Detecta um caractere de um conjunto de caracteres especificados.</para>
+<programlisting>&lt;AnyChar String=&quot;(string)&quot; (atributos comuns) /&gt;</programlisting>
+<para>O atributo <userinput>String</userinput> define o conjunto de caracteres.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->StringDetect</term>
+<term>StringDetect</term>
<listitem>
-<para
->Detecta uma string exata.</para>
-<programlisting
->&lt;StringDetect String=&quot;(string)&quot; [insensitive=&quot;TRUE|FALSE;&quot;] (atributos comuns) (dinâmico) /&gt;</programlisting>
-<para
->O atributo <userinput
->String</userinput
-> define a seqüência a encontrar. O atributo <userinput
->insensitive</userinput
-> é por padrão <userinput
->false</userinput
-> e é passado à função de comparação de cadeias de caracteres. Se o valor for <userinput
->true</userinput
-> a comparação não faz distinção entre maiúsculas e minúsculas.</para>
+<para>Detecta uma string exata.</para>
+<programlisting>&lt;StringDetect String=&quot;(string)&quot; [insensitive=&quot;TRUE|FALSE;&quot;] (atributos comuns) (dinâmico) /&gt;</programlisting>
+<para>O atributo <userinput>String</userinput> define a seqüência a encontrar. O atributo <userinput>insensitive</userinput> é por padrão <userinput>false</userinput> e é passado à função de comparação de cadeias de caracteres. Se o valor for <userinput>true</userinput> a comparação não faz distinção entre maiúsculas e minúsculas.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->RegExpr</term>
+<term>RegExpr</term>
<listitem>
-<para
->Procura por uma expressão regular.</para>
-<programlisting
->&lt;RegExpr String=&quot;(texto)&quot; [insensitive=&quot;TRUE|FALSE;&quot;] [minimal=&quot;TRUE|FALSE&quot;] (atributos comuns) (dinâmico) /&gt;</programlisting>
-<para
->O atributo <userinput
->String</userinput
-> define a expressão regular.</para>
-<para
->O <userinput
->insensitive</userinput
-> é, por padrão, <userinput
->false</userinput
-> e é passado ao motor de expressões regulares.</para>
-<para
->O <userinput
->minimal</userinput
-> é, por padrão, <userinput
->false</userinput
-> e é passado ao motor de expressões regulares.</para>
-<para
->Pelo motivo que as regras estão sempre iniciando a busca no início da string atual, uma expressão regular iniciada com um acento circunflexo (<literal
->^ </literal
->) indica que a regra deve ser coincidente somente no início da linha.</para>
-<para
->Veja em <link linkend="regular-expressions"
->Expressões Regulares</link
-> mais informações sobre o assunto.</para>
+<para>Procura por uma expressão regular.</para>
+<programlisting>&lt;RegExpr String=&quot;(texto)&quot; [insensitive=&quot;TRUE|FALSE;&quot;] [minimal=&quot;TRUE|FALSE&quot;] (atributos comuns) (dinâmico) /&gt;</programlisting>
+<para>O atributo <userinput>String</userinput> define a expressão regular.</para>
+<para>O <userinput>insensitive</userinput> é, por padrão, <userinput>false</userinput> e é passado ao motor de expressões regulares.</para>
+<para>O <userinput>minimal</userinput> é, por padrão, <userinput>false</userinput> e é passado ao motor de expressões regulares.</para>
+<para>Pelo motivo que as regras estão sempre iniciando a busca no início da string atual, uma expressão regular iniciada com um acento circunflexo (<literal>^ </literal>) indica que a regra deve ser coincidente somente no início da linha.</para>
+<para>Veja em <link linkend="regular-expressions">Expressões Regulares</link> mais informações sobre o assunto.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->keyword</term>
+<term>keyword</term>
<listitem>
-<para
->Detecta uma palavra-chave de uma lista especificada.</para>
-<programlisting
->&lt;keyword String=&quot;(nome da lista)&quot; (atributos comuns) /&gt;</programlisting>
-<para
->O atributo <userinput
->String</userinput
-> identifica a lista de palavras-chave pelo nome. Uma lista com aquele nome, portanto, deve existir.</para>
+<para>Detecta uma palavra-chave de uma lista especificada.</para>
+<programlisting>&lt;keyword String=&quot;(nome da lista)&quot; (atributos comuns) /&gt;</programlisting>
+<para>O atributo <userinput>String</userinput> identifica a lista de palavras-chave pelo nome. Uma lista com aquele nome, portanto, deve existir.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->Int</term>
+<term>Int</term>
<listitem>
-<para
->Detecta um número inteiro.</para>
-<para
-><programlisting
->&lt;Int (atributos comuns) (dinâmico) /&gt;</programlisting
-></para>
-<para
->Esta regra não tem atributos específicos. As regras-filho são tipicamente usadas para detectar as combinações de <userinput
->L</userinput
-> e <userinput
->U</userinput
-> depois do número, o que indica o tipo inteiro no código do programa. De fato, todas as regras são permitidas como regras-filhas, contudo, o <acronym
->DTD</acronym
-> só permite a regra-filha <userinput
->StringDetect</userinput
->.</para>
-<para
->O exemplo a seguir faz correspondência com os números inteiros, seguidos do caracter 'L'. <programlisting
->&lt;Int attribute="Decimal" context="#stay" &gt;
+<para>Detecta um número inteiro.</para>
+<para><programlisting>&lt;Int (atributos comuns) (dinâmico) /&gt;</programlisting></para>
+<para>Esta regra não tem atributos específicos. As regras-filho são tipicamente usadas para detectar as combinações de <userinput>L</userinput> e <userinput>U</userinput> depois do número, o que indica o tipo inteiro no código do programa. De fato, todas as regras são permitidas como regras-filhas, contudo, o <acronym>DTD</acronym> só permite a regra-filha <userinput>StringDetect</userinput>.</para>
+<para>O exemplo a seguir faz correspondência com os números inteiros, seguidos do caracter 'L'. <programlisting>&lt;Int attribute="Decimal" context="#stay" &gt;
&lt;StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/&gt;
&lt;/Int&gt;
-</programlisting
-></para>
+</programlisting></para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->Float</term>
+<term>Float</term>
<listitem>
-<para
->Detecta um número de ponto flutuante.</para>
-<para
-><programlisting
->&lt;Float (atributos comuns) /&gt;</programlisting
-></para>
-<para
->Esta regra não tem atributos específicos. O <userinput
->AnyChar</userinput
-> é permitido como regra-filha e é tipicamente usada para detectar combinações; veja a regra <userinput
->Int</userinput
-> para mais referências.</para>
+<para>Detecta um número de ponto flutuante.</para>
+<para><programlisting>&lt;Float (atributos comuns) /&gt;</programlisting></para>
+<para>Esta regra não tem atributos específicos. O <userinput>AnyChar</userinput> é permitido como regra-filha e é tipicamente usada para detectar combinações; veja a regra <userinput>Int</userinput> para mais referências.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->HlCOct</term>
+<term>HlCOct</term>
<listitem>
-<para
->Detecta uma representação de um número octal.</para>
-<para
-><programlisting
->&lt;HlCOct (atributos comuns) /&gt;</programlisting
-></para>
-<para
->Esta regra não possui atributos específicos.</para>
+<para>Detecta uma representação de um número octal.</para>
+<para><programlisting>&lt;HlCOct (atributos comuns) /&gt;</programlisting></para>
+<para>Esta regra não possui atributos específicos.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->HlCHex</term>
+<term>HlCHex</term>
<listitem>
-<para
->Detecta uma representação de um número hexadecimal.</para>
-<para
-><programlisting
->&lt;HlCHex (atributos comuns) /&gt;</programlisting
-></para>
-<para
->Esta regra não possui atributos específicos.</para>
+<para>Detecta uma representação de um número hexadecimal.</para>
+<para><programlisting>&lt;HlCHex (atributos comuns) /&gt;</programlisting></para>
+<para>Esta regra não possui atributos específicos.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->HlCStringChar</term>
+<term>HlCStringChar</term>
<listitem>
-<para
->Detecta um caractere de escape.</para>
-<para
-><programlisting
->&lt;HlCStringChar (atributos comuns) /&gt;</programlisting
-></para>
-<para
->Esta regra não possui atributos específicos.</para>
-
-<para
->Corresponde a representações literais dos caracteres usados normalmente no código do programa como, por exemplo, o <userinput
->\n</userinput
-> (nova linha) ou o <userinput
->\t</userinput
-> (TAB).</para>
-
-<para
->Os seguintes caracteres irão corresponder se estiverem após uma barra invertida (<literal
->\</literal
->): <userinput
->abefnrtv&quot;'?\</userinput
->. Além disso, os números escapados em hexadecimal como, por exemplo, o <userinput
->\xff</userinput
-> e os números octais escapados, como o <userinput
->\033</userinput
->, irão corresponder.</para>
+<para>Detecta um caractere de escape.</para>
+<para><programlisting>&lt;HlCStringChar (atributos comuns) /&gt;</programlisting></para>
+<para>Esta regra não possui atributos específicos.</para>
+
+<para>Corresponde a representações literais dos caracteres usados normalmente no código do programa como, por exemplo, o <userinput>\n</userinput> (nova linha) ou o <userinput>\t</userinput> (TAB).</para>
+
+<para>Os seguintes caracteres irão corresponder se estiverem após uma barra invertida (<literal>\</literal>): <userinput>abefnrtv&quot;'?\</userinput>. Além disso, os números escapados em hexadecimal como, por exemplo, o <userinput>\xff</userinput> e os números octais escapados, como o <userinput>\033</userinput>, irão corresponder.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->HlCChar</term>
+<term>HlCChar</term>
<listitem>
-<para
->Detecta um caracter do C.</para>
-<para
-><programlisting
->&lt;HlCChar (atributos comuns) /&gt;</programlisting
-></para>
-<para
->Esta regra não possui atributos específicos.</para>
-
-<para
->Corresponde aos caracteres em C colocados dentro de um tique (Exemplo: <userinput
->'c'</userinput
->). Como tal, dentro dos tiques poderá existir um único caracter ou um caracter de escape. Veja o 'HlCStringChar' para ver as seqüências de caracteres de escape correspondentes.</para>
+<para>Detecta um caracter do C.</para>
+<para><programlisting>&lt;HlCChar (atributos comuns) /&gt;</programlisting></para>
+<para>Esta regra não possui atributos específicos.</para>
+
+<para>Corresponde aos caracteres em C colocados dentro de um tique (Exemplo: <userinput>'c'</userinput>). Como tal, dentro dos tiques poderá existir um único caracter ou um caracter de escape. Veja o 'HlCStringChar' para ver as seqüências de caracteres de escape correspondentes.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->RangeDetect</term>
+<term>RangeDetect</term>
<listitem>
-<para
->Detecta uma string com os caracteres de início e fim definidos.</para>
-<programlisting
->&lt;RangeDetect char=&quot;(caractere)&quot; char1=&quot;(caractere)&quot; (atributos comuns) /&gt;</programlisting>
-<para
->O <userinput
->char</userinput
-> define o caracter de início e o <userinput
->char1</userinput
-> o caracter que termina o intervalo.</para>
-<para
->Útil para detectar, por exemplo, pequenas cadeias de caracteres entre aspas e semelhantes, mas repare que, uma vez que o motor de realce de sintaxe funciona com uma linha de cada vez, isto não irá encontrar as cadeias de caracteres que se prolonguem por mais de uma linha.</para>
+<para>Detecta uma string com os caracteres de início e fim definidos.</para>
+<programlisting>&lt;RangeDetect char=&quot;(caractere)&quot; char1=&quot;(caractere)&quot; (atributos comuns) /&gt;</programlisting>
+<para>O <userinput>char</userinput> define o caracter de início e o <userinput>char1</userinput> o caracter que termina o intervalo.</para>
+<para>Útil para detectar, por exemplo, pequenas cadeias de caracteres entre aspas e semelhantes, mas repare que, uma vez que o motor de realce de sintaxe funciona com uma linha de cada vez, isto não irá encontrar as cadeias de caracteres que se prolonguem por mais de uma linha.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->LineContinue</term>
+<term>LineContinue</term>
<listitem>
-<para
->Coincide com o final da linha.</para>
-<programlisting
->&lt;LineContinue (atributos comuns) /&gt;</programlisting>
-<para
->Esta regra não possui atributos específicos.</para>
-<para
->Esta regra é útil para mudar de contexto no fim da linha, se o último caracter for uma barra invertida (<userinput
->'\'</userinput
->). Isto é necessário, por exemplo no C/C++, para continuar as macros ou cadeias de caracteres.</para>
+<para>Coincide com o final da linha.</para>
+<programlisting>&lt;LineContinue (atributos comuns) /&gt;</programlisting>
+<para>Esta regra não possui atributos específicos.</para>
+<para>Esta regra é útil para mudar de contexto no fim da linha, se o último caracter for uma barra invertida (<userinput>'\'</userinput>). Isto é necessário, por exemplo no C/C++, para continuar as macros ou cadeias de caracteres.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->IncludeRules</term>
+<term>IncludeRules</term>
<listitem>
-<para
->Inclui as regras de outro contexto ou linguagem/arquivo.</para>
-<programlisting
->&lt;IncludeRules context=&quot;ligacao_contexto&quot; [includeAttrib=&quot;true|false&quot;] /&gt;</programlisting>
-
-<para
->O atributo <userinput
->context</userinput
-> define o contexto a incluir.</para>
-<para
->Se for texto simples, inclui todas as regras definidas no contexto atual, como por exemplo: <programlisting
->&lt;IncludeRules context=&quot;outroContexto&quot; /&gt;</programlisting
-></para>
-
-<para
->Se o texto começar por <userinput
->##</userinput
->, o sistema de realce irá procurar outra definição de linguagem com o nome indicado, como por exemplo: <programlisting
->&lt;IncludeRules context=&quot;##C++&quot; /&gt;</programlisting
-></para>
-<para
->Se o atributo <userinput
->includeAttrib</userinput
-> for <emphasis
->true</emphasis
->, muda o atributo de destino para o da origem. Isto é necessário para fazer, por exemplo, funcionar os comentários, se o texto correspondente ao contexto incluído for de um realce diferente do contexto-anfitrião. </para>
+<para>Inclui as regras de outro contexto ou linguagem/arquivo.</para>
+<programlisting>&lt;IncludeRules context=&quot;ligacao_contexto&quot; [includeAttrib=&quot;true|false&quot;] /&gt;</programlisting>
+
+<para>O atributo <userinput>context</userinput> define o contexto a incluir.</para>
+<para>Se for texto simples, inclui todas as regras definidas no contexto atual, como por exemplo: <programlisting>&lt;IncludeRules context=&quot;outroContexto&quot; /&gt;</programlisting></para>
+
+<para>Se o texto começar por <userinput>##</userinput>, o sistema de realce irá procurar outra definição de linguagem com o nome indicado, como por exemplo: <programlisting>&lt;IncludeRules context=&quot;##C++&quot; /&gt;</programlisting></para>
+<para>Se o atributo <userinput>includeAttrib</userinput> for <emphasis>true</emphasis>, muda o atributo de destino para o da origem. Isto é necessário para fazer, por exemplo, funcionar os comentários, se o texto correspondente ao contexto incluído for de um realce diferente do contexto-anfitrião. </para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->DetectSpaces</term>
+<term>DetectSpaces</term>
<listitem>
-<para
->Detecta espaços em branco.</para>
-<programlisting
->&lt;DetectSpaces (atributos comuns) /&gt;</programlisting>
-
-<para
->Esta regra não possui atributos específicos.</para>
-<para
->Use esta regra se souber que poderão existir vários espaços em branco à frente como, por exemplo, no início das linhas indentadas. Esta regra irá ignorar todos os espaços em branco, em vez de testar várias regras e ignorar uma de cada vez, devido a uma falta de correspondência.</para>
+<para>Detecta espaços em branco.</para>
+<programlisting>&lt;DetectSpaces (atributos comuns) /&gt;</programlisting>
+
+<para>Esta regra não possui atributos específicos.</para>
+<para>Use esta regra se souber que poderão existir vários espaços em branco à frente como, por exemplo, no início das linhas indentadas. Esta regra irá ignorar todos os espaços em branco, em vez de testar várias regras e ignorar uma de cada vez, devido a uma falta de correspondência.</para>
</listitem>
</varlistentry>
<varlistentry>
-<term
->DetectIdentifier</term>
+<term>DetectIdentifier</term>
<listitem>
-<para
->Detecta os textos dos identificadores (como acontece na expressão regular: [a-zA-Z_][a-zA-Z0-9_]*).</para>
-<programlisting
->&lt;DetectIdentifier (atributos comuns) /&gt;</programlisting>
-
-<para
->Esta regra não possui atributos específicos.</para>
-<para
->Use esta regra para ignorar uma sequência de caracteres de palavras de uma vez, em vez de testar com várias regras e ignorar uma de cada vez, por falta de correspondência.</para>
+<para>Detecta os textos dos identificadores (como acontece na expressão regular: [a-zA-Z_][a-zA-Z0-9_]*).</para>
+<programlisting>&lt;DetectIdentifier (atributos comuns) /&gt;</programlisting>
+
+<para>Esta regra não possui atributos específicos.</para>
+<para>Use esta regra para ignorar uma sequência de caracteres de palavras de uma vez, em vez de testar com várias regras e ignorar uma de cada vez, por falta de correspondência.</para>
</listitem>
</varlistentry>
@@ -1288,95 +582,45 @@
</sect2>
<sect2>
-<title
->Dicas &amp; Truques</title>
+<title>Dicas &amp; Truques</title>
<itemizedlist>
-<para
->Logo que tenha compreendido como funciona a mudança de contexto, será fácil de criar definições de realce. Ainda que você deva verificar com cuidado a regra que escolher, dependendo da situação, as expressões regulares são muito poderosas, só que são lentas em comparação com as outras regras. Assim, você poderá considerar útil as seguintes dicas. </para>
+<para>Logo que tenha compreendido como funciona a mudança de contexto, será fácil de criar definições de realce. Ainda que você deva verificar com cuidado a regra que escolher, dependendo da situação, as expressões regulares são muito poderosas, só que são lentas em comparação com as outras regras. Assim, você poderá considerar útil as seguintes dicas. </para>
<listitem>
-<para
->Se você só corresponder com 2 caracteres, use o <userinput
->Detect2Chars</userinput
-> em vez do <userinput
->StringDetect</userinput
->. O mesmo aplica-se ao <userinput
->DetectChar</userinput
->.</para>
+<para>Se você só corresponder com 2 caracteres, use o <userinput>Detect2Chars</userinput> em vez do <userinput>StringDetect</userinput>. O mesmo aplica-se ao <userinput>DetectChar</userinput>.</para>
</listitem>
<listitem>
-<para
->As expressões regulares são fáceis de usar mas, normalmente, existe outra forma muito mais rápida de obter o mesmo resultado. Assuma que só deseja corresponder com o caracter <userinput
->'#'</userinput
-> se for o primeiro caracter da linha. Uma solução baseada em expressões regulares seria semelhante à seguinte: <programlisting
->&lt;RegExpr attribute=&quot;Macro&quot; context=&quot;macro&quot; String=&quot;^\s*#&quot; /&gt;</programlisting
-> Você poderá obter o mesmo se usar: <programlisting
->&lt;DetectChar attribute=&quot;Macro&quot; context=&quot;macro&quot; char=&quot;#&quot; firstNonSpace=&quot;true&quot; /&gt;</programlisting
-> Se quiser corresponder à expressão regular <userinput
->'^#'</userinput
->, poderá usar ainda o <userinput
->DetectChar</userinput
-> com o atributo <userinput
->column=&quot;0&quot;</userinput
->. O atributo <userinput
->column</userinput
-> conta com base no número de caracteres; assim, uma tabulação conta como se fosse apenas um caracter. </para>
+<para>As expressões regulares são fáceis de usar mas, normalmente, existe outra forma muito mais rápida de obter o mesmo resultado. Assuma que só deseja corresponder com o caracter <userinput>'#'</userinput> se for o primeiro caracter da linha. Uma solução baseada em expressões regulares seria semelhante à seguinte: <programlisting>&lt;RegExpr attribute=&quot;Macro&quot; context=&quot;macro&quot; String=&quot;^\s*#&quot; /&gt;</programlisting> Você poderá obter o mesmo se usar: <programlisting>&lt;DetectChar attribute=&quot;Macro&quot; context=&quot;macro&quot; char=&quot;#&quot; firstNonSpace=&quot;true&quot; /&gt;</programlisting> Se quiser corresponder à expressão regular <userinput>'^#'</userinput>, poderá usar ainda o <userinput>DetectChar</userinput> com o atributo <userinput>column=&quot;0&quot;</userinput>. O atributo <userinput>column</userinput> conta com base no número de caracteres; assim, uma tabulação conta como se fosse apenas um caracter. </para>
</listitem>
<listitem>
-<para
->Você poderá mudar de contextos sem processar os caracteres. Assuma que deseja mudar de contexto quando encontrar o texto <userinput
->*/</userinput
->, mas necessita de processar essa seqüência no próximo contexto. A regra abaixo irá corresponder e o atributo <userinput
->lookAhead</userinput
-> fará com que o sistema de realce mantenha o texto correspondente no próximo contexto. <programlisting
->&lt;Detect2Chars attribute=&quot;Comment&quot; context=&quot;#pop&quot; char=&quot;*&quot; char1=&quot;/&quot; lookAhead=&quot;true&quot; /&gt;</programlisting>
+<para>Você poderá mudar de contextos sem processar os caracteres. Assuma que deseja mudar de contexto quando encontrar o texto <userinput>*/</userinput>, mas necessita de processar essa seqüência no próximo contexto. A regra abaixo irá corresponder e o atributo <userinput>lookAhead</userinput> fará com que o sistema de realce mantenha o texto correspondente no próximo contexto. <programlisting>&lt;Detect2Chars attribute=&quot;Comment&quot; context=&quot;#pop&quot; char=&quot;*&quot; char1=&quot;/&quot; lookAhead=&quot;true&quot; /&gt;</programlisting>
</para>
</listitem>
<listitem>
-<para
->Use o <userinput
->DetectSpaces</userinput
-> se você souber que irão ocorrer vários espaços em branco.</para>
+<para>Use o <userinput>DetectSpaces</userinput> se você souber que irão ocorrer vários espaços em branco.</para>
</listitem>
<listitem>
-<para
->Use o <userinput
->DetectIdentifier</userinput
-> em vez da expressão regular <userinput
->'[a-zA-Z_]\w*'</userinput
->.</para>
+<para>Use o <userinput>DetectIdentifier</userinput> em vez da expressão regular <userinput>'[a-zA-Z_]\w*'</userinput>.</para>
</listitem>
<listitem>
-<para
->Use os estilos padrão sempre que puder. Desta forma, o usuário irá encontrar um ambiente familiar.</para>
+<para>Use os estilos padrão sempre que puder. Desta forma, o usuário irá encontrar um ambiente familiar.</para>
</listitem>
<listitem>
-<para
->Procure em outros arquivos XML para ver como as outras pessoas implementam as regras mais complicadas.</para>
+<para>Procure em outros arquivos XML para ver como as outras pessoas implementam as regras mais complicadas.</para>
</listitem>
<listitem>
-<para
->Você poderá validar todos os arquivos XML se usar o comando <command
->xmllint --dtdvalid language.dtd aMinhaSintaxe.xml</command
->.</para>
+<para>Você poderá validar todos os arquivos XML se usar o comando <command>xmllint --dtdvalid language.dtd aMinhaSintaxe.xml</command>.</para>
</listitem>
<listitem>
-<para
->Se repetir algumas expressões regulares complexas com freqüência, você poderá usar as <emphasis
->ENTIDADES</emphasis
->. Por exemplo:</para>
-<programlisting
->&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+<para>Se repetir algumas expressões regulares complexas com freqüência, você poderá usar as <emphasis>ENTIDADES</emphasis>. Por exemplo:</para>
+<programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE language SYSTEM "language.dtd"
[
&lt;!ENTITY referencia "[A-Za-z_:][\w.:_-]*"&gt;
]&gt;
</programlisting>
-<para
->Agora, você poderá usar o <emphasis
->&amp;referencia;</emphasis
-> em vez da expressão regular.</para>
+<para>Agora, você poderá usar o <emphasis>&amp;referencia;</emphasis> em vez da expressão regular.</para>
</listitem>
</itemizedlist>
</sect2>