From b98a78b34ae3d0686ebf2c9581db77c43314fc82 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Fri, 12 Jun 2015 01:18:39 -0400 Subject: project-filename-at-point: Support Org links --- lisp/init-projectile.el | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lisp') diff --git a/lisp/init-projectile.el b/lisp/init-projectile.el index c11a9e9..9c0ecc1 100644 --- a/lisp/init-projectile.el +++ b/lisp/init-projectile.el @@ -45,8 +45,13 @@ Interactive arguments are processed according to (defun km/project-filename-at-point () "Return file name relative to `projectile-project-root'." - (--when-let (thing-at-point 'filename) - (file-relative-name it (projectile-project-root)))) + (let* ((el (and (derived-mode-p 'org-mode) + (org-element-lineage (org-element-context) '(link) t))) + (fname (or (and (eq (org-element-type el) 'link) + (org-element-property :path el)) + (thing-at-point 'filename)))) + (when fname + (file-relative-name fname (projectile-project-root))))) (defun km/projectile-copy-project-filename-as-kill () "Copy name of project file. -- cgit v1.2.3