{"name":"Lisp","scopeName":"source.lisp","patterns":[{"begin":"(^[ \\t]+)?(?=;)","end":"(?!\\G)","patterns":[{"name":"comment.line.semicolon.lisp","begin":";","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.lisp"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.lisp"}}},{"name":"meta.function.lisp","match":"(\\b(?i:(defun|defgeneric|defmethod|defmacro|defclass|defstruct|defconstant|defvar|defparameter))\\b)(\\s+)((\\w|\\-|\\!|\\?)*)","captures":{"2":{"name":"storage.type.function-type.lisp"},"4":{"name":"entity.name.function.lisp"}}},{"name":"constant.character.lisp","match":"(#|\\?)(\\w|[\\\\+-=\u003c\u003e'\"\u0026#])+","captures":{"1":{"name":"punctuation.definition.constant.lisp"}}},{"name":"variable.other.global.lisp","match":"(\\*)(\\S*)(\\*)","captures":{"1":{"name":"punctuation.definition.variable.lisp"},"3":{"name":"punctuation.definition.variable.lisp"}}},{"name":"keyword.control.lisp","match":"\\b(?i:case|ecase|ccase|typecase|etypecase|ctypecase|do|dolist|dotimes|let|let\\*|labels|flet|loop|if|else|when|unless)\\b"},{"name":"keyword.operator.lisp","match":"\\b(?i:eq|neq|and|or|not)\\b"},{"name":"constant.language.lisp","match":"\\b(?i:null|nil)\\b"},{"name":"support.function.lisp","match":"(?\u003c![-\\w])(?i:cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn)(?![-\\w])"},{"name":"constant.numeric.lisp","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{"name":"string.quoted.double.lisp","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.lisp","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lisp"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lisp"}}}]}
