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)))))))