Function: org-edit-inline-src-code

org-edit-inline-src-code is an interactive and byte-compiled function defined in org-src.el.gz.

Signature

(org-edit-inline-src-code)

Documentation

Edit inline source code at point.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-src.el.gz
(defun org-edit-inline-src-code ()
  "Edit inline source code at point."
  (interactive)
  (let ((context (org-element-context)))
    (unless (and (eq (org-element-type context) 'inline-src-block)
		 (org-src--on-datum-p context))
      (user-error "Not on inline source code"))
    (let* ((lang (org-element-property :language context))
	   (lang-f (org-src-get-lang-mode lang))
	   (babel-info (org-babel-get-src-block-info 'no-eval))
	   deactivate-mark)
      (unless (functionp lang-f) (error "No such language mode: %s" lang-f))
      (org-src--edit-element
       context
       (org-src--construct-edit-buffer-name (buffer-name) lang)
       lang-f
       (lambda ()
	 ;; Inline source blocks are limited to one line.
	 (while (re-search-forward "\n[ \t]*" nil t) (replace-match " "))
	 ;; Trim contents.
	 (goto-char (point-min))
	 (skip-chars-forward " \t")
	 (delete-region (point-min) (point))
	 (goto-char (point-max))
	 (skip-chars-backward " \t")
	 (delete-region (point) (point-max))))
      ;; Finalize buffer.
      (setq org-src--babel-info babel-info)
      (setq org-src--preserve-indentation t)
      (let ((edit-prep-func (intern (concat "org-babel-edit-prep:" lang))))
	(when (fboundp edit-prep-func) (funcall edit-prep-func babel-info)))
      ;; Return success.
      t)))