{
  "defun": {
    "scope": "commonlisp",
    "prefix": "defun ",
    "body": "defun ${1:function-name} (${2:lambda-list})\n\t${3:form}",
    "description": "Defines a new function in the global environment."
  },
  "if": {
    "scope": "commonlisp",
    "prefix": "if ",
    "body": "if ${1:test-form} ${2:then-form} ${3:else-form}",
    "description": "Allows the execution of a form to be dependent on a single test-form."
  },
  "cond": {
    "scope": "commonlisp",
    "prefix": "cond ",
    "body": "cond (${1:test-form-1} ${2:form1})\n      (${3:test-form-2} ${4:form2})",
    "description": "Allows the execution of forms to be dependent on test-form."
  },
  "let": {
    "scope": "commonlisp",
    "prefix": "let ",
    "body": "let ((${1:var1} ${2:init-form-1})\n      (${3:var2} ${4:init-form-2})",
    "description": "Creates new variable bindings and performs the bindings in parallel."
  },
  "let*": {
    "scope": "commonlisp",
    "prefix": "let* ",
    "body": "let* ((${1:var1} ${2:init-form-1})\n       (${3:var2} ${4:init-form-2})",
    "description": "Creates new variable bindings and performs the bindings sequentially."
  },
  "lambda": {
    "scope": "commonlisp",
    "prefix": "lambda ",
    "body": "lambda (${1:lambda-list}) ${2:form}",
    "description": "Provides a shorthand notation for a function special form involving a lambda expression."
  },
  "defmacro": {
    "scope": "commonlisp",
    "prefix": "defmacro ",
    "body": "defmacro ${1:name} (${2:lambda-list})\n\t${3:form}",
    "description": "Defines a macro in the global environment."
  },
  "defclass": {
    "scope": "commonlisp",
    "prefix": "defclass ",
    "body": "defclass ${1:class-name} (${2:superclass})\n\t((${3:slot-name} :initarg :${3:slot-name} :accessor ${3:slot-name}))",
    "description": "Defines a new class."
  },
  "defmethod": {
    "scope": "commonlisp",
    "prefix": "defmethod ",
    "body": "defmethod ${1:function-name} ((${2:object} ${3:class-name}))\n\t${4:form}",
    "description": "Defines a method for a generic function."
  },
  "loop": {
    "scope": "commonlisp",
    "prefix": "loop ",
    "body": "loop for ${1:var} in ${2:list}\n\t${3:do (something)}",
    "description": "Iterates using the loop facility."
  },
  "format": {
    "scope": "commonlisp",
    "prefix": "format ",
    "body": "format ${1:t} \"${2:~a}\" ${3:arg}",
    "description": "Produces formatted output."
  },
  "when": {
    "scope": "commonlisp",
    "prefix": "when ",
    "body": "when ${1:test-form}\n\t${2:form}",
    "description": "Evaluates forms only when test-form is true."
  },
  "unless": {
    "scope": "commonlisp",
    "prefix": "unless ",
    "body": "unless ${1:test-form}\n\t${2:form}",
    "description": "Evaluates forms only when test-form is false."
  }
}
