Function: org-element-inline-src-block-parser

org-element-inline-src-block-parser is a byte-compiled function defined in org-element.el.gz.

Signature

(org-element-inline-src-block-parser)

Documentation

Parse inline source block at point, if any.

When at an inline source block, return a new syntax node of inline-src-block type containing :begin, :end, :language,
:value, :parameters and :post-blank as properties. Otherwise,
return nil.

Assume point is at the beginning of the inline source block.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
;;;; Inline Src Block

(defun org-element-inline-src-block-parser ()
  "Parse inline source block at point, if any.

When at an inline source block, return a new syntax node of
`inline-src-block' type containing `:begin', `:end', `:language',
`:value', `:parameters' and `:post-blank' as properties.  Otherwise,
return nil.

Assume point is at the beginning of the inline source block."
  (save-excursion
    (catch :no-object
      (when (let ((case-fold-search nil))
	      (looking-at "\\<src_\\([^ \t\n[{]+\\)[{[]"))
	(goto-char (match-end 1))
	(let ((begin (match-beginning 0))
	      (language (org-element--get-cached-string
                         (match-string-no-properties 1)))
	      (parameters
	       (let ((p (org-element--parse-paired-brackets ?\[)))
		 (and (org-string-nw-p p)
		      (replace-regexp-in-string "\n[ \t]*" " " (org-trim p)))))
	      (value (or (org-element--parse-paired-brackets ?\{)
			 (throw :no-object nil)))
	      (post-blank (skip-chars-forward " \t")))
	  (org-element-create
           'inline-src-block
	   (list :language language
		 :value value
		 :parameters parameters
		 :begin begin
		 :end (point)
		 :post-blank post-blank)))))))