mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-25 13:32:52 +00:00
org-element: Allow inlinetasks to be commented and archived
* lisp/org-element.el (org-element-inlinetask-parser): Parse inlinetasks closer to headings. In particular, recognize COMMENT keyword and ARCHIVE tag in inlinetasks on parser level. * testing/lisp/test-org.el (test-org/comment-dwim): Add tests for inlinetasks and for uncommenting headings. Reported-by: Alain.Cochard@unistra.fr Link: https://orgmode.org/list/25508.20192.899342.932809@gargle.gargle.HOWL
This commit is contained in:
parent
318807013c
commit
f138810065
|
@ -1365,7 +1365,16 @@ Assume point is at beginning of the inline task."
|
|||
(priority (and (looking-at "\\[#.\\][ \t]*")
|
||||
(progn (goto-char (match-end 0))
|
||||
(aref (match-string 0) 2))))
|
||||
(title-start (point))
|
||||
(commentedp
|
||||
(and (let ((case-fold-search nil))
|
||||
(looking-at org-element-comment-string))
|
||||
(goto-char (match-end 0))
|
||||
(when (looking-at-p "\\(?:[ \t]\\|$\\)")
|
||||
(point))))
|
||||
(title-start (prog1 (point)
|
||||
(unless (or todo priority commentedp)
|
||||
;; Headline like "* :tag:"
|
||||
(skip-chars-backward " \t"))))
|
||||
(tags (when (re-search-forward
|
||||
"[ \t]+\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$"
|
||||
(line-end-position)
|
||||
|
@ -1375,6 +1384,7 @@ Assume point is at beginning of the inline task."
|
|||
(title-end (point))
|
||||
(raw-value (org-trim
|
||||
(buffer-substring-no-properties title-start title-end)))
|
||||
(archivedp (member org-element-archive-tag tags))
|
||||
(task-end (save-excursion
|
||||
(end-of-line)
|
||||
(and (re-search-forward org-element-headline-re limit t)
|
||||
|
@ -1410,7 +1420,9 @@ Assume point is at beginning of the inline task."
|
|||
:todo-keyword todo
|
||||
:todo-type todo-type
|
||||
:post-blank (1- (count-lines (or task-end begin) end))
|
||||
:post-affiliated begin)
|
||||
:post-affiliated begin
|
||||
:archivedp archivedp
|
||||
:commentedp commentedp)
|
||||
time-props
|
||||
standard-props))))
|
||||
(org-element-put-property
|
||||
|
|
|
@ -175,6 +175,26 @@
|
|||
(org-test-with-temp-text "* Test"
|
||||
(call-interactively #'org-comment-dwim)
|
||||
(buffer-string))))
|
||||
;; Uncomment a heading
|
||||
(should
|
||||
(equal "* Test"
|
||||
(org-test-with-temp-text "* COMMENT Test"
|
||||
(call-interactively #'org-comment-dwim)
|
||||
(buffer-string))))
|
||||
;; Comment an inlinetask
|
||||
(should
|
||||
(equal "*** COMMENT Test"
|
||||
(let ((org-inlinetask-min-level 3))
|
||||
(org-test-with-temp-text "*** Test"
|
||||
(call-interactively #'org-comment-dwim)
|
||||
(buffer-string)))))
|
||||
;; Uncomment an inlinetask
|
||||
(should
|
||||
(equal "*** Test"
|
||||
(let ((org-inlinetask-min-level 3))
|
||||
(org-test-with-temp-text "*** COMMENT Test"
|
||||
(call-interactively #'org-comment-dwim)
|
||||
(buffer-string)))))
|
||||
;; In a source block, use appropriate syntax.
|
||||
(should
|
||||
(equal " ;; "
|
||||
|
|
Loading…
Reference in a new issue