Última versão : 5.6.1

 

Brasilian Portuguese translation is made by
Ricardo Crudo

Linguagem Definida pelo Usuário

versão PDF

A primeira pergunta que você faz é : Para que uma Linguagem Definida pelo Usuário?

Bem, se por algum motivo a linguagem que você quer não for suportada pelo Notepad++, a Liguaguem Definida pelo Usuário pode lhe ajudar neste caso. Este sistema permite o usuário definir sua própria linguagem : não somente destacar a sintaxe das palavras chaves, mas também as sintaxes de blocos, comentários e definição de operadores.

Aqui está um exemplo, um usuário definiu uma linguagem chamada My Language :

Como você pode ver, as sintaxes de destaque e de blocos são aplicadas no documento userDefineLang.myl (à esquerda) graças à Definição da Linguagem do Usuário (à direita).

 

1. Visão Geral sobre o diálogo de Definição de Linguagem

Ele consiste de 2 partes : parte de funcionalidades globais e parte de definição.

As funcionalidades globais são para as operações globais : assim como escolher / criar / renomear / remover uma linguagem definida pelo usuário. Enquanto que a parte de definição é para definir os símbolos de blocos / palavras chaves / símbolos de comentários /operadores para uma linguagem definida pelo usuário.

A linguagem definida pelo usuário tem o seguinte nome padrão User Define Language.

Você pode definir suas palavras chaves, blocos e comentários abaixo do padrão User Define Language. Para que tenha efeito, você terá que definir seu documento atual como uma linguagem definida pelo usuário, clicando em :

Porém, toda definição que você fizer será temporária para o User Define Language (isto é, elas desaparecerão na próxima sessão). Se você quiser manter sua definição, você terá que salvar-la clicando no botão Salvar como.... Uma vez que for nomeada e salva, você poderá usar-la e modificar-la futuramente.

Você também pode associar uma extensão ao arquivo da sua linguagem definida - assim toda vez que abrir um arquivo com a extensão que você associou, os destaques da sua linguagem serão aplicados automaticamente no documento.

Certamente, você poderá renomear sua linguagem, usar-la como modelo (Savar como...) ou apagar-la.

 

2. Blocos & Painel Padrão

Este painel permite ao usuário definir o estilo padrão, palavras chaves de blocos e os estilos de blocos.

O estilo padrão é todo estilo não definido (isto é, toda palavra não definida).

A definição de blocos consiste de duas partes : a definição da abertura do bloco e definição do fechamento do bloco. Eles devem trabalhar juntos, em par.

Na figura mostrada, dois blocos são definidos pelas palavras chaves : blockBegin, blockEnd, if e fi. Com a palavra chave definida, a Linguagem Definida pelo Usuário está apta a formar o(s) bloco(s) que poderão ser dobrados ou desdobrados. Perceba que se você definir muitas palavras chaves na definição de abertura de um bloco e/ou fechamento de um bloco, todos os símbolos de fechamento de bloco funcionarão com qualquer símbolo de abertura de bloco. No exemplo dado, blockBegin e fi podem formar um bloco se você usar-los em par.

 

3. Painel da lista de palavras chaves

Existem 4 grupos de palavras chaves : que disponibilizam 4 estilos para uso geral.

Mas de qualquer forma, não é obrigatório o uso dos 4 grupos.

 

4. Painel de Comentários & Números

Neste painel, o usuário pode definir o estilo dos números e o estilo do comentário (e também a definição do símbolo de conmentário) .

Há dois tipos de comentários que você pode definir na Linguagem Defina pelo Usuário - comentário de linha e comentário de bloco. Diferentemente dos outros estilos, o estilo do comentário cria um estilo não somente para o símbolo definido, mas também para todo o bloco ou linha do comentário.

 

5. Painel dos Operadores

Existem duas regras, para a Linguagem Defina pelo Usuário, que se deve ter em mente :

  1. Uma unidade básica (um símbolo) é sempre terminado com um espaço em branco, um caractere TAB ('\t'), um caractere de nova linha ('\n') ou um operador que você definiu.
  2. Todos os caracteres são parte da unidade básica (um símbolo), a menos que eles estejam defidos como operadores.

Com esse dois pontos entendidos nós podemos facilmente criar um exemplo :

O símbolo "INTEGER" é identificado graças à definição da palavra chave (isto é, "INTEGER" é uma palavra chave da lista). Se '(' não for definido como um operador, o segundo "INTEGER" não será identificado, porque "(INTEGER" estará sendo tratado como uma unidade (ou um símbolo), e ele não é uma palavra chave da lista.