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 :
- 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.
- 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. |