# Nix

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

## Comments

    #
    # Single line comment
    /* Multi-line
    comment */

## String

    ""
    "foo\"bar"
    "foo
    bar"

    ''''
    ''foo'''bar''
    ''
    foo
    bar
    ''

## String interpolation

    "foo${42}bar"
    "foo\${42}bar" # This is not interpolated
    ''foo${42}bar''
    ''foo''${42}bar'' # This is not interpolated

## URLs and paths

    ftp://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz
    http://example.org/foo.tar.bz2
    /bin/sh
    ./builder.sh
    ~/foo.bar

## Integers, booleans and null

    0
    42

    true
    false

    null

## Builtin functions

    name = baseNameOf (toString url);
    imap =
    	if builtins ? genList then
    		f: list: genList (n: f (n + 1) (elemAt list n)) (length list)

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

    "This # is a broken string"