diff options
Diffstat (limited to 'tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook')
-rw-r--r-- | tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook | 2324 |
1 files changed, 0 insertions, 2324 deletions
diff --git a/tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook b/tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook deleted file mode 100644 index 68562d81bc6..00000000000 --- a/tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook +++ /dev/null @@ -1,2324 +0,0 @@ -<chapter id="advanced-editing-tools"> -<chapterinfo> -<authorgroup> -<author ->&Anders.Lund; &Anders.Lund.mail;</author> -<author ->&Dominik.Haumann; &Dominik.Haumann.mail;</author> -<othercredit role="translator" -><firstname ->Lisiane</firstname -><surname ->Sztoltz</surname -><affiliation -><address -><email ->[email protected]</email -></address -></affiliation -><contrib ->Tradução</contrib -></othercredit -> -</authorgroup> -</chapterinfo> -<title ->Ferramentas Avançadas de Edição</title> - -<sect1 id="advanced-editing-tools-comment"> - -<title ->Comentar/Descomentar</title> - -<para ->Os comandos Comentar e Descomentar, disponíveis no menu <guimenu ->Ferramentas</guimenu -> permitem-lhe adicionar ou remover marcações de comentários à seleção ou à linha atual, se não existir texto selecionado, se os comentários são suportados pelo formato do texto que você está editando.</para> - -<para ->As regras de como o comentário é feito são feitas nas definições de sintaxe; assim, se o realce de sintaxe não é usado, as ações de comentar/descomentar não são possíveis. </para> - -<para ->Alguns formatos definem marcas de comentários para linhas únicas, outros suportam marcas de comentários para várias linhas e alguns suportam ambas. Se não estiverem disponíveis os comentários para várias linhas, o ato de comentar uma seleção que não inclui por completo a sua última linha não é possível.</para> - -<para ->Se um marcador de linha única estiver disponível, é preferível comentar linhas simples onde for aplicável, pois isto ajuda a evitar problemas com comentários aninhados.</para> - -<para ->Ao remover marcadores de comentários, textos sem comentários devem ser selecionados; ao remover marcadores de comentários de múltiplas linhas de uma seleção, qualquer espaço em branco fora do marcador é ignorado.</para> - -<para -><indexterm -><primary ->comentar</primary -></indexterm -> Para colocar marcações de comentários, use a opção do menu <menuchoice -><guimenu ->Ferramentas</guimenu -><guimenuitem ->Comentar</guimenuitem -></menuchoice -> ou o atalho de teclado relacionado, que por padrão é <keycombo action="simul" ->&Ctrl;<keycap ->D</keycap -></keycombo ->.</para> - -<para -><indexterm -><primary ->descomentar</primary -></indexterm -> Para remover marcações de comentários, use a opção do menu <menuchoice -><guimenu ->Ferramentas</guimenu -><guimenuitem ->Descomentar</guimenuitem -></menuchoice -> ou o atalho de teclado relacionado, que por padrão é o <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->D</keycap -></keycombo ->.</para> - -</sect1> - -<sect1 id="advanced-editing-tools-commandline"> -<title ->A Linha de Comando do Componente de Edição</title> - -<para ->O componente de edição do Kate possui uma linha de comando interna, que lhe permite efetuar várias ações a partir de uma interface mínima. A linha de comando é um campo de texto no fundo da área de edição onde, para mostrá-la, você poderá selecionar a opção <menuchoice -><guimenu ->Ver</guimenu -><guimenuitem ->Alternar para Linha de Comando</guimenuitem -></menuchoice -> ou usar o atalho (que é, por padrão, o <keycombo action="simul" -><keycap ->F7</keycap -></keycombo ->). O editor oferece um conjunto de comandos, tal como está documentado abaixo, sendo oferecidos mais comandos através de 'plugins'.</para> - -<para ->Para executar um comando, pressione a tecla Return. A linha de comando irá indicar se foi bem sucedida e, provavelmente, irá mostrar uma mensagem. Se você inseriu na linha de comando pressionando <keycap ->F7</keycap ->, ele ocultar-se-á automaticamente, ao fim de alguns segundos. Para limpar a mensagem e inserir um comando novo, pressione <keycap ->F7</keycap -> de novo.</para> - -<para ->A linha de comando possui um sistema de ajuda embutido, podendo inserir o comando <command ->help</command -> para iniciá-lo. Para ver uma lista com todos os comandos disponíveis, invoque o comando <command ->help list</command ->; para ver a ajuda sobre um determinado comando, faça <command ->help <replaceable ->comando</replaceable -></command ->.</para> - -<para ->A linha de comando possui um histórico embutido, como tal, o usuário poderá reutilizar os comandos já digitados. Para navegar no histórico, use as teclas <keycap ->Cima</keycap -> e <keycap ->Baixo</keycap ->. Ao mostrar os comandos do histórico, a parte do argumento do comando será selecionada, o que lhe permite sobrepor facilmente os argumentos.</para> - -<sect2 id="advanced-editing-tools-commandline-commands"> -<title ->Comandos Padrão da Linha de Comando</title> - -<sect3 id="advanced-editing-tools-commandline-commands-configure"> -<title ->Comandos para Configurar o Editor</title> - -<para ->Estes comandos são oferecidos pelo componente do editor e permitem-lhe configurar apenas o documento e a janela ativos. Isto poderá ser útil se quiser usar uma configuração diferente da pré-definida como, por exemplo, na indentação. </para> - -<variablelist> -<title ->Tipos de argumento</title> - -<varlistentry> -<term ->BOOLEANO</term> -<listitem -><para ->Isto é usado com os comandos que ativam ou desativam certas coisa. Os valores válidos são o <userinput ->on</userinput ->, <userinput ->off</userinput ->, <userinput ->true</userinput ->, <userinput ->false</userinput ->, <userinput ->1</userinput -> ou <userinput ->0</userinput -></para -></listitem> -</varlistentry> - -<varlistentry> -<term ->INTEIRO</term> -<listitem -><para ->Um número inteiro</para -></listitem> -</varlistentry> - -<varlistentry> -<term ->TEXTO</term> -<listitem -><para ->Um texto</para -></listitem> -</varlistentry> - -</variablelist> - -<variablelist> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-tab-width</command -><arg ->INTEIRO largura</arg -></cmdsynopsis -></term> -<listitem -><para ->Configura a largura da tabulação como sendo <userinput ->largura</userinput -></para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-indent-width</command -><arg ->INTEIRO largura</arg -></cmdsynopsis -></term> -<listitem -><para ->Configura a largura da indentação como <userinput ->largura</userinput ->. Só é usado se o usuário indentar com espaços.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-word-wrap-column</command -><arg ->INTEIRO largura</arg -></cmdsynopsis -></term> -<listitem -><para ->Configura a largura da linha para uma quebra como tendo <userinput ->largura</userinput -> colunas. Isto é usado se você tiver o seu texto sendo quebrado automaticamente.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-icon-border</command -><arg ->BOOLEANO ativar</arg -> </cmdsynopsis -></term> -<listitem -><para ->Configura a visibilidade da borda dos ícones.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-folding-markers</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Configura a visibilidade da área de marcadores de dobra do código.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-line-numbers</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Configura a visibilidade da área de números de linha.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-replace-tabs</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Se estiver ativo, as tabulações são substituídas por espaços, à medida que você vai digitando. </para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-remove-trailing-space</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Se estiver ativo, os espaços finais serão removidos quando o cursor abandonar uma determinada linha.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-show-tabs</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Se estiver ativo, os caracteres de tabulação e espaços estarão visíveis através de um pequeno ponto.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-indent-spaces</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Se estiver ativo, o editor irá indentar com <option ->largura-indentação</option -> espaços por cada nível de indentação, em vez de usar o caracter TAB.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-mixed-indent</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Se estiver ativo, o &kate; irá usar uma mistura de TABs e espaços para a indentação. Cada nível de indentação irá ter um tamanho de <option ->largura-indentação</option ->, enquanto os restantes níveis de indentação serão otimizados para usar tantos caracteres TAB quantos possíveis.</para> -<para ->Quando for executado, este comando irá ativar a indentação com espaços e, se a largura de indentação não estiver definida, corresponderá a metade da <option ->largura-tabulação</option -> do documento, no momento da execução.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-word-wrap</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Ativa a quebra de linha dinâmica, de acordo com o parâmetro <userinput ->ativar</userinput -></para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-replace-tabs-save</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Quando estiver ativo, as tabulações serão substituídas por espaços em branco, sempre que o documento for salvo.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-remove-trailing-space-save</command -><arg ->BOOLEANO ativar</arg -></cmdsynopsis -></term> -<listitem -><para ->Quando estiver ativo, os espaços finais serão removidos de cada linha, sempre que o documento for salvo.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-indent-mode</command -><arg ->nome</arg -></cmdsynopsis -></term> -<listitem -><para ->Configura o modo de indentação automática como <userinput ->nome</userinput ->. Se o <userinput ->nome</userinput -> não for conhecido, o modo é configurado como 'none' (nenhum). Os modos válidos são o 'cstyle', 'csands', 'xml', 'python', 'varindent' e 'none'.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->set-highlight</command -><arg ->realce</arg -></cmdsynopsis -></term> -<listitem -><para ->Configura o sistema de realce de sintaxe para o documento. O argumento deverá ser um nome de realce válido, como pode ser visto no menu <menuchoice -><guimenu ->Ferramentas</guimenu -><guisubmenu ->Realce</guisubmenu -></menuchoice ->. Este comando oferece uma lista de completação automática para o seu argumento.</para -></listitem> -</varlistentry> - -</variablelist> - -</sect3> - -<sect3 id="advanced-editing-tools-commandline-commands-edit"> -<title ->Comandos de edição</title> - -<para ->Estes comandos modificam o documento atual.</para> - -<variablelist> -<varlistentry> -<term -><cmdsynopsis -><command ->indent</command -></cmdsynopsis -></term> -<listitem -><para ->Indenta as linhas selecionadas ou a linha atual.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->unindent</command -></cmdsynopsis -></term> -<listitem -><para ->Remove um nível de indentação das linhas selecionadas ou da linha atual.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->cleanindent</command -></cmdsynopsis -></term> -<listitem -><para ->Limpa a indentação das linhas selecionadas ou da linha atual, de acordo com a configuração de indentação no documento. </para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->comment</command -></cmdsynopsis -></term> -<listitem -><para ->Insere marcações de comentários para fazer da seleção, linhas selecionadas ou da linha atual um comentário, de acordo com o formato de texto definido pela definição do realce de sintaxe para o documento.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->uncomment</command -></cmdsynopsis -></term> -<listitem -><para ->Remove os marcadores de comentários da seleção, linhas selecionadas ou da linha atual, de acordo com o formato de texto definido pela definição do realce de sintaxe do documento.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->kill-line</command -></cmdsynopsis -></term> -<listitem -><para ->Remove a linha atual.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->replace</command -><arg ->padrão</arg -><arg ->substituição</arg -></cmdsynopsis -></term> -<listitem -><para ->Substitui o texto correspondente ao <userinput ->padrão</userinput -> por <userinput ->substituição</userinput ->. Se você quiser incluir espaços em branco no <userinput ->padrão</userinput ->, deverá colocar tanto o <userinput ->padrão</userinput -> como a <userinput ->substituição</userinput -> entre aspas simples ou duplas. Se os argumentos não estiverem entre estes caracteres, a primeira palavra é usada como <userinput ->padrão</userinput -> e o resto como a <userinput ->substituição</userinput ->. Se a <userinput ->substituição</userinput -> estiver em branco, cada ocorrência do <userinput ->padrão</userinput -> será removida.</para> -<para ->Você poderá configurar opções para modificar a procura, adicionando dois pontos (:), seguidos de uma ou mais letras, onde cada uma representa uma configuração, o que corresponderá ao formato <userinput ->replace:opções padrão substituição</userinput ->. As opções disponíveis são: <variablelist> - -<varlistentry> -<term -><userinput ->b</userinput -></term> -<listitem -><para ->Procura para trás.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->c</userinput -></term> -<listitem -><para ->Procura a partir da posição do cursor.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->e</userinput -></term> -<listitem -><para ->Procura apenas na área selecionada.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->r</userinput -></term> -<listitem -><para ->Faz uma pesquisa por uma determinada expressão regular. Se estiver ativo, você poderá usar o <userinput ->\N</userinput ->, onde o N é um número que representa as capturas no texto de substituição.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->s</userinput -></term> -<listitem -><para ->Faz uma pesquisa com distinção entre maiúsculas e minúsculas.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->p</userinput -></term> -<listitem -><para ->Pede permissão para substituir a próxima ocorrência.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->w</userinput -></term> -<listitem -><para ->Faz uma correspondência apenas com palavras inteiras.</para -></listitem> -</varlistentry> - -</variablelist> - -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->date</command -><arg ->formato</arg -></cmdsynopsis -></term> -<listitem -><para ->Insere um texto de data/hora, tal como está definido pelo <userinput ->formato</userinput -> indicado, ou com o formato <quote ->aaaa-MM-dd hh:mm:ss</quote ->, se não for indicada qualquer formatação. As traduções a seguir são feitas quando for interpretado o <userinput ->formato</userinput ->: <informaltable -> <tgroup cols="2" -> <tbody> -<row -><entry -><literal ->d</literal -></entry -><entry ->O dia, como um número sem um zero inicial (1-31).</entry -></row> -<row -><entry -><literal ->dd</literal -></entry -><entry ->O dia, como um número com um zero inicial (01-31).</entry -></row> -<row -><entry -><literal ->ddd</literal -></entry -><entry ->O nome do dia abreviado, no formato regional (p.ex. 'Seg'..'Dom').</entry -></row> -<row -><entry -><literal ->dddd</literal -></entry -><entry ->O nome do dia completo, no formato regional (p.ex. 'Segunda'..'Domingo').</entry -></row> -<row -><entry -><literal ->M</literal -></entry -><entry ->O mês, como um número sem um zero inicial (1-12).</entry -></row> -<row -><entry -><literal ->MM</literal -></entry -><entry ->O mês, como um número com um zero inicial (01-12).</entry -></row> -<row -><entry -><literal ->MMM</literal -></entry -><entry ->O nome do mês abreviado, no formato regional (p.ex. 'Jan'..'Dez').</entry -></row> -<row -><entry -><literal ->aa</literal -></entry -><entry ->O ano, como um número de dois algarismos (00-99).</entry -></row> -<row -><entry -><literal ->aaaa</literal -></entry -><entry ->O ano, como um número de quatro algarismos (1752-8000).</entry -></row> -<row -><entry -><literal ->h</literal -></entry -><entry ->As horas sem um zero inicial (0..23 ou 1..12 no caso do formato AM/PM).</entry -></row> -<row -><entry -><literal ->hh</literal -></entry -><entry ->As horas com um zero inicial (00..23 ou 01..12 no caso do formato AM/PM).</entry -></row> -<row -><entry -><literal ->m</literal -></entry -><entry ->Os minutos sem um zero inicial (0..59).</entry -></row> -<row -><entry -><literal ->mm</literal -></entry -><entry ->Os minutos com um zero inicial (00..59).</entry -></row> -<row -><entry -><literal ->s</literal -></entry -><entry ->Os segundos sem um zero inicial (0..59).</entry -></row> -<row -><entry -><literal ->ss</literal -></entry -><entry ->Os minutos com um zero inicial (00..59).</entry -></row> -<row -><entry -><literal ->z</literal -></entry -><entry ->Os milisegundos sem um zero inicial (0..999).</entry -></row> -<row -><entry -><literal ->zzz</literal -></entry -><entry ->Os milisegundos com zeros iniciais (000..999).</entry -></row> -<row -><entry -><literal ->AP</literal -></entry -><entry ->Usar o formato de horas AM/PM. O AP será substituído por "AM" ou por "PM".</entry -></row> -<row -><entry -><literal ->ap</literal -></entry -><entry ->Usar o formato de horas am/pm. O ap será substituído por "am" ou por "pm".</entry -></row> - -</tbody> -</tgroup> -</informaltable> - -</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->char</command -><arg ->identificador</arg -></cmdsynopsis -></term> -<listitem> -<para ->Este comando permite que você insira caracteres literais através de suas identificações numéricas, em decimal, octal ou hexadecimal. Para usá-lo, abra o diálogo de Edição de Comando e digite <userinput ->char: [número]</userinput -> na caixa de entrada e clique em <guibutton ->OK</guibutton ->.</para> - -<example> -<title ->exemplos do comando <command ->char</command -></title> - -<para ->Entrada: <userinput ->char:234</userinput -></para> -<para ->Resultado: <computeroutput ->ê</computeroutput -></para> -<para ->Entrada: <userinput ->char:0x1234</userinput -></para> -<para ->Resultado: <computeroutput ->ሴ</computeroutput -></para> -</example> - -</listitem> -</varlistentry> - -<varlistentry> -<term> -<indexterm -><primary ->substituir no estilo sed</primary> -<secondary ->procurar no estilo sed</secondary -></indexterm> -<command ->s///[ig]</command -> <command ->%s///[ig]</command -></term> - -<listitem> -<para ->Este comando faz um sed como operação de procura/substituição na linha atual, ou em um arquivo inteiro (<command ->%s///</command ->).</para> - -<para ->Em resumo, é procurado o texto que combine com o <emphasis ->padrão de busca </emphasis ->, a expressão regular entre a primeira e a segunda barra, e quando é encontrado, a parte que combina com o texto é substituída pela expressão entre a metade e a última parte da string. Os parênteses no padrão de busca criam <emphasis ->referências anteriores</emphasis ->, isto é, o comando lembra qual parte procurada combinou no parênteses; estas strings podem ser reutilizadas no padrão de substituição, referidas como <userinput ->\1</userinput -> para o primeiro conjunto de parênteses, <userinput ->\2</userinput -> para o segundo e assim por diante.</para> - -<para ->Para procurar por um caractere literal <literal ->(</literal -> ou <literal ->)</literal ->, você precisa usar o caractere de <emphasis ->escape</emphasis ->, que é o caractere de barra invertida: <userinput ->\(\)</userinput -></para> - -<para ->Se você puser um <userinput ->i</userinput -> no fim da expressão, a correspondência não fará distinção entre maiúsculas ou minúsculas. Se, por outro lado, puser um <userinput ->g</userinput -> no fim, todas as ocorrências do padrão serão substituídas, caso contrário, só será substituída a primeira ocorrência.</para> - -<example> - -<title ->Substituindo texto na linha atual</title> - -<para ->Seu compilador parou, dizendo a você que a classe <classname -> minhaClasse</classname ->, mencionada na linha 3902 do seu arquivo fonte, não está definida.</para> - -<para ->"Droga!" você pensa, é claro que é <classname ->MinhaClasse</classname ->. Você vai para a linha 3902, e em vez de tentar encontrar a palavra no texto, você lança o Diálogo de Edição de Comando, digita <userinput ->s/minhaclasse/MinhaClasse/i</userinput ->, clica no botão <guibutton ->OK</guibutton ->, salva o arquivo e compila – com sucesso, sem erros.</para> - -</example> - -<example> -<title ->Substituindo texto no arquivo inteiro</title> - -<para ->Imagine que você tem um arquivo, onde está mencionado a string <quote ->Senhorita Jensen</quote -> várias vezes, quando alguém vem e lhe diz que ela casou com o <quote ->Senhor Jones</quote ->. Você quer, é claro, substituir toda ocorrência de <quote ->Senhorita Jensen</quote -> por <quote ->Senhora Jones</quote ->.</para> - -<para ->Entre na linha de comando e digite o comando <userinput ->%s/Srª Silva/Srª Braga/</userinput ->, pressionando RETURN para terminar.</para> - -</example> - -<example> -<title ->Um Exemplo Mais Avançado</title> - -<para ->Este exemplo tira partido das <emphasis ->referências anteriores</emphasis -> assim como das <emphasis ->classes de palavras</emphasis -> (se você não souber o que isso é, baseie-se na documentação referida abaixo).</para> - -<para ->Suponha que você possui a seguinte linha: <programlisting ->void MinhaClasse::DoStringOps( String &foo, String &bar String *p, int &a, int &b )</programlisting> -</para> -<para ->Agora, você pode perceber que este não é um código bom, e decidir que deseja usar a palavra-chave <constant ->const</constant -> para todos os argumentos <quote ->address of</quote ->, aqueles caracterizados pelo operador & em frente ao nome do argumento. Você poderia também simplificar o espaço em branco, pois assim existiria somente um caractere de espaço em branco entre cada palavra.</para> - -<para ->Abra o Diálogo de Edição de Comando, e digite <userinput ->s/\s+(\w+)\s+(&)/ const \1 \2/g</userinput -> e clique no botão <guibutton ->OK</guibutton ->. O caractere <userinput ->g</userinput -> no final da expressão faz com que a expressão regular recompile cada combinação, para recuperar as <emphasis ->referências de volta</emphasis ->.</para> - -<para ->Saída <computeroutput ->void MinhaClasse::DoStringOps( const String &foo, const String &bar String *p, const int &a, const int &b )</computeroutput -></para> - -<para ->Missão completa! Agora, o que aconteceu? Bem, procuramos por espaços em branco (<literal ->\s+</literal ->) seguidos por um ou mais caracteres alfabéticos(<literal ->\w+</literal ->) seguidos por mais espaços em branco (<literal ->\s+</literal ->) seguidos por um E comercial, e no processo é salvo o pedaço alfabético e o E comercial para reutilização na operação de substituição. Quando substituímos a parte relacionada da nossa linha, com um espaço em branco, seguido por <quote ->const</quote ->, seguido por um espaço em branco, seguido por nosso pedaço alfabético (<literal ->\1</literal ->) seguido por um espaço em branco, em por fim, seguido por nosso E comercial salvo (<literal ->\2</literal ->)</para> - -<para ->Em alguns casos, a parte alfabética foi <quote ->String</quote ->, em alguns <quote ->int</quote ->, assim, usar a classe de caractere <literal ->\w</literal -> e o quantificador <literal ->+</literal -> provê uma vantagem considerável.</para> - -</example> - -</listitem> - -</varlistentry> - -</variablelist> - -</sect3> - -<sect3 id="advanced-editing-tools-commandline-commands-navigation"> -<title ->Comandos de navegação</title> - -<variablelist> - -<varlistentry> -<term -><cmdsynopsis -><command ->goto</command -><arg ->INT linha</arg -></cmdsynopsis -></term> -<listitem -><para ->Este comando vai para a linha indicada.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->find</command -><arg ->padrão</arg -></cmdsynopsis -></term> -<listitem -><para ->Este comando vai para a primeira ocorrência do <userinput ->padrão</userinput ->, de acordo com a configuração. As ocorrências a seguir poderão ser encontradas com a opção <menuchoice -><guimenu ->Editar</guimenu -><guimenuitem ->Procurar Próximo</guimenuitem -></menuchoice -> (o atalho por padrão é o <keycap ->F3</keycap ->).</para> -<para ->O comando de procura poderá ser configurado adicionando dois-pontos, seguidos de uma ou mais opções, sendo o formato <userinput ->find:opções padrão</userinput ->. São suportadas as seguintes opções: <variablelist> - -<varlistentry> -<term -><userinput ->b</userinput -></term> -<listitem -><para ->Procura para trás.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->c</userinput -></term> -<listitem -><para ->Procura a partir da posição do cursor.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->e</userinput -></term> -<listitem -><para ->Procura apenas na área selecionada.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->r</userinput -></term> -<listitem -><para ->Faz uma pesquisa por uma determinada expressão regular. Se estiver ativo, você poderá usar o <userinput ->\N</userinput ->, onde o N é um número que representa as capturas no texto de substituição.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->s</userinput -></term> -<listitem -><para ->Faz uma pesquisa com distinção entre maiúsculas e minúsculas.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->w</userinput -></term> -<listitem -><para ->Faz uma correspondência apenas com palavras inteiras.</para -></listitem> -</varlistentry> - -</variablelist> - -</para> - -</listitem> - -</varlistentry> - -<varlistentry> -<term -><cmdsynopsis -><command ->ifind</command -><arg ->padrão</arg -></cmdsynopsis -></term> -<listitem -><para ->Este comando oferece uma procura <quote ->à-medida-que-digita</quote ->. Você poderá configurar o comportamento da procura adicionando dois-pontos (:), seguidos de uma ou mais opções, como se segue: <userinput ->ifind:opções padrão</userinput ->. As opções permitidas são <variablelist> -<varlistentry> -<term -><userinput ->b</userinput -></term> -<listitem -><para ->Procura para trás.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->r</userinput -></term> -<listitem -><para ->Faz uma procura por uma expressão regular.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->s</userinput -></term> -<listitem -><para ->Faz uma pesquisa com distinção entre maiúsculas e minúsculas.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><userinput ->c</userinput -></term> -<listitem -><para ->Procura a partir da posição do cursor.</para -></listitem> -</varlistentry> - -</variablelist> -</para -></listitem> -</varlistentry> - -</variablelist> - -</sect3> - -</sect2> - -</sect1> - -<sect1 id="advanced-editing-tools-code-folding"> -<title ->Usando o Desdobramento de Código</title> - -<para ->O desdobramento ou dobragem de código permite-lhe ocultar partes de um documento no editor, tornando mais simples analisar globalmente arquivos grandes. No &kate;, as regiões desdobráveis são calculadas com base nas regras das definições de realce de sintaxe; como tal só está disponível em alguns formatos - tipicamente em código-fonte de programas, código em XML e semelhantes. A maioria das definições de realce que suportam o desdobramento de código também lhe permitem definir manualmente regiões desdobráveis, tipicamente com as palavras-chave <userinput ->BEGIN</userinput -> e <userinput ->END</userinput ->.</para> - -<para ->Para usar a funcionalidade de desdobramento de código, ative os marcadores com a opção <menuchoice -><guimenu ->Ver</guimenu -><guimenuitem ->Mostrar as Marcações de Dobragem</guimenuitem -></menuchoice ->, se não estiverem já visíveis. A área de Marcações de Dobragem, no lado esquerdo da tela, mostra uma visão gráfica sobre as regiões que poderão ser recolhidas ou expandidas, com símbolos +/- para indicar a operação possível numa determinada região: um '-' significa que a região é expandida; enquanto clicar no '-' irá recolher a região, clicar no '+' irá exibí-la.</para> - -<para ->Estão disponíveis quatro comandos para manipular o estado das regiões dobradas; para tal, veja a <link linkend="view-code-folding" ->documentação do menu</link ->. </para> - -<para ->Se você não quiser usar a funcionalidade de desdobramento do código, poderá desativar a opção <guilabel ->Mostrar as marcações de dobragem (se disponíveis)</guilabel -> na <link linkend="config-dialog-editor-appearance" ->página de Aparência da configuração do editor</link -></para> - -</sect1> - -<sect1 id="advanced-editing-tools-scripting"> - -<title ->Programando o componente do editor com Javascript</title> - -<sect2 id="advanced-editing-tools-scripting-introduction"> - -<title ->Introdução</title> - -<para ->Desde a versão 2.5, o componente de edição do &kate; suporta a programação em ECMA Script, também conhecido como JavaScript.</para> - -<para ->Os programas só poderão ser usados através da <link linkend="advanced-editing-tools-commandline" ->linha de comando embutida</link ->. Os requisitos são que o arquivo esteja colocado numa pasta em que o &kate; o consiga encontrar, em conjunto com um arquivo .desktop opcional que define as propriedades relacionadas. Algumas pastas válidas são a <filename ->katepart/scripts</filename -> nas pastas de dados do &kde;. Você poderá encontrar as pastas de dados executando o comando <command ->kde-config <option ->--path</option -> <parameter ->data</parameter -></command -> Você terá pelo menos uma pasta do sistema e uma pessoal. Claro que os programas na pasta de dados do sistema estão disponíveis para todos os usuários do sistema, enquanto os das pastas pessoais só estão disponíveis para o respectivo usuário.</para> - -<note -><para ->Esta funcionalidade é experimental e poderá vir a mudar durante os desenvolvimentos futuros.</para> -<para ->Sabemos que muitos usuários poderão ficar desapontados, uma vez que não poderão adicionar os seus programas ao menu ou atribuir atalhos a eles. Infelizmente, só no futuro provavelmente isso será possível.</para> -<para ->Também não é possível passar argumentos aos seus programas ainda. Tenha paciência, que isso será implementado em breve no futuro ;)</para> -</note> - -</sect2> - -<sect2 id="advanced-editing-tools-scripting-reference"> - -<title ->A API de JavaScript do Kate</title> - -<para ->Aqui está listado o conjunto completo de funções e propriedades disponíveis nos objetos <type ->document</type -> e <type ->view</type ->. Além disso, você poderá também usar todos os objetos-padrão, como o <type ->Math</type ->, o <type ->String</type ->, o <type ->Regex</type -> e assim por diante.</para> - -<para ->Quando um programa é executado, o objeto <classname ->document</classname -> é o documento atual, enquanto o <classname ->view</classname -> é a janela atual.</para> - -<note -><para ->Os tipos dos argumentos não são, obviamente, usados no JavaScript neste momento, servindo apenas para indicar que tipo de valor as funções estão esperando.</para -></note> - -<variablelist id="advanced-editing-tools-scripting-global"> -<title ->Funções Globais</title> -<varlistentry> -<term -><function ->debug( <parameter -><replaceable ->texto</replaceable -></parameter ->) [função]</function -></term> -<listitem> -<itemizedlist> -<title ->parâmetros</title> -<listitem -><para -><parameter ->texto</parameter -> a mensagem a exibir</para> -</listitem> -</itemizedlist> -<para ->Envia o texto para o <acronym ->STDERR</acronym -> com o <function ->kdDebug()</function ->. É usada uma área de saída dedicada para o texto, o qual será antecedido de <computeroutput ->Kate (KJS Scripts):</computeroutput -> </para> -</listitem> -</varlistentry> -</variablelist> - -<variablelist id="advanced-editing-tools-scripting-document"> -<title ->A API do <classname ->document</classname -></title> - -<varlistentry> -<term -><function ->document.attribute( <parameter -><replaceable ->linha</replaceable -> </parameter ->, <parameter -><replaceable ->coluna</replaceable -></parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->uint linha</parameter -> A linha da posição onde encontrar o atributo.</para -></listitem> -<listitem -><para -><parameter ->uint coluna</parameter -> A coluna da posição onde encontrar o atributo.</para -></listitem> -</itemizedlist> -<para ->Devolve o ID numérico do atributo para a posição do documento [<parameter ->linha</parameter ->,<parameter ->coluna</parameter ->]. O atributo representa a aparência ou estilo visual do texto, e é usado também para calcular o realce de sintaxe para uma parte específica do texto, em formatos mixtos como o HTML ou o PHP.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.canBreakAt( <parameter ->Char c</parameter ->, <parameter ->uint atributo</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->c</parameter -> O caracter a testar</para -></listitem> -<listitem -><para -><parameter ->atributo</parameter -> O atributo na posição do <parameter ->c</parameter ->.</para -></listitem> -</itemizedlist> -<para ->Devolve se é permitido quebrar a linha num caracter 'c' com o atributo 'atributo'. O resultado é decidido através da pesquisa do realce que contém o atributo, para o qual os caracteres permitem a quebra de linha.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.canComment( <parameter ->uint atributo_inicio</parameter ->, <parameter ->uint atributo_fim</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->atributo_inicio</parameter -> O atributo no início do intervalo para converter num comentário.</para -></listitem> -<listitem -><para -><parameter ->atributo_fim</parameter -> O atributo no fim do intervalo para converter num comentário.</para -></listitem> -</itemizedlist> -<para ->Devolve se o atributo_inicio e o atributo_fim pertencem ao mesmo sistema de realce de sintaxe. Se sim, é seguro. </para> -<example> -<title ->Usando o canComment</title> -<programlisting ->if ( document.canComment( document.attribute(1,0), document.attribute(5,0) ) ) { - // o 1,0 e o 5,0 pertencem ao mesmo sistema de realce de sintaxe -} -</programlisting> -</example> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.clear(); [função]</function -></term> -<listitem -><para ->Limpa o documento.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.commentStart( <parameter ->uint atributo</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->atributo</parameter -> O atributo do texto para qual deseja obter o texto do 'commentStart'.</para -></listitem> -</itemizedlist> -<para ->Devolve o texto necessário para iniciar um comentário para várias linhas com um texto e um atributo, ou um texto vazio se não forem suportados comentários em várias linhas para esse texto.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.commentMarker( <parameter ->uint atributo</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->atributo</parameter -> O atributo do texto para o qual deseja obter o texto do 'commentMarker'</para -></listitem> -</itemizedlist> -<para ->Devolve o texto necessário para marcar o resto da linha como um comentário com um texto e um atributo, ou um texto vazio se não forem suportados comentários numa única linha para esse texto.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.commentEnd( <parameter ->uint atributo</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->atributo</parameter -> O atributo do texto para o qual deseja obter o texto do 'commentEnd'</para -></listitem> -</itemizedlist> -<para ->Devolve o texto necessário para terminar um comentário para várias linhas com um texto e um atributo, ou um texto vazio se não forem suportados comentários em várias linhas para esse texto.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.editBegin(); [função]</function -></term> -<listitem> -<para ->Inicia um grupo de edição. Todas as ações feitas até à chamada do editEnd() serão agrupadas como uma ação anulável.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.editEnd(); [função]</function -></term> -<listitem> -<para ->Termina um grupo de edição.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.highlightMode; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->O nome do modo de realce do documento, como por exemplo JavaScript ou C++. Se não estiver definido qualquer modo de realce de sintaxe, o valor é igual a None. Lembre-se que terá de usar o nome em Inglês, no caso de ser diferente da versão traduzida.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.indentMode; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->O nome do modo de indentação do documento, como por exemplo <literal ->normal</literal -> ou <literal ->cstyle</literal ->. Lembre-se que, se não estiver definido qualquer modo de indentação, o valor é igual a <literal ->none</literal ->. </para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.indentWidth; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->A largura da indentação do documento. Isto é usado se você indentar com espaços.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.insertLine( <parameter ->uint linha</parameter ->, <parameter ->string texto</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linha</parameter -> número de linha do documento</para> -</listitem> -<listitem -><para -><parameter ->texto</parameter -> o texto a inserir</para -></listitem> -</itemizedlist> -<para ->Insere uma linha nova com o texto <parameter ->texto</parameter -> na linha <parameter ->linha</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.insertText( <parameter ->uint linha</parameter ->, <parameter ->uint coluna</parameter ->, <parameter ->string texto</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linha</parameter -> o número de linha</para -></listitem> -<listitem -><para -><parameter ->coluna</parameter -> o número da coluna</para -></listitem> -<listitem -><para -><parameter ->texto</parameter -> o texto a inserir</para -></listitem> -</itemizedlist> -<para ->Insere o texto <parameter ->texto</parameter -> na linha <parameter ->linha</parameter -> e coluna <parameter ->coluna</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term ->document.length(); [função]</term> -<listitem> -<para ->Devolve o tamanho do documento em 'bytes'.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.lines(); [função]</function -></term> -<listitem> -<para ->Devolve o número de linhas do documento.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term ->document.mixedIndent; [propriedade:apenas leitura]</term> -<listitem> -<para ->Um booleano que lhe diz se a opção 'mixed-indent' está ativa para o documento. Se sim, a indentação é otimizada para conter uma mistura de tabulações e espaços, como acontece no editor Emacs.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term ->document.removeLine( <parameter ->uint linha</parameter -> ); [função]</term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linha</parameter -> o número de linha</para -></listitem> -</itemizedlist> -<para ->Remove a linha especificada do documento.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.removeText( <parameter ->uint linhaInicial</parameter ->, <parameter ->colunaInicial</parameter ->, <parameter ->uint linhaFinal</parameter ->, <parameter ->uint colunaFinal</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linhaInicial</parameter -> corresponde à linha inicial</para -></listitem> -<listitem -><para -><parameter ->colunaInicial</parameter -> corresponde à coluna inicial</para -></listitem> -<listitem -><para -><parameter ->linhaFinal</parameter -> corresponde à linha final</para -></listitem> -<listitem -><para -><parameter ->colunaFinal</parameter -> corresponde à coluna final</para -></listitem> -</itemizedlist> -<para ->Remove o intervalo de texto da linha <parameter ->linhaInicial</parameter -> e coluna <parameter ->colunaInicial</parameter -> até à linha <parameter ->linhaFinal</parameter -> e coluna <parameter ->colunaFinal</parameter ->. </para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.setText( <parameter ->string texto</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->texto</parameter -> o texto do documento</para -></listitem> -</itemizedlist> -<para ->Configura o conteúdo inteiro do documento como <parameter ->texto</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.spaceIndent; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->Um booleano que indica se o 'space-indent' está ativo para o documento. Se for o caso, o documento é indentado com larguraIndentacao espaços por nível, caso contrário, a indentação corresponde a uma tabulação por nível.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.textFull(); [função]</function -></term> -<listitem> -<para ->Devolve o conteúdo completo do documento. Se o texto se espalhar por várias linhas, o carácter de mudança de linha é o <constant ->\n</constant ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.textLine( uint linha ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linha</parameter -> a linha</para -></listitem> -</itemizedlist> -<para ->Devolve o texto da linha <parameter ->linha</parameter ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->document.textRange( <parameter ->uint linhaInicial</parameter ->, <parameter ->uint colunaInicial</parameter ->, <parameter ->uint linhaFinal</parameter ->, <parameter ->uint colunaFinal</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linhaInicial</parameter -> corresponde à linha inicial</para -></listitem> -<listitem -><para -><parameter ->colunaInicial</parameter -> corresponde à coluna inicial</para -></listitem> -<listitem -><para -><parameter ->linhaFinal</parameter -> corresponde à linha final</para> -</listitem> -<listitem -><para -><parameter ->colunaFinal</parameter -> corresponde à coluna final</para -></listitem> -</itemizedlist> -<para ->Devolve o intervalo de texto indicado. Se o intervalo se espalhar por várias linhas, o caracter de mudança de linha é o <constant ->\n</constant ->.</para> -</listitem> -</varlistentry> - -</variablelist -><!--/ document API --> - -<variablelist id="advanced-editing-tools-scripting-view"> -<title ->A API do <classname ->view</classname -></title> - -<varlistentry> -<term -><function ->view.clearSelection(); [função]</function -></term> -<listitem> -<para ->Remove a seleção de todo o texto.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.cursorColumn(); [função]</function -></term> -<listitem> -<para ->Devolve a coluna atual do cursor (os caracteres TAB são expandidos).</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.cursorColumnReal(); [função]</function -></term> -<listitem> -<para ->Devolve a coluna real do cursor (os caracteres TAB contam como um).</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.cursorLine(); [função]</function -></term> -<listitem> -<para ->Devolve a linha atual do cursor.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.hasSelection(); [função]</function -></term> -<listitem> -<para ->Devolve <constant ->true</constant -> (verdadeiro) se a janela contiver algum texto selecionado, caso contrário devolve <constant ->false</constant ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.removeSelectedText(); [função]</function -></term> -<listitem> -<para ->Remove o texto selecionado, se a janela tiver alguma seleção.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectAll(); [função]</function -></term> -<listitem> -<para ->Seleciona todo o texto.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selection(); [função]</function -></term> -<listitem> -<para ->Devolve o texto selecionado. Se a seleção se espalhar por várias linhas, o caracter de mudança de linha é o <constant ->\n</constant ->.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionEndColumn; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->Devolve a coluna final da seleção.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionEndLine; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->Devolve a linha final da seleção.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionStartColumn; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->Devolve a coluna inicial da seleção.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.selectionStartLine; [propriedade:apenas leitura]</function -></term> -<listitem> -<para ->Devolve a linha inicial da seleção.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.setCursorPosition( <parameter ->uint linha</parameter ->, <parameter ->uint coluna</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linha</parameter -> Indica a linha para o cursor.</para -></listitem> -<listitem -><para -><parameter ->coluna</parameter -> Indica a coluna para o cursor.</para -></listitem> -</itemizedlist> -<para ->Configura a posição atual do cursor na janela como sendo [<parameter ->linha</parameter ->, <parameter ->col</parameter ->]. A posição do cursor é a nível visual, isto é, um caracter TAB conta como <replaceable ->tab-width</replaceable -> espaços, dependendo da posição dentro da linha. A posição do cursor é tornada visível. Tanto a linha como a coluna começam em zero.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.setCursorPositionReal( <parameter ->uint linha</parameter ->, <parameter ->uint coluna</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linha</parameter -> Indica a linha para o cursor.</para -></listitem> -<listitem -><para -><parameter ->coluna</parameter -> Indica a coluna para o cursor.</para -></listitem> -</itemizedlist> -<para ->Configura a posição atual do cursor na janela como sendo [<parameter ->linha</parameter ->, <parameter ->col</parameter ->]. A posição do cursor é a nível do texto, isto é, um caracter TAB conta como 1. A posição do cursor é tornada visível. Tanto a linha como a coluna começam em zero.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term -><function ->view.setSelection( <parameter ->uint linhaInicial</parameter ->, <parameter ->uint colunaInicial</parameter ->, <parameter ->uint linhaFinal</parameter ->, <parameter ->uint colunaFinal</parameter -> ); [função]</function -></term> -<listitem> -<itemizedlist> -<title ->Parâmetros</title> -<listitem -><para -><parameter ->linhaInicial</parameter -> corresponde à linha inicial</para -></listitem> -<listitem -><para -><parameter ->colunaInicial</parameter -> corresponde à coluna inicial</para -></listitem> -<listitem -><para -><parameter ->linhaFinal</parameter -> corresponde à linha final</para -></listitem> -<listitem -><para -><parameter ->colunaFinal</parameter -> corresponde à coluna final</para -></listitem> -</itemizedlist> -<para ->Configura a seleção desde a linha <parameter ->linhaInicial</parameter -> e coluna <parameter ->colunaInicial</parameter -> até à linha <parameter ->linhaFinal</parameter -> e coluna <parameter ->colunaFinal</parameter ->.</para> -</listitem> -</varlistentry> - -</variablelist> - -<example id="advanced-editing-tools-scripting-example"> - -<title ->Um programa de exemplo</title> -<para ->Como exemplo, será criado um pequeno programa que converte o texto selecionado para maiúsculas. É óbvio que se deverá ver primeiro se existe texto selecionado, para que se possa obter o texto, mudar a capitalização e depois substituir pelo novo. Uma implementação possível seria do género:</para> - -<programlisting ->if ( view.hasSelection() ) -{ - // seleção para maiúsculas - column = view.selectionStartColumn; - line = view.selectionStartLine; - - selection = view.selection().toUpperCase(); - - document.editBegin(); - view.removeSelectedText(); - document.insertText( line, column, selection ); - document.editEnd(); -} -</programlisting> - -<para ->Para agrupar esta ação em conjunto, para que possam ser anuladas com uma única ativação do <guimenuitem ->Desfazer</guimenuitem ->, as linhas <programlisting ->view.removeSelectedText()</programlisting -> e <programlisting ->document.insertText()</programlisting -> são encapsuladas com um <programlisting ->document.editBegin()</programlisting -> e <programlisting ->document.editEnd()</programlisting ->.</para> - -</example> - -<example id="advanced-editing-tools-desktop-example"> -<title ->Um arquivo <filename ->.desktop</filename -> de exemplo</title> - -<para ->Aqui está um arquivo .desktop de exemplo que acompanha o programa acima.</para> - -<programlisting -># Exemplo de um arquivo .desktop -[Desktop Entry] -Encoding=UTF-8 -Name=Kate Part JavaScript Uppercase -Comment=Script to uppercase the selection -X-Kate-Command=uppercase-selection -X-Kate-Help=<p>Usage: <code>uppercase-selection</code></p> -</programlisting> - -<para ->Como você pode ver, você pode definir a codificação, definir um nome, comentário, um texto de ajuda com o X-Kate-Help e o nome da linha de comando com o X-Kate-Command. Os itens Name, Comment e X-Kate-Help são traduzidos automaticamente para outros idiomas pelas equipes de traduções do KDE, se os arquivos estiverem no repositório de SVN do KDE.</para> - -</example> - -<sect3> -<title ->Colocando tudo junto</title> - -<para ->O &kate; irá procurar nas pastas de programas (ver <link linkend="advanced-editing-tools-scripting-introduction" ->acima</link ->) por arquivos <filename ->*.js</filename ->. Para cada um deles, verifica se existe um arquivo <filename ->.desktop</filename -> correspondente, como por exemplo, maiusculas.js corresponderia a maiusculas.desktop. </para> -<para ->Se não for encontrado um arquivo <filename ->.desktop</filename ->, o programa será registrado na linha de comando com o nome do arquivo sem o '.js' final, para que, no nosso exemplo, fosse <literal ->maiusculas</literal ->. Se o nome do comando for aceitável e não necessitar de funcionalidades extras de um arquivo <filename ->.desktop</filename ->, não será necessário um arquivo <filename ->.desktop</filename ->. </para> -<para ->Se o arquivo <filename ->.desktop</filename -> existir, o 'katepart' irá ler o nome sob o qual o programa será registrado, a partir do item do '.desktop' X-Kate-Command, como por exemplo X-Kate-Command=uppercase-selection.</para> - -</sect3> - -</sect2> - -</sect1> - -</chapter> |