Syntax highlighting other languages?


From time to time when discussing features in other languages and what Rust learn from them people (including me) post snippets using those languages… However, if we say something like:

    data Foo = Bar

    struct Foo {

this will be highligted as if it was Rust code.


class Functor f where // Here is a Rust comment which is recognized as a comment.
  fmap :: (a -> b) -> (f a -> f b)

-- Here is a Haskell comment which is not recognized as a comment.

So it would be nice to have the usual markdown capabilities here to highlight any language.


++, I occasionally post C++ snippets so it’d be nice to be able to write ```cc.


Have you tried:


I believe it worked for me when I put in this C++ snippet.


Testing testing… This seems to work…

Hmm; Maybe it is just Haskell who gets no love? :frowning:

// a small Java program
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
        new Object();

#!/usr/bin/env python
import socket
import subprocess
import sys
from datetime import datetime

# Clear the screen'clear', shell=True)

# Ask for input
remoteServer    = raw_input("Enter a remote host to scan: ")
remoteServerIP  = socket.gethostbyname(remoteServer)

# Print a nice banner with information on which host we are about to scan
print "-" * 60
print "Please wait, scanning remote host", remoteServerIP
print "-" * 60

# Check what time the scan started
t1 =

# Using the range function to specify ports (here it will scans all ports between 1 and 1024)

# We also put in some error handling for catching errors

    for port in range(1,1025):  
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result = sock.connect_ex((remoteServerIP, port))
        if result == 0:
            print "Port {}: 	 Open".format(port)

except KeyboardInterrupt:
    print "You pressed Ctrl+C"

except socket.gaierror:
    print 'Hostname could not be resolved. Exiting'

except socket.error:
    print "Couldn't connect to server"

# Checking the time again
t2 =

# Calculates the difference of time, to see how long it took to run the script
total =  t2 - t1

# Printing the information to screen
print 'Scanning Completed in: ', total


From this appears to be a per-site setting, so an admin will have to enable Haskell for you here.


Looks like these languages are enabled:

  • apache, apacheconf
  • bash, sh, zsh
  • cs, csharp
  • cpp, c, cc, h, c++, h++, hpp
  • css
  • coffeescript, coffee, cson, iced
  • diff, patch
  • xml, html, xhtml, rss, atom, xjb, xsd, xsl, plist
  • http, https
  • ini, toml
  • json
  • java, jsp
  • javascript, js, jsx
  • makefile, mk, mak
  • markdown, md, mkdown, mkd
  • nginx, nginxconf
  • objectivec, mm, objc, obj-c
  • ruby, rb, gemspec, podspec, thor, irb
  • perl, pl, pm
  • php, php3, php4, php5, php6
  • python, py, gyp
  • sql
  • handlebars, hbs, html.hbs, html.handlebars
  • rust, rs

I think all languages besides rust come from the default settings.


Looks like Haskell successfully avoided success in this case.


What a difference a comma makes :wink:

Avoid, success at all costs.

Avoid success, at all costs.


Oh that’s a pretty short list :frowning:



cpp? What’s that? :stuck_out_tongue_winking_eye:

(I’m being sarcastic; I grew up using .cc for my C++ files.)