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:

    ```haskell
    data Foo = Bar

    struct Foo {
    }
    ```

this will be highligted as if it was Rust code.

Example:

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.

6 Likes

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

3 Likes

Have you tried:

```cpp

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();
        protected
    }
}

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

# Clear the screen
subprocess.call('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 = datetime.now()

# 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

try:
    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)
        sock.close()

except KeyboardInterrupt:
    print "You pressed Ctrl+C"
    sys.exit()

except socket.gaierror:
    print 'Hostname could not be resolved. Exiting'
    sys.exit()

except socket.error:
    print "Couldn't connect to server"
    sys.exit()

# Checking the time again
t2 = datetime.now()

# 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 https://meta.discourse.org/t/syntax-highlighting-of-code-blocks/7242/32 this appears to be a per-site setting, so an admin will have to enable Haskell for you here.

3 Likes

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.

3 Likes

Looks like Haskell successfully avoided success in this case.

6 Likes

What a difference a comma makes :wink:

Avoid, success at all costs.

Avoid success, at all costs.

:stuck_out_tongue:

Oh that's a pretty short list :frowning:

```cpp

cpp? What's that? :stuck_out_tongue_winking_eye:

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

@steveklabnik do you have the rights to fix this on this forum?

Would be nice to have a bunch of languages like Haskell, Idris, Agda, OCaml, F#, Scala, etc.

3 Likes

I do! I’ll try to change this later today.

3 Likes

Cool; thanks much!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.