{
    "fun": {
        "prefix": "fun",
        "body": [
            "fun ${1:foo}() = ${0}"
        ],
        "description": "One line fucntion"
    },
    "fun2": {
        "prefix": "fun",
        "body": [
            "fun ${1:foo}(${2:bar}: ${3:Any}, ${4:baz}: ${5:Any}): ${6:Unit} {",
            "\t${0}",
            "}"
        ],
        "description": "Function with 2 parameters"
    },
    "fun1": {
        "prefix": "fun",
        "body": [
            "fun ${1:foo}(${2:bar}: ${3:Any}): ${4:Unit} {",
            "\t${0}",
            "}"
        ],
        "description": "Function with 1 parameter"
    },
    "fun0": {
        "prefix": "fun",
        "body": [
            "fun ${1:foo}(): Unit {",
            "\t${0}",
            "}"
        ],
        "description": "Function with 0 parameters"
    },
    "void": {
        "prefix": "void",
        "body": [
            "fun ${1:foo}() {",
            "\t${0}",
            "}"
        ],
        "description": "Function that returns nothing"
    },
    "main": {
        "prefix": "main",
        "body": [
            "fun main(args: Array<String>) {",
            "\t${0}",
            "}"
        ],
        "description": "main() function"
    },
    "for": {
        "prefix": "for",
        "body": [
            "for (${1:i} in ${2:iterable}) {",
            "\t${0}",
            "}"
        ]
    },
    "try": {
        "prefix": "try",
        "body": [
            "try {",
            "\t${0}",
            "}",
            "catch(Exception e) {",
            "\t${0}",
            "}"
        ]
    },
    "class": {
        "prefix": "class",
        "body": [
            "class ${1:foo} {",
            "\t${0}",
            "}"
        ],
        "description": "Class without contructor"
    },
    "class1": {
        "prefix": "class",
        "body": [
            "class ${1:foo}(${2:bar}) {",
            "\t${0}",
            "}"
        ],
        "description": "Class with constructor"
    },
    "data": {
        "prefix": "class",
        "body": [
            "data class ${1:foo}(${0})"
        ],
        "description": "Empty data class"
    },
    "singleton": {
        "prefix": "singleton",
        "body": [
            "object ${1:foo} {",
            "\t${0}",
            "}"
        ],
        "description": "Empty singleton"
    }
}
