que hacer exactamente lo que quiere en C. El truco es para ocultar cada personaje por separado, así:
syn match ArrowHead contained ">" conceal cchar=▶
syn match ArrowTail contained "-" conceal cchar=─
syn match ArrowFull "->" contains=ArrowHead,ArrowTail
Es posible que ArrowHead o ArrowTail coincidan fuera de ArrowFull, desafortunadamente. Esto se debe a que las reglas de sintaxis existentes usan contains=ALLBUT,...
o algo similar.
Para corregir esto en C, agregué ArrowTail y ArrowHead al clúster cParenGroup, lo que parece prevenir cualquier problema.
syn cluster cParenGroup add=ArrowTail,ArrowHead
Es posible que tenga que hacer algo similar para Haskell.
Como yo no utilizo la función de ocultar en absoluto de lo contrario, le digo a Vim a seguir adelante y "ocultar" las flechas todo el tiempo:
set conceallevel=1 concealcursor=nvic
Por cierto, si no te gusta los colores por defecto para los caracteres ocultos, puede cambiarlos así:
hi conceal ctermfg=DarkBlue ctermbg=none guifg=DarkBlue guibg=none
¿Cuál es su forma de reemplazar un personaje por otro? –
He editado mi respuesta, en realidad utilizo el mecanismo de ocultación utilizado para resaltar la sintaxis – yogsototh
¿se puede publicar la compilación de '" → "' - parece ser esencial para la pregunta? – sehe