diff --git a/modules/feature/file-templates/autoload.el b/modules/feature/file-templates/autoload.el index bccb93a2e..a7f5e4607 100644 --- a/modules/feature/file-templates/autoload.el +++ b/modules/feature/file-templates/autoload.el @@ -55,33 +55,30 @@ these properties: ;; ;;;###autoload -(defun +file-templates--expand (pred &rest plist) +(cl-defun +file-templates--expand (pred &key project mode trigger ignore) "Auto insert a yasnippet snippet into current file and enter insert mode (if evil is loaded and enabled)." - (when (and pred (not (plist-get plist :ignore))) - (let ((project (plist-get plist :project)) - (mode (plist-get plist :mode)) - (trigger (plist-get plist :trigger))) - (when (if project (doom-project-p) t) - (unless mode - (setq mode (if (symbolp pred) pred major-mode))) - (unless mode - (user-error "Couldn't determine mode for %s file template" pred)) - (unless trigger - (setq trigger +file-templates-default-trigger)) - (require 'yasnippet) - (unless yas-minor-mode - (yas-minor-mode-on)) - (when (and yas-minor-mode - (yas-expand-snippet - (yas--template-content - (cl-find trigger (yas--all-templates (yas--get-snippet-tables mode)) - :key #'yas--template-key :test #'equal))) - (and (featurep 'evil) evil-mode) - (and yas--active-field-overlay - (overlay-buffer yas--active-field-overlay) - (overlay-get yas--active-field-overlay 'yas--field))) - (evil-initialize-state 'insert)))))) + (when (and pred (not ignore)) + (when (if project (doom-project-p) t) + (unless mode + (setq mode (if (symbolp pred) pred major-mode))) + (unless mode + (user-error "Couldn't determine mode for %s file template" pred)) + (unless trigger + (setq trigger +file-templates-default-trigger)) + (require 'yasnippet) + (unless yas-minor-mode + (yas-minor-mode-on)) + (when (and yas-minor-mode + (yas-expand-snippet + (yas--template-content + (cl-find trigger (yas--all-templates (yas--get-snippet-tables mode)) + :key #'yas--template-key :test #'equal))) + (and (featurep 'evil) evil-mode) + (and yas--active-field-overlay + (overlay-buffer yas--active-field-overlay) + (overlay-get yas--active-field-overlay 'yas--field))) + (evil-initialize-state 'insert))))) ;;;###autoload (defun +file-templates-get-short-path ()