now able to open file links

This commit is contained in:
Eric Schulte 2009-07-24 21:54:17 -06:00
parent 3692c4b3a5
commit f4f626e3e1
2 changed files with 10 additions and 8 deletions

View file

@ -364,7 +364,7 @@ buffer or nil if no such result exists."
(concat "#\\+resname:[ \t]*" (regexp-quote name) "[ \t\n\f\v\r]") nil t) (concat "#\\+resname:[ \t]*" (regexp-quote name) "[ \t\n\f\v\r]") nil t)
(move-beginning-of-line 1) (point)))) (move-beginning-of-line 1) (point))))
(defun org-babel-where-is-src-block-result () (defun org-babel-where-is-src-block-result (&optional insert)
"Return the point at the beginning of the result of the current "Return the point at the beginning of the result of the current
source block. Specifically at the beginning of the #+RESNAME: source block. Specifically at the beginning of the #+RESNAME:
line. If no result exists for this block then create a line. If no result exists for this block then create a
@ -383,7 +383,7 @@ line. If no result exists for this block then create a
(or (progn ;; either an unnamed #+resname: line already exists (or (progn ;; either an unnamed #+resname: line already exists
(re-search-forward "[^ \f\t\n\r\v]" nil t) (re-search-forward "[^ \f\t\n\r\v]" nil t)
(move-beginning-of-line 1) (looking-at "#\\+resname:")) (move-beginning-of-line 1) (looking-at "#\\+resname:"))
(progn ;; or we need to back up and make one ourselves (when insert ;; or (with optional insert) we need to back up and make one ourselves
(goto-char end) (open-line 2) (forward-char 1) (goto-char end) (open-line 2) (forward-char 1)
(insert (concat "#+resname:" (if name (concat " " name)))) (insert (concat "#+resname:" (if name (concat " " name))))
(move-beginning-of-line 1) t))) (move-beginning-of-line 1) t)))
@ -445,7 +445,7 @@ silent -- no results are inserted"
(string-equal (substring result -1) "\r")))) (string-equal (substring result -1) "\r"))))
(setq result (concat result "\n"))) (setq result (concat result "\n")))
(save-excursion (save-excursion
(let ((existing-result (org-babel-where-is-src-block-result))) (let ((existing-result (org-babel-where-is-src-block-result t)))
(when existing-result (goto-char existing-result) (forward-line 1))) (when existing-result (goto-char existing-result) (forward-line 1)))
(if (stringp result) ;; assume the result is a table if it's not a string (if (stringp result) ;; assume the result is a table if it's not a string
(if (member "file" insert) (if (member "file" insert)
@ -470,10 +470,10 @@ source code block, otherwise return nil."
(goto-char (or (org-babel-where-is-src-block-result) (goto-char (or (org-babel-where-is-src-block-result)
(progn (org-babel-execute-src-block) (progn (org-babel-execute-src-block)
(org-babel-where-is-src-block-result)))) (org-babel-where-is-src-block-result))))
(move-end-of-line 1) (forward-char 1)
;; open the results ;; open the results
(if (looking-at org-bracket-link-regexp) (if (looking-at org-bracket-link-regexp)
;; file (org-open-at-point) ;; file
(org-open-at-point)
;; vector or scalar ;; vector or scalar
(let ((results (org-babel-read-result))) (let ((results (org-babel-read-result)))
(pop-to-buffer (get-buffer-create "org-babel-results")) (pop-to-buffer (get-buffer-create "org-babel-results"))
@ -491,7 +491,7 @@ relies on `org-babel-insert-result'."
"Remove the result of the current source block." "Remove the result of the current source block."
(interactive) (interactive)
(save-excursion (save-excursion
(goto-char (org-babel-where-is-src-block-result)) (forward-line 1) (goto-char (org-babel-where-is-src-block-result t)) (forward-line 1)
(delete-region (point) (org-babel-result-end)))) (delete-region (point) (org-babel-result-end))))
(defun org-babel-result-end () (defun org-babel-result-end ()

View file

@ -207,7 +207,7 @@ would then be [[#sandbox][the sandbox]].
#+end_src #+end_src
* Tasks [37/59] * Tasks [36/58]
** PROPOSED raise elisp error when source-blocks return errors ** PROPOSED raise elisp error when source-blocks return errors
Not sure how/if this would work, but it may be desirable. Not sure how/if this would work, but it may be desirable.
@ -453,7 +453,7 @@ In interactive use we might want to allow the user to choose between
screen and file output. In non-interactive use such as export, it screen and file output. In non-interactive use such as export, it
would be file output (subject to the :exports directives). would be file output (subject to the :exports directives).
** TODO =\C-c \C-o= to open results of source block ** STARTED =\C-c \C-o= to open results of source block
by adding a =defadvice= to =org-open-at-point= we can use the common by adding a =defadvice= to =org-open-at-point= we can use the common
=\C-c \C-o= keybinding to open the results of a source-code block. =\C-c \C-o= keybinding to open the results of a source-code block.
This would be especially useful for source-code blocks which generate This would be especially useful for source-code blocks which generate
@ -477,6 +477,8 @@ This could also act reasonably with other results types...
#+end_src #+end_src
#+resname: #+resname:
[[file:blue.png][blue.png]]
** TODO Finalise behaviour regarding vector/scalar output ** TODO Finalise behaviour regarding vector/scalar output