Bem, agora posso sugerir apenas uma solução de "força bruta". Esta tarefa é toda sobre conhecer expressões regulares.
Aqui está.
Antes de mais nada, decidi definir uma nova expressão regular que correspondesse a toda a faixa, em vez de redefinir decimal
, mas use os mesmos estilos. Existem 3 etapas.
A propósito, este é um guia sobre as especificações de idioma para o gedit.
Estilos
Vamos definir estilos primeiro.
Na seção <styles>
inserir antes de decimal
:
<style id="range" _name="Range" map-to="def:decimal"/>
Correspondência
Em seguida, na seção <definitions>
inserir antes de decimal
:
<context id="range" style-ref="decimal">
<match>(?<![\w\.])(([1-9](_?[0-9])*|0)\s*\.\.\.?\s*([1-9](_?[0-9])*|0))(?![\w\.])</match>
</context>
Essa expressão regular corresponde apenas a intervalos de decimal (sempre há espaço para melhorias), como
3..7
3...7
3 .. 7
3 ... 7
Todas as expressões regulares usadas são PCRE (compatível com Perl). O melhor para o meu modo de pensar seria através do Perl Regular Exbridions Doc . Então você pode inventar o seu e combinar com o que quiser.
Invocar correspondência
Para forçar o destaque da sintaxe, use esta expressão, devemos colocá-lo antes decimal na seção <include>
:
<context id="ruby" class="no-spell-check">
<include>
...
<context ref="range"/>
<context ref="decimal"/>
...
</include>
</context>
E reinicie o Gedit!