From 0b8ca6637be94f7814cafa7d01ad4699672ff336 Mon Sep 17 00:00:00 2001 From: Darrell Anderson Date: Tue, 21 Jan 2014 22:06:48 -0600 Subject: Beautify docbook files --- .../docs/tdebase/kate/highlighting.docbook | 1282 ++++---------------- 1 file changed, 263 insertions(+), 1019 deletions(-) (limited to 'tde-i18n-pt_BR/docs/tdebase/kate/highlighting.docbook') 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 @@ - -Lisiane Sztoltz
lisiane@conectiva.com.br
Tradução
+ +Lisiane Sztoltz
lisiane@conectiva.com.br
Tradução
-Trabalhando com Realce de Sintaxe +Trabalhando com Realce de Sintaxe -Visão geral +Visão geral -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. +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. - -Uma função Perl, representada com realce de sintaxe. -Uma função Perl, representada com realce de sintaxe. + +Uma função Perl, representada com realce de sintaxe. +Uma função Perl, representada com realce de sintaxe. - -A mesma função Perl, sem realce de sintaxe. -A mesma função Perl, sem realce de sintaxe. + +A mesma função Perl, sem realce de sintaxe. +A mesma função Perl, sem realce de sintaxe. -Dos dois exemplos, qual é o mais fácil de ler? - -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. - -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 Documentos Modo de Realce de Sintaxe. - -Os estilos e cores usados por cada definição de realce de sintaxe podem ser configurados usando a página de Aparência da Janela de Configuração enquanto os tipos &MIME; para os quais deve ser usada, podem ser configurados usando a página de Realce da Janela de Configuração. +Dos dois exemplos, qual é o mais fácil de ler? + +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. + +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 Documentos Modo de Realce de Sintaxe. + +Os estilos e cores usados por cada definição de realce de sintaxe podem ser configurados usando a página de Aparência da Janela de Configuração enquanto os tipos &MIME; para os quais deve ser usada, podem ser configurados usando a página de Realce da Janela de Configuração. -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. +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. -Você pode obter as definições de sintaxe adicionais ou atualizadas na página Web do &kate; clicando no botão Obter na página de Realce da Janela de Configuração. +Você pode obter as definições de sintaxe adicionais ou atualizadas na página Web do &kate; clicando no botão Obter na página de Realce da Janela de Configuração. -O Sistema de Realce de Sintaxe do &kate; +O Sistema de Realce de Sintaxe do &kate; -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. +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. -Como Funciona - -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. - -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. - -As definições de sintaxe usadas pelo sistema de realce de sintaxe do &kate; são arquivos &XML; que contém -Regras para a deteção do texto inteiro, organizado em blocos de contexto -Listas de palavras-chave -Definições de Item de Estilo +Como Funciona + +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. + +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. + +As definições de sintaxe usadas pelo sistema de realce de sintaxe do &kate; são arquivos &XML; que contém +Regras para a deteção do texto inteiro, organizado em blocos de contexto +Listas de palavras-chave +Definições de Item de Estilo -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. +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. -Regras +Regras -As regras de deteção são o coração do sistema de deteção de realce. Uma regra é uma string, caracter ou expressão regular 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. +As regras de deteção são o coração do sistema de deteção de realce. Uma regra é uma string, caracter ou expressão regular 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. -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. +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. -Os contextos poderão ser gerados dinamicamente, para permitir a utilização de dados específicos das instâncias nas regras. +Os contextos poderão ser gerados dinamicamente, para permitir a utilização de dados específicos das instâncias nas regras. -Estilos de Contexto e Palavras-Chave +Estilos de Contexto e Palavras-Chave -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. +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. -Uma definição de sintaxe pode conter tantos estilos quanto forem necessários para cobrir os conceitos do formato no qual serão usados. +Uma definição de sintaxe pode conter tantos estilos quanto forem necessários para cobrir os conceitos do formato no qual serão usados. -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. +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. -Estilos Padrão +Estilos Padrão -Se você abrir um arquivo de código em C++, um arquivo de &Java; e um documento em HTML 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. +Se você abrir um arquivo de código em C++, um arquivo de &Java; e um documento em HTML 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. -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. +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. -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 estilos padrão disponíveis serão explicados mais tarde. +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 estilos padrão disponíveis serão explicados mais tarde. @@ -202,151 +107,59 @@ -O Formato &XML; de Definição de Realce +O Formato &XML; de Definição de Realce -Visão geral - -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. - -A definição formal, mais conhecida por DTD, é guardada no arquivo language.dtd, o qual deve estar instalado no seu sistema na pasta $TDEDIR/share/apps/katepart/syntax. +Visão geral + +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. + +A definição formal, mais conhecida por DTD, é guardada no arquivo language.dtd, o qual deve estar instalado no seu sistema na pasta $TDEDIR/share/apps/katepart/syntax. -Seções principais dos arquivos de Definições de Realce do &kate; +Seções principais dos arquivos de Definições de Realce do &kate; -Um arquivo de realce contém um cabeçalho que define a versão do XML e o tipo de documento: +Um arquivo de realce contém um cabeçalho que define a versão do XML e o tipo de documento: -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> -A raiz do arquivo de definição é o elemento language. Os atributos disponíveis são: - - -Atributos necessários: -O name define o nome da linguagem. Ele aparece nos respectivos menus e janelas. -O section indica a categoria. -O extensions define as extensões dos arquivos, como por exemplo "*.cpp;*.h" - -Atributos opcionais: -O mimetype associa os arquivos com base no Tipo &MIME;. -O version indica a versão atual do arquivo de definição. -O kateversion indica a última versão suportada pelo &kate;. -O casesensitive define se as palavras-chave fazem distinção entre maiúsculas e minúsculas. -O priority é necessário se outro arquivo de definições de realce usar as mesmas extensões. Ganhará o que tiver maior prioridade. -O author contém o nome do autor e o seu endereço de e-mail. -O license contém a licença, que é normalmente a LGPL, a Artistic, a GPL, entre outras. -O hidden define se o nome deverá aparecer nos menus do &kate;. -Assim, a próxima linha parece-se com o seguinte: -<language name="C++" version="1.00" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" /> +A raiz do arquivo de definição é o elemento language. Os atributos disponíveis são: + + +Atributos necessários: +O name define o nome da linguagem. Ele aparece nos respectivos menus e janelas. +O section indica a categoria. +O extensions define as extensões dos arquivos, como por exemplo "*.cpp;*.h" + +Atributos opcionais: +O mimetype associa os arquivos com base no Tipo &MIME;. +O version indica a versão atual do arquivo de definição. +O kateversion indica a última versão suportada pelo &kate;. +O casesensitive define se as palavras-chave fazem distinção entre maiúsculas e minúsculas. +O priority é necessário se outro arquivo de definições de realce usar as mesmas extensões. Ganhará o que tiver maior prioridade. +O author contém o nome do autor e o seu endereço de e-mail. +O license contém a licença, que é normalmente a LGPL, a Artistic, a GPL, entre outras. +O hidden define se o nome deverá aparecer nos menus do &kate;. +Assim, a próxima linha parece-se com o seguinte: +<language name="C++" version="1.00" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" /> -A seguir vem o elemento highlighting, que contém o elemento opcional list e os elementos obrigatórios contexts e itemDatas. +A seguir vem o elemento highlighting, que contém o elemento opcional list e os elementos obrigatórios contexts e itemDatas. -O elemento list contém uma lista de palavras-chave. Neste caso, as palavras-chave são a class e a const.Você poderá adicionar tantas listas quanto desejar. -O elemento contexts contém todos os contextos. O primeiro contexto é, por padrão, o início do realce. Existem duas regras no contexto Normal Text (Texto Normal), que correspondem à lista de palavras-chave com o nome um_nome e uma regra que detecta aspas e muda o contexto para string (cadeia de caracteres). Para aprender mais sobre as regras, leia o próximo capítulo. -A terceira parte é o elemento itemDatas. Contém todas as cores e estilos de fonte necessários pelos contextos e regras. Neste exemplo, são usados o itemData de Normal Text (Texto Normal), String (Cadeia de Caracteres) e Keyword (Palavra-Chave). -<highlighting> +O elemento list contém uma lista de palavras-chave. Neste caso, as palavras-chave são a class e a const.Você poderá adicionar tantas listas quanto desejar. +O elemento contexts contém todos os contextos. O primeiro contexto é, por padrão, o início do realce. Existem duas regras no contexto Normal Text (Texto Normal), que correspondem à lista de palavras-chave com o nome um_nome e uma regra que detecta aspas e muda o contexto para string (cadeia de caracteres). Para aprender mais sobre as regras, leia o próximo capítulo. +A terceira parte é o elemento itemDatas. Contém todas as cores e estilos de fonte necessários pelos contextos e regras. Neste exemplo, são usados o itemData de Normal Text (Texto Normal), String (Cadeia de Caracteres) e Keyword (Palavra-Chave). +<highlighting> <list name="um_nome"> <item> class </item> <item> const </item> @@ -371,28 +184,12 @@ -A última parte de uma definição de realce é a seção opcional general. Ela poderá conter informações sobre as palavras-chave, expansão/recolhimento de código, comentários e indentação. +A última parte de uma definição de realce é a seção opcional general. Ela poderá conter informações sobre as palavras-chave, expansão/recolhimento de código, comentários e indentação. -A seção comment define com que texto é introduzido um comentário para uma única linha. Você poderá também definir comentários multi-linha, usando o multiLine com o atributo adicional end. Isto aplica-se se o usuário pressionar o atalho correspondente para comentar/descomentar. -A seção keywords 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. -<general> +A seção comment define com que texto é introduzido um comentário para uma única linha. Você poderá também definir comentários multi-linha, usando o multiLine com o atributo adicional end. Isto aplica-se se o usuário pressionar o atalho correspondente para comentar/descomentar. +A seção keywords 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. +<general> <comments> <comment name="singleLine" start="#"/> </comments> @@ -409,259 +206,80 @@ -As Seções em Detalhe -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. +As Seções em Detalhe +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. -O elemento context pertence ao grupo contexts. 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: +O elemento context pertence ao grupo contexts. 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: -name o nome do contexto. As regras irão usar este nome para indicar o contexto para onde mudar, se a regra corresponder. -O lineEndContext 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 #stay para não mudar de contexto (p.ex., não fazer nada) ou o #pop que fará com que saia deste contexto. É possível usar, por exemplo, #pop#pop#pop para sair de dentro de três contextos. -O lineBeginContext define o contexto, se for encontrado o início de uma linha. Padrão: #stay. -O fallthrough define se o sistema de realce salta para o contexto indicado em 'fallthroughContext' se não corresponder nenhuma regra. Padrão: false. -O fallthroughContext define o próximo contexto, se nenhuma regra corresponder. -O dynamic, se for true (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: false. +name o nome do contexto. As regras irão usar este nome para indicar o contexto para onde mudar, se a regra corresponder. +O lineEndContext 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 #stay para não mudar de contexto (p.ex., não fazer nada) ou o #pop que fará com que saia deste contexto. É possível usar, por exemplo, #pop#pop#pop para sair de dentro de três contextos. +O lineBeginContext define o contexto, se for encontrado o início de uma linha. Padrão: #stay. +O fallthrough define se o sistema de realce salta para o contexto indicado em 'fallthroughContext' se não corresponder nenhuma regra. Padrão: false. +O fallthroughContext define o próximo contexto, se nenhuma regra corresponder. +O dynamic, se for true (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: false. -O elemento itemData está no grupo itemDatas. 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: +O elemento itemData está no grupo itemDatas. 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: -O name define o nome do 'itemData'. Os contextos e regras irão usar este nome no seu atributo attribute, para referenciar um 'itemData'. -O defStyleNum define qual o estilo padrão usar. Os estilos pré-definidos disponíveis são explicados mais tarde em detalhes. -O color define uma cor. Os formatos válidos são o '#rrggbb' ou '#rgb'. -O selColor define a cor da seleção. -O italic, se for true (verdadeiro), irá colocar o texto em itálico. -O bold, se for true (verdadeiro), irá colocar o texto em negrito. -O underline, se for true (verdadeiro), irá colocar o texto sublinhado. -O strikeout, se for true (verdadeiro), irá colocar o texto traçado. +O name define o nome do 'itemData'. Os contextos e regras irão usar este nome no seu atributo attribute, para referenciar um 'itemData'. +O defStyleNum define qual o estilo padrão usar. Os estilos pré-definidos disponíveis são explicados mais tarde em detalhes. +O color define uma cor. Os formatos válidos são o '#rrggbb' ou '#rgb'. +O selColor define a cor da seleção. +O italic, se for true (verdadeiro), irá colocar o texto em itálico. +O bold, se for true (verdadeiro), irá colocar o texto em negrito. +O underline, se for true (verdadeiro), irá colocar o texto sublinhado. +O strikeout, se for true (verdadeiro), irá colocar o texto traçado. -O elemento keywords, no grupo general, define as propriedades das palavras-chave. Os atributos disponíveis são: +O elemento keywords, no grupo general, define as propriedades das palavras-chave. Os atributos disponíveis são: -O casesensitive poderá ser true (verdadeiro) ou false (falso). Se for true, todas as palavras-chave farão distinção entre maiúsculas e minúsculas -O weakDeliminator é uma lista de caracteres que não irão atuar como separadores de palavras. Por exemplo, o ponto '.' é um separador de palavras. Assuma que uma palavra-chave num list contém um ponto; nesse caso, só irá corresponder se indicar que o ponto é um delimitador fraco. -O additionalDeliminator define os delimitadores ou separadores adicionais. -O wordWrapDeliminator define os caracteres após os quais poderá ocorrer uma mudança de linha. -Os delimitadores pré-definidos e de mudança de linha são os caracteres .():!+,-<=>%&*/;?[]^{|}~\, o espaço (' ') e a tabulação ('\t'). +O casesensitive poderá ser true (verdadeiro) ou false (falso). Se for true, todas as palavras-chave farão distinção entre maiúsculas e minúsculas +O weakDeliminator é uma lista de caracteres que não irão atuar como separadores de palavras. Por exemplo, o ponto '.' é um separador de palavras. Assuma que uma palavra-chave num list contém um ponto; nesse caso, só irá corresponder se indicar que o ponto é um delimitador fraco. +O additionalDeliminator define os delimitadores ou separadores adicionais. +O wordWrapDeliminator define os caracteres após os quais poderá ocorrer uma mudança de linha. +Os delimitadores pré-definidos e de mudança de linha são os caracteres .():!+,-<=>%&*/;?[]^{|}~\, o espaço (' ') e a tabulação ('\t'). -O elemento comment, no grupo comments, define as propriedades dos comentários que são usadas nas opções FerramentasComentar e FerramentasDescomentar. Os atributos disponíveis são: +O elemento comment, no grupo comments, define as propriedades dos comentários que são usadas nas opções FerramentasComentar e FerramentasDescomentar. Os atributos disponíveis são: -O name tanto poderá ser singleLine como multiLine. Se escolher o multiLine, serão necessários os atributos end e region. -O start define o texto usado para iniciar um comentário. No C++, este será o "/*". -O end define o texto usado para fechar um comentário. No C++, será o "*/". -O region deverá ser o nome do comentário multi-linhas que poderá expandir ou recolher. Assuma que tem o beginRegion="Comment" ... endRegion="Comment" nas suas regras; nesse caso, deverá usar o region="Comment". 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. +O name tanto poderá ser singleLine como multiLine. Se escolher o multiLine, serão necessários os atributos end e region. +O start define o texto usado para iniciar um comentário. No C++, este será o "/*". +O end define o texto usado para fechar um comentário. No C++, será o "*/". +O region deverá ser o nome do comentário multi-linhas que poderá expandir ou recolher. Assuma que tem o beginRegion="Comment" ... endRegion="Comment" nas suas regras; nesse caso, deverá usar o region="Comment". 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. -O elemento folding, no grupo general, define as propriedades de dobragem/desdobramento do código. Os atributos disponíveis são: +O elemento folding, no grupo general, define as propriedades de dobragem/desdobramento do código. Os atributos disponíveis são: -O indentationsensitive, se for true, 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 é false. +O indentationsensitive, se for true, 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 é false. -O elemento indentation, no grupo general, 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: +O elemento indentation, no grupo general, 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: -O mode é o nome do sistema de indentação. Os sistemas disponíveis atualmente são: normal, cstyle, csands, xml, python e varindent. +O mode é o nome do sistema de indentação. Os sistemas disponíveis atualmente são: normal, cstyle, csands, xml, python e varindent. @@ -672,73 +290,26 @@ -Estilos Padrão Disponíveis -Os estilos padrão já foram explicados, em resumo: Os estilos padrão são os estilos de cores e fontes pré-definidos. +Estilos Padrão Disponíveis +Os estilos padrão já foram explicados, em resumo: Os estilos padrão são os estilos de cores e fontes pré-definidos. -Assim, aqui aparece somente a lista de estilos padrão disponíveis: - -dsNormal, usado para o texto normal. -dsKeyword, usado nas palavras-chave. -dsDataType, usado nos tipos de dados. -dsDecVal, usado nos valores decimais. -dsBaseN, usados nos valores com uma base diferente de 10. -dsFloat, usado nos valores de ponto flutuante. -dsChar, usado para um caracter único. -dsString, usado para conjuntos ou cadeias de caracteres. -dsComment, usado nos comentários. -dsOthers, usado para outras coisas. -dsAlert, usado nas mensagens de aviso. -dsFunction, usado nas chamadas a funções. -dsRegionMarker, usado nos marcadores de regiões. -dsError, usado para realçar erros e sintaxes inválidas. +Assim, aqui aparece somente a lista de estilos padrão disponíveis: + +dsNormal, usado para o texto normal. +dsKeyword, usado nas palavras-chave. +dsDataType, usado nos tipos de dados. +dsDecVal, usado nos valores decimais. +dsBaseN, usados nos valores com uma base diferente de 10. +dsFloat, usado nos valores de ponto flutuante. +dsChar, usado para um caracter único. +dsString, usado para conjuntos ou cadeias de caracteres. +dsComment, usado nos comentários. +dsOthers, usado para outras coisas. +dsAlert, usado nas mensagens de aviso. +dsFunction, usado nas chamadas a funções. +dsRegionMarker, usado nos marcadores de regiões. +dsError, usado para realçar erros e sintaxes inválidas. @@ -748,539 +319,262 @@ -Regras de Deteção de Realce +Regras de Deteção de Realce -Esta seção descreve as regras de deteção de sintaxe. +Esta seção descreve as regras de deteção de sintaxe. -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 atributo definido pela regra aos caracteres correspondentes; uma regra poderá perguntar se o contexto atual será alterado. +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 atributo definido pela regra aos caracteres correspondentes; uma regra poderá perguntar se o contexto atual será alterado. -As regras se parecem com isto: +As regras se parecem com isto: -<NomeRegra attribute="(identificador)" context="(identifier|order)" [atributos específicos da regra] /> +<NomeRegra attribute="(identificador)" context="(identifier|order)" [atributos específicos da regra] /> -O attribute identifica o estilo a usar para os caracteres correspondentes pelo nome ou índice; o context identifica, como esperado, o contexto a usar a partir daqui. +O attribute identifica o estilo a usar para os caracteres correspondentes pelo nome ou índice; o context identifica, como esperado, o contexto a usar a partir daqui. -O context pode ser identificado por: +O context pode ser identificado por: -Um identificador, que é o nome do outro contexto. +Um identificador, que é o nome do outro contexto. -Uma ordem diz ao mecanismo para ficar no contexto atual (#stay), ou voltar a usar um contexto usado anteriormente na string (#pop). -Para voltar mais passos, a palavra-chave #pop pode ser repetida: #pop#pop#pop +Uma ordem diz ao mecanismo para ficar no contexto atual (#stay), ou voltar a usar um contexto usado anteriormente na string (#pop). +Para voltar mais passos, a palavra-chave #pop pode ser repetida: #pop#pop#pop -Algumas regras podem ter regras-filhas, 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: +Algumas regras podem ter regras-filhas, 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: -<NomedaRegra (atributos)> +<NomedaRegra (atributos)> <NomedaRegraFilha (atributos) /> ... </NomedaRegra> -Os atributos específicos da regra variam e estão descritos nas seções a seguir. +Os atributos específicos da regra variam e estão descritos nas seções a seguir. -Atributos comuns -Todas as regras possuem os seguintes atributos em comum e estão disponíveis sempre que os (atributos comuns) aparecerem. O attribute e o context são atributos obrigatórios, enquanto os outros são opcionais. +Atributos comuns +Todas as regras possuem os seguintes atributos em comum e estão disponíveis sempre que os (atributos comuns) aparecerem. O attribute e o context são atributos obrigatórios, enquanto os outros são opcionais. -attribute: Um atributo mapeia-se para um itemData definido. +attribute: Um atributo mapeia-se para um itemData definido. -context: Indica o contexto para onde muda o sistema de realce, se a regra corresponder. +context: Indica o contexto para onde muda o sistema de realce, se a regra corresponder. -beginRegion: Inicia um bloco de dobragem de código. Padrão: não definido. +beginRegion: Inicia um bloco de dobragem de código. Padrão: não definido. -endRegion: Fecha uma região de dobragem de código. Padrão: não definido. +endRegion: Fecha uma região de dobragem de código. Padrão: não definido. -lookAhead: Se for true (verdadeiro), o sistema de realce não irá processar o tamanho da correspondência. Padrão: false. +lookAhead: Se for true (verdadeiro), o sistema de realce não irá processar o tamanho da correspondência. Padrão: false. -firstNonSpace: Corresponder apenas se o texto for o primeiro não-espaço em branco da linha. Padrão: false. +firstNonSpace: Corresponder apenas se o texto for o primeiro não-espaço em branco da linha. Padrão: false. -column: Corresponder apenas se a coluna corresponder. Padrão: não definido. +column: Corresponder apenas se a coluna corresponder. Padrão: não definido. -Regras dinâmicas -Algumas regras permitem o atributo opcional dynamic, do tipo booleano, cujo valor por padrão é false. Se o 'dynamic' for true, uma regra poderá usar seqüências de substituição que representam o texto correspondente a uma expressão regular que mudou para o contexto atual, nos seus atributos string ou char. Num string, o texto de substituição %N (em que o N é um número) será substituído pela captura correspondente a N na expressão regular de chamada. Num char, a seqüência de substituição deverá ser um número N que será substituído pelo primeiro caracter da captura N da expressão regular de chamada. Sempre que uma regra permitir este atributo, irá conter um (dinâmico). +Regras dinâmicas +Algumas regras permitem o atributo opcional dynamic, do tipo booleano, cujo valor por padrão é false. Se o 'dynamic' for true, uma regra poderá usar seqüências de substituição que representam o texto correspondente a uma expressão regular que mudou para o contexto atual, nos seus atributos string ou char. Num string, o texto de substituição %N (em que o N é um número) será substituído pela captura correspondente a N na expressão regular de chamada. Num char, a seqüência de substituição deverá ser um número N que será substituído pelo primeiro caracter da captura N da expressão regular de chamada. Sempre que uma regra permitir este atributo, irá conter um (dinâmico). -dynamic: poderá ser (true|false). +dynamic: poderá ser (true|false). -As Regras em Detalhes +As Regras em Detalhes -DetectChar +DetectChar -Detecta um caractere específico. Comumente usado, por exemplo, para encontrar o final das strings citadas. -<DetectChar char="(caracter)" (atributos comuns) (dinâmico) /> -O atributo char define o caractere a ser procurado. +Detecta um caractere específico. Comumente usado, por exemplo, para encontrar o final das strings citadas. +<DetectChar char="(caracter)" (atributos comuns) (dinâmico) /> +O atributo char define o caractere a ser procurado. -Detect2Chars +Detect2Chars -Detecta dois caracteres específicos, em uma ordem definida. -<Detect2Chars char="(caracter)" char1="(caracter)" (atributos comuns) (dinâmico) /> -O atributo char define o primeiro caractere a ser procurado, e o atributo char1 o segundo. +Detecta dois caracteres específicos, em uma ordem definida. +<Detect2Chars char="(caracter)" char1="(caracter)" (atributos comuns) (dinâmico) /> +O atributo char define o primeiro caractere a ser procurado, e o atributo char1 o segundo. -AnyChar +AnyChar -Detecta um caractere de um conjunto de caracteres especificados. -<AnyChar String="(string)" (atributos comuns) /> -O atributo String define o conjunto de caracteres. +Detecta um caractere de um conjunto de caracteres especificados. +<AnyChar String="(string)" (atributos comuns) /> +O atributo String define o conjunto de caracteres. -StringDetect +StringDetect -Detecta uma string exata. -<StringDetect String="(string)" [insensitive="TRUE|FALSE;"] (atributos comuns) (dinâmico) /> -O atributo String define a seqüência a encontrar. O atributo insensitive é por padrão false e é passado à função de comparação de cadeias de caracteres. Se o valor for true a comparação não faz distinção entre maiúsculas e minúsculas. +Detecta uma string exata. +<StringDetect String="(string)" [insensitive="TRUE|FALSE;"] (atributos comuns) (dinâmico) /> +O atributo String define a seqüência a encontrar. O atributo insensitive é por padrão false e é passado à função de comparação de cadeias de caracteres. Se o valor for true a comparação não faz distinção entre maiúsculas e minúsculas. -RegExpr +RegExpr -Procura por uma expressão regular. -<RegExpr String="(texto)" [insensitive="TRUE|FALSE;"] [minimal="TRUE|FALSE"] (atributos comuns) (dinâmico) /> -O atributo String define a expressão regular. -O insensitive é, por padrão, false e é passado ao motor de expressões regulares. -O minimal é, por padrão, false e é passado ao motor de expressões regulares. -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 (^ ) indica que a regra deve ser coincidente somente no início da linha. -Veja em Expressões Regulares mais informações sobre o assunto. +Procura por uma expressão regular. +<RegExpr String="(texto)" [insensitive="TRUE|FALSE;"] [minimal="TRUE|FALSE"] (atributos comuns) (dinâmico) /> +O atributo String define a expressão regular. +O insensitive é, por padrão, false e é passado ao motor de expressões regulares. +O minimal é, por padrão, false e é passado ao motor de expressões regulares. +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 (^ ) indica que a regra deve ser coincidente somente no início da linha. +Veja em Expressões Regulares mais informações sobre o assunto. -keyword +keyword -Detecta uma palavra-chave de uma lista especificada. -<keyword String="(nome da lista)" (atributos comuns) /> -O atributo String identifica a lista de palavras-chave pelo nome. Uma lista com aquele nome, portanto, deve existir. +Detecta uma palavra-chave de uma lista especificada. +<keyword String="(nome da lista)" (atributos comuns) /> +O atributo String identifica a lista de palavras-chave pelo nome. Uma lista com aquele nome, portanto, deve existir. -Int +Int -Detecta um número inteiro. -<Int (atributos comuns) (dinâmico) /> -Esta regra não tem atributos específicos. As regras-filho são tipicamente usadas para detectar as combinações de L e U 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 DTD só permite a regra-filha StringDetect. -O exemplo a seguir faz correspondência com os números inteiros, seguidos do caracter 'L'. <Int attribute="Decimal" context="#stay" > +Detecta um número inteiro. +<Int (atributos comuns) (dinâmico) /> +Esta regra não tem atributos específicos. As regras-filho são tipicamente usadas para detectar as combinações de L e U 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 DTD só permite a regra-filha StringDetect. +O exemplo a seguir faz correspondência com os números inteiros, seguidos do caracter 'L'. <Int attribute="Decimal" context="#stay" > <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/> </Int> - + -Float +Float -Detecta um número de ponto flutuante. -<Float (atributos comuns) /> -Esta regra não tem atributos específicos. O AnyChar é permitido como regra-filha e é tipicamente usada para detectar combinações; veja a regra Int para mais referências. +Detecta um número de ponto flutuante. +<Float (atributos comuns) /> +Esta regra não tem atributos específicos. O AnyChar é permitido como regra-filha e é tipicamente usada para detectar combinações; veja a regra Int para mais referências. -HlCOct +HlCOct -Detecta uma representação de um número octal. -<HlCOct (atributos comuns) /> -Esta regra não possui atributos específicos. +Detecta uma representação de um número octal. +<HlCOct (atributos comuns) /> +Esta regra não possui atributos específicos. -HlCHex +HlCHex -Detecta uma representação de um número hexadecimal. -<HlCHex (atributos comuns) /> -Esta regra não possui atributos específicos. +Detecta uma representação de um número hexadecimal. +<HlCHex (atributos comuns) /> +Esta regra não possui atributos específicos. -HlCStringChar +HlCStringChar -Detecta um caractere de escape. -<HlCStringChar (atributos comuns) /> -Esta regra não possui atributos específicos. - -Corresponde a representações literais dos caracteres usados normalmente no código do programa como, por exemplo, o \n (nova linha) ou o \t (TAB). - -Os seguintes caracteres irão corresponder se estiverem após uma barra invertida (\): abefnrtv"'?\. Além disso, os números escapados em hexadecimal como, por exemplo, o \xff e os números octais escapados, como o \033, irão corresponder. +Detecta um caractere de escape. +<HlCStringChar (atributos comuns) /> +Esta regra não possui atributos específicos. + +Corresponde a representações literais dos caracteres usados normalmente no código do programa como, por exemplo, o \n (nova linha) ou o \t (TAB). + +Os seguintes caracteres irão corresponder se estiverem após uma barra invertida (\): abefnrtv"'?\. Além disso, os números escapados em hexadecimal como, por exemplo, o \xff e os números octais escapados, como o \033, irão corresponder. -HlCChar +HlCChar -Detecta um caracter do C. -<HlCChar (atributos comuns) /> -Esta regra não possui atributos específicos. - -Corresponde aos caracteres em C colocados dentro de um tique (Exemplo: 'c'). 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. +Detecta um caracter do C. +<HlCChar (atributos comuns) /> +Esta regra não possui atributos específicos. + +Corresponde aos caracteres em C colocados dentro de um tique (Exemplo: 'c'). 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. -RangeDetect +RangeDetect -Detecta uma string com os caracteres de início e fim definidos. -<RangeDetect char="(caractere)" char1="(caractere)" (atributos comuns) /> -O char define o caracter de início e o char1 o caracter que termina o intervalo. -Ú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. +Detecta uma string com os caracteres de início e fim definidos. +<RangeDetect char="(caractere)" char1="(caractere)" (atributos comuns) /> +O char define o caracter de início e o char1 o caracter que termina o intervalo. +Ú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. -LineContinue +LineContinue -Coincide com o final da linha. -<LineContinue (atributos comuns) /> -Esta regra não possui atributos específicos. -Esta regra é útil para mudar de contexto no fim da linha, se o último caracter for uma barra invertida ('\'). Isto é necessário, por exemplo no C/C++, para continuar as macros ou cadeias de caracteres. +Coincide com o final da linha. +<LineContinue (atributos comuns) /> +Esta regra não possui atributos específicos. +Esta regra é útil para mudar de contexto no fim da linha, se o último caracter for uma barra invertida ('\'). Isto é necessário, por exemplo no C/C++, para continuar as macros ou cadeias de caracteres. -IncludeRules +IncludeRules -Inclui as regras de outro contexto ou linguagem/arquivo. -<IncludeRules context="ligacao_contexto" [includeAttrib="true|false"] /> - -O atributo context define o contexto a incluir. -Se for texto simples, inclui todas as regras definidas no contexto atual, como por exemplo: <IncludeRules context="outroContexto" /> - -Se o texto começar por ##, o sistema de realce irá procurar outra definição de linguagem com o nome indicado, como por exemplo: <IncludeRules context="##C++" /> -Se o atributo includeAttrib for true, 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. +Inclui as regras de outro contexto ou linguagem/arquivo. +<IncludeRules context="ligacao_contexto" [includeAttrib="true|false"] /> + +O atributo context define o contexto a incluir. +Se for texto simples, inclui todas as regras definidas no contexto atual, como por exemplo: <IncludeRules context="outroContexto" /> + +Se o texto começar por ##, o sistema de realce irá procurar outra definição de linguagem com o nome indicado, como por exemplo: <IncludeRules context="##C++" /> +Se o atributo includeAttrib for true, 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. -DetectSpaces +DetectSpaces -Detecta espaços em branco. -<DetectSpaces (atributos comuns) /> - -Esta regra não possui atributos específicos. -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. +Detecta espaços em branco. +<DetectSpaces (atributos comuns) /> + +Esta regra não possui atributos específicos. +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. -DetectIdentifier +DetectIdentifier -Detecta os textos dos identificadores (como acontece na expressão regular: [a-zA-Z_][a-zA-Z0-9_]*). -<DetectIdentifier (atributos comuns) /> - -Esta regra não possui atributos específicos. -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. +Detecta os textos dos identificadores (como acontece na expressão regular: [a-zA-Z_][a-zA-Z0-9_]*). +<DetectIdentifier (atributos comuns) /> + +Esta regra não possui atributos específicos. +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. @@ -1288,95 +582,45 @@ -Dicas & Truques +Dicas & Truques -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. +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. -Se você só corresponder com 2 caracteres, use o Detect2Chars em vez do StringDetect. O mesmo aplica-se ao DetectChar. +Se você só corresponder com 2 caracteres, use o Detect2Chars em vez do StringDetect. O mesmo aplica-se ao DetectChar. -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 '#' se for o primeiro caracter da linha. Uma solução baseada em expressões regulares seria semelhante à seguinte: <RegExpr attribute="Macro" context="macro" String="^\s*#" /> Você poderá obter o mesmo se usar: <DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" /> Se quiser corresponder à expressão regular '^#', poderá usar ainda o DetectChar com o atributo column="0". O atributo column conta com base no número de caracteres; assim, uma tabulação conta como se fosse apenas um caracter. +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 '#' se for o primeiro caracter da linha. Uma solução baseada em expressões regulares seria semelhante à seguinte: <RegExpr attribute="Macro" context="macro" String="^\s*#" /> Você poderá obter o mesmo se usar: <DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" /> Se quiser corresponder à expressão regular '^#', poderá usar ainda o DetectChar com o atributo column="0". O atributo column conta com base no número de caracteres; assim, uma tabulação conta como se fosse apenas um caracter. -Você poderá mudar de contextos sem processar os caracteres. Assuma que deseja mudar de contexto quando encontrar o texto */, mas necessita de processar essa seqüência no próximo contexto. A regra abaixo irá corresponder e o atributo lookAhead fará com que o sistema de realce mantenha o texto correspondente no próximo contexto. <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" /> +Você poderá mudar de contextos sem processar os caracteres. Assuma que deseja mudar de contexto quando encontrar o texto */, mas necessita de processar essa seqüência no próximo contexto. A regra abaixo irá corresponder e o atributo lookAhead fará com que o sistema de realce mantenha o texto correspondente no próximo contexto. <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" /> -Use o DetectSpaces se você souber que irão ocorrer vários espaços em branco. +Use o DetectSpaces se você souber que irão ocorrer vários espaços em branco. -Use o DetectIdentifier em vez da expressão regular '[a-zA-Z_]\w*'. +Use o DetectIdentifier em vez da expressão regular '[a-zA-Z_]\w*'. -Use os estilos padrão sempre que puder. Desta forma, o usuário irá encontrar um ambiente familiar. +Use os estilos padrão sempre que puder. Desta forma, o usuário irá encontrar um ambiente familiar. -Procure em outros arquivos XML para ver como as outras pessoas implementam as regras mais complicadas. +Procure em outros arquivos XML para ver como as outras pessoas implementam as regras mais complicadas. -Você poderá validar todos os arquivos XML se usar o comando xmllint --dtdvalid language.dtd aMinhaSintaxe.xml. +Você poderá validar todos os arquivos XML se usar o comando xmllint --dtdvalid language.dtd aMinhaSintaxe.xml. -Se repetir algumas expressões regulares complexas com freqüência, você poderá usar as ENTIDADES. Por exemplo: -<?xml version="1.0" encoding="UTF-8"?> +Se repetir algumas expressões regulares complexas com freqüência, você poderá usar as ENTIDADES. Por exemplo: +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ <!ENTITY referencia "[A-Za-z_:][\w.:_-]*"> ]> -Agora, você poderá usar o &referencia; em vez da expressão regular. +Agora, você poderá usar o &referencia; em vez da expressão regular. -- cgit v1.2.1