145
votes

I'm writing documents that should explain code in C# using Markdown.

I use the ```csharp to get csharp highlighting.

I sometimes want to highlight something specific in the code using bold or anything.

I know about <pre> etc... but it takes away my csharp highlighting.

Best case scenario - some way to highlight code in the ```csharp section.

Next best thing - I can write the code as diff - using + and - to highlight stuff, but how do I tell Github to highlight diff syntax with the red and green backcolor?

Is there a way to use both diff and csharp syntax highlighting?

2
Oh how I wish stackoverflow would update their Markdown parsing to be more like Githubs. I hate their terrible code block system. Wrapping with ``` is way better, as it requires no changes "within the text itself". (indenting them all with four spaces) Even with the Ctrl+K keyboard shortcut, that's just a bandaid over bad design. </rant>Venryx
If someone else came here looking for diff highlighting support in SE, the answer is no.Scrooge McDuck

2 Answers

259
votes

Github's markdown supports diff when formatting code. For example:

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

Output:

enter image description here

and it should give you the Diff looks you are looking for, highlighting in red what has been removed and in green what has been added.

21
votes

Salvador's response is correct, however, I found out that you should add the diff header to the code snippet in order to highlight it:

``` 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
```

I hope that helps!