I'm using ivy and projectile.
When I search for some file with projectile-find-file, and the file does not exist, I would it to be created.
If it is inside directories that also do not exist, ask if create those directories.
How to do that?
I found that some old code for helm https://www.reddit.com/r/emacs/comments/3m8i5r/helmprojectile_quickly_findcreate_new_file_in/
and that it's already commited https://github.com/bbatsov/helm-projectile/commit/1f0dc42645f006e925718785b9abc6991b7ce2c4.
I have such function for
(defun my-create-non-existent-directory () (let ((parent-directory (file-name-directory buffer-file-name))) (when (and (not (file-exists-p parent-directory)) (y-or-n-p (format "Directory `%s' does not exist! Create it?" parent-directory))) (make-directory parent-directory t)) ;; wait until directory is created (while (not (file-directory-p parent-directory)) (sleep-for 1))) ;; https://stackoverflow.com/questions/2592095/how-do-i-create-an-empty-file-in-emacs/11990694#11990694 (shell-command (concat "touch " (shell-quote-argument (buffer-file-name))))) (add-to-list 'find-file-not-found-functions #'my-create-non-existent-directory)