doomemacs/core/defuns/defuns-auto-insert.el

24 lines
1.1 KiB
EmacsLisp
Raw Normal View History

2015-11-25 19:01:19 +08:00
;;; defuns-auto-insert.el
;; for ../core-auto-insert.el
;;;###autoload
(defun narf/auto-insert-snippet (key &optional mode project-only)
"Auto insert a snippet of yasnippet into new file."
(interactive)
(when (if project-only (narf/project-p) t)
(let ((is-yasnippet-on (not (cond ((functionp yas-dont-activate)
(funcall yas-dont-activate))
((consp yas-dont-activate)
(some #'funcall yas-dont-activate))
(yas-dont-activate))))
(snippet (let ((template (cdar (mapcan #'(lambda (table) (yas--fetch table key))
(yas--get-snippet-tables mode)))))
(if template (yas--template-content template) nil))))
(when (and is-yasnippet-on snippet)
2015-12-01 05:49:18 +08:00
(yas-expand-snippet snippet)
(when (and (featurep 'evil) evil-mode)
(evil-initialize-state 'insert))))))
2015-11-25 19:01:19 +08:00
(provide 'defuns-auto-insert)
;;; defuns-auto-insert.el ends here