doomemacs/modules/config/default/autoload/files.el

61 lines
2.1 KiB
EmacsLisp
Raw Normal View History

2019-12-23 17:20:19 -05:00
;;; config/default/autoload/files.el -*- lexical-binding: t; -*-
;;;###autoload
(defun +default/browse-project ()
"Browse files from the current project's root."
(interactive) (doom-project-browse (doom-project-root)))
;; NOTE No need for find-in-project, use `projectile-find-file'
;;;###autoload
(defun +default/browse-templates ()
"Browse files from `+file-templates-dir'."
(interactive) (doom-project-browse +file-templates-dir))
;;;###autoload
(defun +default/find-in-templates ()
"Find a file under `+file-templates-dir', recursively."
(interactive) (doom-project-find-file +file-templates-dir))
;;;###autoload
(defun +default/browse-notes ()
"Browse files from `org-directory'."
(interactive)
(unless (bound-and-true-p org-directory)
(require 'org))
(doom-project-browse org-directory))
2019-12-23 17:20:19 -05:00
;;;###autoload
(defun +default/find-in-notes ()
"Find a file under `org-directory', recursively."
(interactive)
(unless (bound-and-true-p org-directory)
(require 'org))
(doom-project-find-file org-directory))
2019-12-23 17:20:19 -05:00
;;;###autoload
(defun +default/find-file-under-here ()
"Perform a recursive file search from the current directory."
(interactive)
(if (featurep! :completion ivy)
(call-interactively #'counsel-file-jump)
(cmd! (doom-project-find-file default-directory))))
;;;###autoload
(defun +default/discover-projects (arg)
"Discover projects in `projectile-project-search-path'.
If prefix ARG is non-nil, prompt for the search path."
(interactive "P")
(if arg
(call-interactively #'projectile-discover-projects-in-directory)
(if projectile-project-search-path
(mapc #'projectile-discover-projects-in-directory projectile-project-search-path)
(user-error "`projectile-project-search-path' is empty; don't know where to search"))))
;;;###autoload
(defun +default/dired (arg)
"Open a directory in dired.
If prefix ARG is non-nil, prompt for a known project to open in dired."
(interactive "P")
(apply #'dired
(if arg
(list (completing-read "Open dired in project: " projectile-known-projects))
(dired-read-dir-and-switches ""))))