Function: org-element-export-snippet-parser
org-element-export-snippet-parser is a byte-compiled function defined
in org-element.el.gz.
Signature
(org-element-export-snippet-parser)
Documentation
Parse export snippet at point.
When at an export snippet, return a new syntax node of
export-snippet type containing :begin, :end, :back-end,
:value and :post-blank as properties. Otherwise, return nil.
Assume point is at the beginning of the snippet.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
;;;; Export Snippet
(defun org-element-export-snippet-parser ()
"Parse export snippet at point.
When at an export snippet, return a new syntax node of
`export-snippet' type containing `:begin', `:end', `:back-end',
`:value' and `:post-blank' as properties. Otherwise, return nil.
Assume point is at the beginning of the snippet."
(save-excursion
(when (looking-at "@@\\([-A-Za-z0-9]+\\):")
(goto-char (match-end 0))
(let* ((begin (match-beginning 0))
(contents-begin (match-end 0))
(backend (org-element--get-cached-string
(match-string-no-properties 1)))
(contents-end
(when (re-search-forward "@@" nil t)
(match-beginning 0)))
(value
(when contents-end
(org-element-deferred-create
t #'org-element--substring
(- contents-begin begin)
(- contents-end begin))))
(post-blank (skip-chars-forward " \t"))
(end (point)))
(when contents-end ; No match when no trailing "@@".
(org-element-create
'export-snippet
(list :back-end backend
:value value
:begin begin
:end end
:post-blank post-blank)))))))