O realce de sintaxe dinâmico é o realce de código que o usuário pode alterar. Há apenas um lugar onde isso acontece: o editor online.
Trechos de código, iterações e coisas do tipo são estáticos, pois o usuário não pode alterar o código na hora. Se você quiser saber mais sobre como lidamos com o realce de sintaxe estático, consulte a documentação de realce de sintaxe estático.
O realce de sintaxe dinâmico é feito com a biblioteca CodeMirror.
Ao adicionar suporte para a sua linguagem, há três opções:
Para habilitar o suporte do CodeMirror para a sua linguagem, abra um tópico no fórum. Nós (o Exercism) vamos então criar um Pull Request que habilita o suporte do CodeMirror para a sua linguagem no site.
Para usar um plugin existente, ele precisa estar publicado no NPM.
Se o plugin não estiver publicado no NPM, você pode:
O site do CodeMirror tem uma lista de plugins de linguagem feitos pela comunidade.
O próximo passo é Habilitar a linguagem.
Estes são os passos para começar:
codemirror-lang-... existente para garantir que ainda não exista um.Para ajudar você a começar, o repositório criado para você contém uma gramática de exemplo mínima que você pode usar como base e ajustar.
Temos uma comunidade incrivelmente amigável e prestativa, que terá prazer em ajudar você ao longo do processo! Se você ficar travado, abra um novo tópico no fórum do Exercism ou crie novas issues em exercism/exercism conforme a necessidade 🙂
Depois, você precisa publicar o plugin no NPM. O próximo passo é Habilitar a linguagem.
A sintaxe da sua linguagem se parece (muito) com a sintaxe de outra linguagem; nesse caso, você pode considerar usar o realce de sintaxe dessa outra linguagem para a sua. Para isso, configure a track usando o plugin do CodeMirror da outra linguagem. Veja a seção Habilitar a linguagem para saber mais.