Function: org-man-inline-src-block
org-man-inline-src-block is a byte-compiled function defined in
ox-man.el.gz.
Signature
(org-man-inline-src-block INLINE-SRC-BLOCK CONTENTS INFO)
Documentation
Transcode an INLINE-SRC-BLOCK element from Org to Man.
CONTENTS holds the contents of the item. INFO is a plist holding contextual information.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ox-man.el.gz
;;; Horizontal Rule
;; Not supported
;;; Inline Babel Call
;;
;; Inline Babel Calls are ignored.
;;; Inline Src Block
(defun org-man-inline-src-block (inline-src-block _contents info)
"Transcode an INLINE-SRC-BLOCK element from Org to Man.
CONTENTS holds the contents of the item. INFO is a plist holding
contextual information."
(let* ((code (org-element-property :value inline-src-block)))
(cond
((plist-get info :man-source-highlight)
(let* ((tmpdir temporary-file-directory)
(in-file (make-temp-name
(expand-file-name "srchilite" tmpdir)))
(out-file (make-temp-name
(expand-file-name "reshilite" tmpdir)))
(org-lang (org-element-property :language inline-src-block))
(lst-lang
(and org-lang
(cadr (assq (intern org-lang)
(plist-get info :man-source-highlight-langs)))))
(cmd (concat (expand-file-name "source-highlight")
" -s " lst-lang
" -f groff_man"
" -i " in-file
" -o " out-file )))
(if lst-lang
(let ((code-block "" ))
(with-temp-file in-file (insert code))
(shell-command cmd)
(setq code-block (org-file-contents out-file))
(delete-file in-file)
(delete-file out-file)
code-block)
(format ".RS\n.nf\n\\fC%s\\m[]\\fP\n.fi\n.RE\n"
(org-man--protect-example code)))))
;; Do not use a special package: transcode it verbatim.
(t
(concat ".RS\n.nf\n" "\\fC" "\n" (org-man--protect-example code) "\n"
"\\fP\n.fi\n.RE\n")))))