17

When using SO's code blocks, can you control how syntax highlighting is performed? Many times, I've pasted (for example) some shell output into an SO answer, and the syntax highlighting has been completely unrelated. Is there any way to turn it off, or to change the language used?

1

2 Answers 2

11

There is a way to completely turn off code highlighting: use <code> tags (I often do this for OCaml/Lisp/Haskell code where unmatched 's cause problems). EDIT: As random pointed out, <pre> will work better than <code>.

Normal highlighting:

return 'a' "x" void

With <pre> it looks like this:

return 'a' "x" void

Keep in mind that with <pre>, you don't need to indent your code by four spaces. For example, the code in this answer is formatted like this:

Normal highlighting with four spaces:

    return 'a' "x" void

or with ```language:

```js
return 'a' "x" void
```

With `<pre>` it looks like this:

<pre>
return 'a' "x" void
</pre>

(Sorry about the highlighting but I can't do this in <pre>...)

4
  • If you want the nice background, use PRE
    – random
    Commented Aug 10, 2009 at 14:48
  • 8
    Note that it appears that <!-- language: none --> is now the preferred mechanism to disable syntax highlighting for a preformatted block of text.
    – Phrogz
    Commented Mar 31, 2011 at 22:32
  • I hope, my proposed edit enriches the post.
    – Cadoiz
    Commented Sep 20, 2021 at 6:31
  • 1
    There is also the newer code fence, ```lang-none. Commented Sep 20, 2021 at 11:59
5

You cannot control how the syntax is highlighted.

SO, uses Google's prettify to do the syntax coloring. Prettify uses common language patterns to determine syntax coloring.

For example:

Comments:

// comment
#comment

Strings:

'This is a string'
"So is this"

Key words:

void
return
int 
bool

As Zifre says. You can turn off the syntax highlighting in code by using the <pre> tags around your desired block of code.

3
  • 1
    So this is a problem upstream? Commented Sep 10, 2009 at 23:20
  • Hmm... it looks like prettify has the ability to specify a language using a lang-* css class. Commented Sep 10, 2009 at 23:26
  • Didn't work for me.... <pre class="prettyprint lang-html"> made the code a complete mess. Commented Mar 6, 2010 at 13:51

Not the answer you're looking for? Browse other questions tagged .