Sintaxe de Diff destaque no Github Markdown

99

Estou escrevendo documentos que devem explicar o código em C # usando Markdown.

Eu uso o ```csharppara obter o realce csharp.

Às vezes, quero destacar algo específico no código usando negrito ou qualquer coisa.

Eu sei sobre <pre>etc ... mas tira meu realce csharp.

Melhor cenário - alguma maneira de destacar o código na ```csharpseção.

A próxima melhor coisa - posso escrever o código como diff - usando + e - para destacar coisas, mas como faço para dizer ao Github para destacar a sintaxe de diff com a cor de fundo vermelha e verde?

Existe uma maneira de usar o realce de sintaxe diff e csharp?

Noam
fonte
4
Oh, como eu gostaria que o stackoverflow atualizasse sua análise de Markdown para ser mais parecido com Githubs. Eu odeio seu sistema de bloqueio de código terrível. Empacotar com `` `é muito melhor, pois não requer alterações" dentro do próprio texto ". (recuando todos com quatro espaços) Mesmo com o atalho de teclado Ctrl + K, isso é apenas um bandaid sobre design ruim. </rant>
Venryx

Respostas:

182

A marcação do Github suporta diff ao formatar o código. Por exemplo:

```diff
public class Hello1
{
   public static void Main()
   {
-      System.Console.WriteLine("Hello, World!");
+      System.Console.WriteLine("Rock all night long!");
   }
}
```

e deve dar a aparência de Diff que você está procurando , destacando em vermelho o que foi removido e em verde o que foi adicionado.

Salvador Medina
fonte
2
Eu tentei nesta essência. Espero que ajude. gist.github.com/salmedina/…
Salvador Medina
Uau! Foi mal. Eu estava procurando por "destaque de sintaxe diff em blocos de código stackoverflow" e fui levado aqui. Sim! ele funciona no github e é por isso que eu esperava que funcionasse no stackoverflow. Infelizmente, isso não acontece e parece que não há interesse suficiente em fazê-lo funcionar. meta.stackoverflow.com/questions/272207/…
Bruno Bronosky
32
Você sabe como obter o realce de sintaxe correto E o realce de diff?
math2001
1
Não parece ser compatível a partir de agora. Aqui está um guia do que é compatível. github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code . Espero que isto ajude.
Salvador Medina
1
Funciona para mim no GitHub, BitBucket e até no meu IDE-VS Code. Obrigado!
Liran H
15

A resposta de Salvador está correta, no entanto, descobri que você deve adicionar o cabeçalho diff ao trecho de código para destacá-lo:

``` diff
diff --git a/filea.extension b/fileb.extension
index d28nd309d..b3nu834uj 111111
--- a/filea.extension
+++ b/fileb.extension
@@ -1,6 +1,6 @@
-oldLine
+newLine
```

Espero que ajude!

Fdiazreal
fonte
Se alguém está procurando apenas pelo formato git, sem as cores ... stackoverflow.com/a/4857407/3196753
tresf