                                            (push `(template-key-alist . ,template-key-alist) result-alist)))
                    result-alist)
                  ))))
-
     (defun helm-yas-get-struct-by-template (template)
       (assoc-default template (assoc-default 'template-struct-alist helm-yas-cur-snippets-alist)))
-
     (setf (alist-get 'action helm-source-yasnippet)
           (mapcar (lambda (item)
                     (if (string-equal (car item) "Insert snippet")

                                                 (message "this snippet is bound to [ %s ]"
                                                          (helm-yas-get-key-by-template template helm-yas-cur-snippets-alist)))))
                      item))
                  (alist-get 'action helm-source-yasnippet)))

    ))

(defconst mfa-yasnippet-packages '(helm-c-yasnippet))

(defun mfa-yasnippet/post-init-helm-c-yasnippet ()
  ;; This message displays the key binding for the snippet, but the message is
  ;; pretty useless because most snippets do not have a key binding.
  (setq helm-yas-display-msg-after-complete nil)

  ;; The following patch to helm-c-yasnippet makes it properly evaluate the
  ;; `expand-env` attribute in snippets.
  ;;
  ;; It is unfortunate to have to patch it this way - this fix should probably
  ;; the submitted back to the helm-c-yasnippet project.
  (el-patch-feature helm-c-yasnippet)
  (with-eval-after-load 'helm-c-yasnippet
    (eval '(el-patch-defun helm-yas-build-cur-snippets-alist (&optional table)
             (let ((yas-choose-keys-first nil)
                   (yas-choose-tables-first nil)
