# Haxe

To use this language, use the class "language-haxe".

## Strings and string interpolation

    "Foo
    bar $baz"
    'Foo
    bar'
    "${4 + 2}"

## Regular expressions

    ~/haxe/i
    ~/[A-Z0-9._%-]+@[A-Z0-9.-]+.[A-Z][A-Z][A-Z]?/i
    ~/(dog|fox)/g

## Conditional compilation

    #if !debug
      trace("ok");
    #elseif (debug_level > 3)
      trace(3);
    #else
      trace("debug level too low");
    #end

## Metadata

    @author("Nicolas")
    @debug
    class MyClass {
      @range(1, 8)
      var value:Int;

      @broken
      @:noCompletion
      static function method() { }
    }

## Reification

    macro static function add(e:Expr) {
      return macro $e + $e;
    }

## Known failures

There are certain edge cases where Prism will fail. There are always such cases in every regex-based syntax highlighter. However, Prism dares to be open and honest about them. If a failure is listed here, it doesn’t mean it will never be fixed. This is more of a “known bugs” list, just with a certain type of bug.

### Comment-like substrings

    "foo // var"

### Two quotes of the same type (i.e. both single or both double) inside a regex

    ~/"foo"/