doomemacs/modules/config/default/autoload/default.el
2018-02-14 23:36:27 -05:00

49 lines
2.2 KiB
EmacsLisp

;; config/default/autoload/default.el -*- lexical-binding: t; -*-
;;;###autoload
(defun +default/yank-buffer-filename ()
"Copy the current buffer's path to the kill ring."
(interactive)
(if-let* ((filename (or buffer-file-name (bound-and-true-p list-buffers-directory))))
(message (kill-new (abbreviate-file-name filename)))
(error "Couldn't find filename in current buffer")))
;;;###autoload
(defmacro +default--def-browse-in! (name dir &optional prefix)
(let ((prefix (or prefix (cdr (doom-module-from-path (or load-file-name byte-compile-current-file))))))
`(defun ,(intern (format "+%s/browse-%s" prefix name)) ()
(interactive)
(doom-project-browse ,dir))))
;;;###autoload
(defmacro +default--def-find-in! (name dir &optional prefix)
(let ((prefix (or prefix (cdr (doom-module-from-path (or load-file-name byte-compile-current-file))))))
`(defun ,(intern (format "+%s/find-in-%s" prefix name)) ()
(interactive)
(doom-project-find-file ,dir))))
;;;###autoload (autoload '+default/browse-project "config/default/autoload/default" nil t)
(+default--def-browse-in! project (doom-project-root))
;; NOTE No need for find-in-project, use `projectile-find-file'
;;;###autoload (autoload '+default/find-in-templates "config/default/autoload/default" nil t)
(+default--def-find-in! templates +file-templates-dir)
;;;###autoload (autoload '+default/browse-templates "config/default/autoload/default" nil t)
(+default--def-browse-in! templates +file-templates-dir)
;;;###autoload (autoload '+default/find-in-emacsd "config/default/autoload/default" nil t)
(+default--def-find-in! emacsd doom-emacs-dir)
;;;###autoload (autoload '+default/browse-emacsd "config/default/autoload/default" nil t)
(+default--def-browse-in! emacsd doom-emacs-dir)
;;;###autoload (autoload '+default/find-in-notes "config/default/autoload/default" nil t)
(+default--def-find-in! notes +org-dir)
;;;###autoload (autoload '+default/browse-notes "config/default/autoload/default" nil t)
(+default--def-browse-in! notes +org-dir)
;;;###autoload (autoload '+default/find-in-snippets "config/default/autoload/default" nil t)
(+default--def-find-in! snippets +default-snippets-dir)
;; NOTE No need for a browse-snippets variant, use `yas-visit-snippet-file'