     ";d/" (lambda () (interactive) (insert (format-time-string "%D")))
     ";time" (lambda () (interactive) (insert (format-time-string "%T")))
     ";filename" (lambda () (interactive) (insert (file-name-nondirectory (buffer-file-name)))))
+  (aas-set-snippets 'emacs-lisp-mode
+    ";auto" ";;;###autoload"
+    ";la" (lambda () (interactive) (insert "(lambda ())") (backward-char 2))
+    ";li" (lambda () (interactive) (insert "(lambda () (interactive) )") (backward-char 1))
+    ";j" (lambda () (interactive) (insert "(message \"%s\" )") (backward-char 1)))
   (aas-set-snippets 'sql-mode
     ";bang" "SELECT * FROM information_schema.tables;"
     ";d" (lambda ()

  (aas-set-snippets 'global
    ";--" "—"
    ";>>" "→"
    ";ghm" "[meain](https://github.com/meain)"
    ";isodate" (lambda () (interactive) (insert (format-time-string "%a, %d %b %Y %T %z")))
    ";date" (lambda () (interactive) (insert (format-time-string "%a %b %d %Y")))

                               (read-string "Error message: ")
                               "; %v\", err)"))
                      " }")))
    ";test"
    (lambda ()
      (interactive)
      (insert (concat "func "
                      (read-string "Test function name: ")
                      "(t *testing.T) {
    want :=
    got, err :=
    if !cmp.Equal(want, got) {
        t.Fatalf(\"values are not the same %s\", cmp.Diff(tc.want, got))
    }
    }")))
    ";ttest"
    (lambda ()
      (interactive)
      (insert (concat "func "
