Realce de sintaxe estático


O realce de sintaxe estático é o realce de código que você não pode alterar. Isso inclui trechos de código, iterações e muito mais.

Note

O editor online não usa realce de sintaxe estático, pois você pode alterar o código na hora. Se você quiser saber mais sobre como lidamos com realce de sintaxe no editor online, consulte a documentação de realce de sintaxe dinâmico.

Implementação

O realce de sintaxe estático é feito com a biblioteca highlightjs.

Ao adicionar suporte para a linguagem da sua trilha, há três opções:

  1. A linguagem tem suporte nativo do highlightjs (ou seja, está listada como uma linguagem suportada). Nesse caso, siga para a seção Configurar a trilha.
  2. A linguagem tem suporte por meio de um plugin já existente do highlightjs. Nesse caso, siga para a seção Usar um plugin existente.
  3. A linguagem não tem suporte. Agora há três opções:
    1. Escrever um plugin do highlightjs do zero, como descrito na seção Criar um novo plugin.
    2. A sintaxe da sua linguagem se parece (muito) com a sintaxe de outra linguagem (por exemplo, a sintaxe de Unison se parece com a de Haskell). Nesse caso, você pode considerar usar o realce de sintaxe dessa linguagem para a sua. Veja a seção Configurar a trilha para mais informações.
    3. Não ter realce de sintaxe estático.

Configurar a trilha

Para habilitar o suporte do highlightjs para a linguagem da sua trilha, você precisa modificar o arquivo config.json da trilha. No arquivo config.json, adicione/defina a chave online_editor.highlightjs_language com o identificador de linguagem apropriado do highlightjs (que pode ser encontrado na documentação).

Exemplo

{
  "online_editor": {
    "highlightjs_language": "csharp"
  }
}

Usar um plugin existente

Para usar um plugin existente, ele precisa estar publicado no NPM. Se o plugin não estiver publicado no NPM, você pode:

  1. Perguntar ao autor do plugin se ele quer publicá-lo no NPM.
  2. Fazer um fork do repositório e publicá-lo por conta própria.
  3. Pedir que nós (o Exercism) façamos um fork do repositório e o publiquemos. Para isso, abra um tópico no fórum pedindo isso.

O próximo passo é habilitar o plugin.

Habilitar o plugin

Para habilitar um plugin (que precisa estar publicado no NPM), abra um tópico no fórum pedindo que adicionemos suporte para o plugin no site. Nós (o Exercism) então criaremos um Pull Request que adiciona o plugin ao site. Depois que o PR for mesclado, você pode habilitar o suporte do highlightjs seguindo as instruções da seção Configurar a trilha.

Criar um novo plugin

Se você quiser criar um plugin, há duas opções de hospedagem:

  1. Criar um repositório na sua conta pessoal e publicá-lo por conta própria.
  2. Pedir que nós (o Exercism) criemos um repositório e o publiquemos. Para isso, abra um tópico no fórum pedindo isso.

Depois de ter um repositório, siga as instruções de contribuição de linguagem para implementar o plugin.

Depois, você precisa publicar o plugin no NPM. O próximo passo é habilitar o plugin.

Usar uma linguagem diferente

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 linguagem para a sua. Para isso, configure a trilha para usar o identificador de linguagem do highlightjs da outra linguagem. Veja a seção Configurar a trilha para mais informações.