{
    "console.dir": {
        "prefix": "cd",
        "body": [
            "console.dir($1);"
        ],
        "description": "Code snippet for \"console.dir\""
    },
    "console.error": {
        "prefix": "ce",
        "body": [
            "console.error($1);"
        ],
        "description": "Code snippet for \"console.error\""
    },
    "console.info": {
        "prefix": "ci",
        "body": [
            "console.info($1);"
        ],
        "description": "Code snippet for \"console.info\""
    },
    "console.log": {
        "prefix": "cl",
        "body": [
            "console.log($1);"
        ],
        "description": "Code snippet for \"console.log\""
    },
    "console.warn": {
        "prefix": "cw",
        "body": [
            "console.warn($1);"
        ],
        "description": "Code snippet for \"console.warn\""
    },
    "debugger": {
        "prefix": "de",
        "body": [
            "debugger;$1"
        ],
        "description": "Code snippet for \"debugger\""
    },
    "addEventListener": {
        "prefix": "ae",
        "body": [
            "${1:document}.addEventListener('${2:load}', function (e) {",
            "\t${3:// body}",
            "});"
        ],
        "description": "Code snippet for \"addEventListener\""
    },
    "appendChild": {
        "prefix": "ac",
        "body": [
            "${1:document}.appendChild(${2:elem});"
        ],
        "description": "Code snippet for \"appendChild\""
    },
    "removeChild": {
        "prefix": "rc",
        "body": [
            "${1:document}.removeChild(${2:elem});"
        ],
        "description": "Code snippet for \"removeChild\""
    },
    "createElement": {
        "prefix": "cel",
        "body": [
            "${1:document}.createElement(${2:elem});"
        ],
        "description": "Code snippet for \"createElement\""
    },
    "createDocumentFragment": {
        "prefix": "cdf",
        "body": [
            "${1:document}.createDocumentFragment();$2"
        ],
        "description": "Code snippet for \"createDocumentFragment\""
    },
    "classList.add": {
        "prefix": "ca",
        "body": [
            "${1:document}.classList.add('${2:class}');"
        ],
        "description": "Code snippet for \"classList.add\""
    },
    "classList.toggle": {
        "prefix": "ct",
        "body": [
            "${1:document}.classList.toggle('${2:class}');"
        ],
        "description": "Code snippet for \"classList.toggle\""
    },
    "classList.remove": {
        "prefix": "cr",
        "body": [
            "${1:document}.classList.remove('${2:class}');"
        ],
        "description": "Code snippet for \"classList.remove\""
    },
    "getElementById": {
        "prefix": "gi",
        "body": [
            "${1:document}.getElementById('${2:id}');"
        ],
        "description": "Code snippet for \"getElementById\""
    },
    "getElementsByClassName": {
        "prefix": "gc",
        "body": [
            "${1:document}.getElementsByClassName('${2:class}');"
        ],
        "description": "Code snippet for \"getElementsByClassName\""
    },
    "getElementsByTagName": {
        "prefix": "gt",
        "body": [
            "${1:document}.getElementsByTagName('${2:tag}');"
        ],
        "description": "Code snippet for \"getElementsByTagName\""
    },
    "getAttribute": {
        "prefix": "ga",
        "body": [
            "${1:document}.getAttribute('${2:attr}');"
        ],
        "description": "Code snippet for \"getAttribute\""
    },
    "setAttribute": {
        "prefix": "sa",
        "body": [
            "${1:document}.setAttribute('${2:attr}', ${3:value});"
        ],
        "description": "Code snippet for \"setAttribute\""
    },
    "removeAttribute": {
        "prefix": "ra",
        "body": [
            "${1:document}.removeAttribute('${2:attr}');"
        ],
        "description": "Code snippet for \"removeAttribute\""
    },
    "innerHTML": {
        "prefix": "ih",
        "body": [
            "${1:document}.innerHTML = '${2:elem}';"
        ],
        "description": "Code snippet for \"innerHTML\""
    },
    "textContent": {
        "prefix": "tc",
        "body": [
            "${1:document}.textContent = '${2:content}';"
        ],
        "description": "Code snippet for \"textContent\""
    },
    "querySelector": {
        "prefix": "qs",
        "body": [
            "${1:document}.querySelector('${2:selector}');"
        ],
        "description": "Code snippet for \"querySelector\""
    },
    "querySelectorAll": {
        "prefix": "qsa",
        "body": [
            "${1:document}.querySelectorAll('${2:selector}');"
        ],
        "description": "Code snippet for \"querySelectorAll\""
    },
    "forEach": {
        "prefix": "fe",
        "body": [
            "${1:array}.forEach(function(item) {",
            "\t${2:// body}",
            "});"
        ],
        "description": "Code snippet for \"forEach\""
    },
    "function": {
        "prefix": "fn",
        "body": [
            "function ${1:methodName} (${2:arguments}) {",
            "\t${3:// body}",
            "}"
        ],
        "description": "Code snippet for function"
    },
    "anonymous function": {
        "prefix": "afn",
        "body": [
            "function(${1:arguments}) {",
            "\t${2:// body}",
            "}"
        ],
        "description": "Code snippet for anonymous function"
    },
    "prototype": {
        "prefix": "pr",
        "body": [
            "${1:object}.prototype.${2:method} = function(${3:arguments}) {",
            "\t${4:// body}",
            "}"
        ],
        "description": "Code snippet for prototype"
    },
    "immediately-invoked function expression": {
        "prefix": "iife",
        "body": [
            "(function(${1:window}, ${2:document}) {",
            "\t${3:// body}",
            "})(${1:window}, ${2:document});"
        ],
        "description": "Code snippet for immediately-invoked function expression"
    },
    "function call": {
        "prefix": "call",
        "body": [
            "${1:method}.call(${2:context}, ${3:arguments});"
        ],
        "description": "Code snippet for function call"
    },
    "function apply": {
        "prefix": "apply",
        "body": [
            "${1:method}.apply(${2:context}, [${3:arguments}]);"
        ],
        "description": "Code snippet for function apply"
    },
    "function as a property of an object": {
        "prefix": "ofn",
        "body": [
            "${1:functionName}: function(${2:arguments}) {",
            "\t${3:// body}",
            "}"
        ],
        "description": "Code snippet for function as a property of an object"
    },
    "JSON.parse": {
        "prefix": "jp",
        "body": [
            "JSON.parse(${1:obj});"
        ],
        "description": "Code snippet for 'JSON.parse'"
    },
    "JSON.stringify": {
        "prefix": "js",
        "body": [
            "JSON.stringify(${1:obj});"
        ],
        "description": "Code snippet for 'JSON.stringify'"
    },
    "setInterval": {
        "prefix": "si",
        "body": [
            "setInterval(function() {",
            "\t${0:// body}",
            "}, ${1:1000});"
        ],
        "description": "Code snippet for 'setInterval'"
    },
    "setTimeout": {
        "prefix": "st",
        "body": [
            "setTimeout(function() {",
            "\t${0:// body}",
            "}, ${1:1000});"
        ],
        "description": "Code snippet for 'setTimeout'"
    },
    "use strict": {
        "prefix": "us",
        "body": [
            "'use strict';"
        ],
        "description": "Code snippet for 'use strict'"
    },
    "alert": {
        "prefix": "al",
        "body": [
            "alert('${1:msg}');"
        ],
        "description": "Code snippet for 'alert'"
    },
    "confirm": {
        "prefix": "co",
        "body": [
            "confirm('${1:msg}');"
        ],
        "description": "Code snippet for 'confirm'"
    },
    "prompt": {
        "prefix": "pm",
        "body": [
            "prompt('${1:msg}');"
        ],
        "description": "Code snippet for 'prompt'"
    }
}