Re: [O] idea, in-line preview link
Good day all, On 05 Apr 2012, at 13:55, Christian Moe wrote: One of my first Lisp projects was a link type that behaves a bit like what you describe. I don't bother with placing the snippet inline, though, I just flash it as a message in the minibuffer. But I also leave it on the kill ring, so I can C-y it into my current buffer if I like. From a UX pov, changing the clipboard/kill-ring behind the user’s back is a bad thing to do, especially when the intention of the user action is only to have a quick look at that link. Suppose org-mode copied a whole sub-tree when all you did was to expand it... just in case you wanted to copy a piece of it. In my opinion, it’s better to provide an explicit command to copy/insert/open/... the content of that link. Cheers, Peter.
Re: [O] idea, in-line preview link
Hi, One of my first Lisp projects was a link type that behaves a bit like what you describe. I don't bother with placing the snippet inline, though, I just flash it as a message in the minibuffer. But I also leave it on the kill ring, so I can C-y it into my current buffer if I like. The following quick and dirty adaptation to your inlinefile idea comes with ABSOLUTELY NO WARRANTY. #+BEGIN_SRC elisp (defun my/org-inlinefile-get (file offset length) Copy the line at OFFSET and LENGTH extra lines from FILE. (let (beg) (save-excursion (with-temp-buffer (insert-file-contents file) (forward-line (1- offset)) ; Go to beg of range (setq beg (point)) (if length (progn (goto-line (+ offset length)) (kill-region beg (line-end-position))) (kill-line)) (yank) (defun my/org-inlinefile-open (path) Open a link by displaying the lines specified in PATH as a message and making them available for yanking. (let ((parts (split-string (org-no-properties path) \\(::\\|\\+\\))) file offset length beg) (setq file (car parts) offset (string-to-number (or (nth 1 parts) 0)) length (string-to-number (or (nth 2 parts) 0))) (my/org-inlinefile-get file offset length) (message (format %s\n%s path (current-kill 0) (org-add-link-type inlinefile 'my/org-inlinefile-open (lambda (path desc format) desc)) #+END_SRC Yours, Christian On 4/5/12 11:04 AM, Torsten Wagner wrote: Hi, recently I was wondering if org-mode could have some sort of inline link. This would allow quick check-ups on details without having more and more buffers open. That is a link to another text (org-file) including text position like [[file:~/code/main.c::255]] However instead of open a new buffer and jump to that line, I would like to see the line +x lines just below the link and possible only until I move the cursor or by any other means close the link again Thus [[inlinefile:~/code/main.c::255+4]] open it [[inlinefile:~/code/main.c::255+4]] 1. This is all code 2. from main.c 3. I can preview in org 4. without switching the buffer 5. is that useful?! close it again and the buffer looks again like [[inlinefile:~/code/main.c::255+4]] Actually, I believe it is fairly easy to implement for people knowing LISP just a bit better then me ;) What do you think Totti