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 list whose car is inline-src-block and cdr a plist with :begin, :end,
:language, :value, :parameters and :post-blank as
keywords. 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 list whose car is
`inline-src-block' and cdr a plist with `:begin', `:end',
`:language', `:value', `:parameters' and `:post-blank' as
keywords.  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 (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")))
	  (list 'inline-src-block
		(list :language language
		      :value value
		      :parameters parameters
		      :begin begin
		      :end (point)
		      :post-blank post-blank)))))))