* ox-taskjuggler.el (org-taskjuggler-trim-ids-from-titles): new custom
(org-taskjuggler--build-task): trim task ids from titles, when the new
custom variable asks for this (enabled by default).
---
 contrib/lisp/ox-taskjuggler.el | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/contrib/lisp/ox-taskjuggler.el b/contrib/lisp/ox-taskjuggler.el
index d49db62..bca3dc1 100644
--- a/contrib/lisp/ox-taskjuggler.el
+++ b/contrib/lisp/ox-taskjuggler.el
@@ -374,6 +374,11 @@ task buckets, while still sharing the same resources pool."
   :group 'org-export-taskjuggler
   :type 'boolean)
 
+(defcustom org-taskjuggler-trim-ids-from-titles t
+  "Non-NIL trims the part detected as prefix from resulting task titles."
+  :group 'org-export-taskjuggler
+  :type 'boolean)
+
 
 

 ;;; Hooks
@@ -887,9 +892,16 @@ a unique id will be associated to it."
                               (- org-lowest-priority 
org-highest-priority)))))))))
     (concat
      ;; Opening task.
-     (format "task %s \"%s\" {\n"
-             (org-taskjuggler-get-id task info)
-             (org-taskjuggler-get-name task))
+     (let* ((id           (org-taskjuggler-get-id task info))
+           (raw-name     (org-taskjuggler-get-name task))
+           (id-len       (length id))
+           (raw-name-len (length raw-name))
+           (name         (if org-taskjuggler-trim-ids-from-titles
+                             (if (= raw-name-len id-len)
+                                 raw-name
+                                 (subseq raw-name (1+ id-len)))
+                             raw-name)))
+       (format "task %s \"%s\" {\n" id name))
      ;; Add default attributes.
      (and depends
           (format "  depends %s\n"
-- 
2.5.0

Reply via email to