Implementação de padrões compostos que capturam a combinação pitch+modifier como uma unidade semântica, similar ao padrão usado para su/pp em snippets NABC.
-
Pitch+Oriscus Descriptors (
gabcPitchOriscusDescriptor)- Padrão:
[a-npA-NP][oO][01]? - Exemplos:
go,ho1,fO0,gO - Componentes:
gabcPitchOriscusBase: letra de pitch (Identifier = azul claro)gabcPitchOriscusModifier: o/O (Identifier = azul claro)gabcPitchOriscusSuffix: 0 ou 1 (Number = verde brilhante)
- Padrão:
-
Pitch+Special Modifier Descriptors (
gabcPitchModifierSpecial)- Padrão:
[a-npA-NP]r[0-8] - Exemplos:
gr1,fr0,hr8 - Componentes:
gabcPitchModifierSpecialBase: letra de pitch (Identifier)gabcPitchModifierSpecialChar: r (Identifier)gabcPitchModifierSpecialNumber: 0-8 (Number)
- Padrão:
-
Pitch+Simple Modifier Descriptors (
gabcPitchModifierSimple)- Padrão:
[a-npA-NP][qwWvVs~<>=rR.] - Exemplos:
gw(quilisma),fv(virga),h<(liquescent),gr(punctum cavum) - Componentes:
gabcPitchModifierSimpleBase: letra de pitch (Identifier)gabcPitchModifierSimpleChar: modificador (Identifier)
- Padrão:
| Componente | Vim Highlight | Cor (dark theme) | Cor (light theme) |
|---|---|---|---|
| Pitch (base) | Identifier | Azul claro/ciano | Azul escuro |
| Modifier | Identifier | Azul claro/ciano | Azul escuro |
| Number (suffix) | Number | Verde brilhante | Verde |
Nota: Pitch e modifier recebem o mesmo highlight (Identifier) para aparência unificada, criando um agrupamento visual coeso da combinação pitch+modifier.
- Aparência Unificada:
pitch+modifierforma uma unidade visual coesa (nota modificada) - Consistência: Mesmo highlight para componentes relacionados
- Agrupamento Visual: Cores idênticas indicam que pitch e modifier funcionam juntos
- Distinção de Sufixos: Números destacados separadamente (Number) para clareza
- Deprecated:
gabcOriscusegabcOriscusSuffix(agora parte degabcPitchOriscusDescriptor) - Updated:
gabcFusionCollectiveagora inclui padrões compostos - Fallback: Modificadores standalone continuam funcionando para retrocompatibilidade
% Pitch+oriscus
(c4) Te(g)sto(go) o(ho)ris(io)cus.(jo) (::)
% Pitch+quilisma
(c4) Qui(gw)lis(fw)ma(hw) tes(iw)te.(jw) (::)
% Pitch+virga
(c4) Vir(gv)ga(fv) di(hv)rei(iv)ta.(jv) (::)
% Pitch+special modifiers
(c4) Va(gr0)ri(fr1)an(hr2)tes(ir3) (::)
% Mistura de padrões
(c4) Ký(d)ri(eo)e(f) e(gw)lé(a)i(bv)son.(c) (::)
Arquivo de teste criado: test-pitch-modifiers.gabc
- 10 seções testando todos os padrões
- 100+ exemplos de combinações pitch+modifier
- Testes de fusion collective com padrões compostos
- Casos mistos com múltiplos modificadores
Esta feature foi implementada de forma consistente em todos os projetos Gregorio:
- ✅ gregorio.nvim: Padrões VimScript + highlighting
- ✅ vscode-gregorio: TextMate grammar + captures
- ✅ tree-sitter-gregorio: Grammar rules + tokens
- Adicionados
mode-differentiaemode-modifierà lista de headers com suporte LaTeX - Total de 19 headers LaTeX (vs 7 anteriormente): +171%
- Série
def-m0atédef-m9com highlighting separado para o número
- Adicionado highlighting dedicado para valores numéricos em headers:
mode: modo gregoriano (1-8)staff-lines: número de linhas da pautainitial-style: estilo da inicial
- Valores destacados como
Number(verde)
- Suporte estendido para sufixo
0(anteriormente apenas 1-9) - Mantém highlighting
SpecialCharpara distinção visual
- Base codes (
su/pp):Entity→Type(equivalente aentity.name.class) - Modifiers: Mantém
SpecialCharpara consistência
- Melhorado reconhecimento de comandos LaTeX em valores de headers
- Funciona sem necessidade de tags
<v>
- Nenhuma ação necessária para arquivos GABC existentes
- Opcional: Revisar arquivos com oriscus (
o/O) para aproveitar novo highlighting - Recomendado: Atualizar testes para incluir padrões pitch+modifier
Abra test-pitch-modifiers.gabc no Neovim/Vim para validar as cores:
nvim test-pitch-modifiers.gabcEsperado:
- Letras de pitch em azul claro (Identifier)
- Modificadores em azul claro (Identifier) - mesma cor do pitch
- Números em verde brilhante (Number)
- Issue relacionada: Unificação de padrões GABC/NABC
- Comparação: Similar a
nabcSubPrepunctisDescriptor(lines 367-385) - Testes:
test-pitch-modifiers.gabc(152 linhas, 10 seções)