On May 25, 2009, at 3:18 AM, Sebastian Rose wrote:
Wow, this is great!
And yes, it indeed makes sense to hide other blocks too, e.g. big
ditaa
blocks or #+BEGIN_HTML when working on LaTeX stuff (here a `S-TAB'
action would be great, that hides all blocks of that sort at once).
In fact, I changed the `org-block-hide-src-block-regexp' to
"#\\+begin_\\w+ \\(.+\\)[ \t]*\\([ \t]+\\([^\n]+\\)\\)?\n\\([^
\000]+?\\)#\\+end_src"
:-) This is not going to work. You need to capture the block type
into a regexp group and then use a back reference like "#\\+end_\\1"
at the end.
"#\\+begin_\\w+ \\(.+\\)[ \t]*\\([ \t]+\\([^\n]+\\)\\)?\n\\([^
\000]+?\\)#\\+end_src"
- Carsten
Thanks for this wonderfull snippet!
Sebastian
"Eric Schulte" <schulte.e...@gmail.com> writes:
Hi,
The attached file should implement this feature, just load the file
and
then press tab while at the beginning of a source block. Note that
it
requires a newish version of org-mode which includes the
`org-tab-first-hook' variable.
Maybe this would make sense for all org blocks, not just src blocks?
Cheers -- Eric
;;; org-block-hide --- hide src blocks in org-mode files
(defvar org-block-hide-src-block-regexp "#\\+begin_src \\(.+\\)
[ \t]*\\([ \t]+\\([^\n]+\\)\\)?\n\\([^\000]+?\\)#\\+end_src")
(defun org-block-hide-ui-src-block-cycle-maybe ()
(let ((case-fold-search t))
(if (save-excursion
(beginning-of-line 1)
(looking-at org-block-hide-src-block-regexp))
(progn (call-interactively 'org-block-hide-ui-src-block-cycle)
t) ;; to signal that we took action
nil))) ;; to signal that we did not
(defun org-block-hide-ui-src-block-cycle ()
"Cycle the visibility of the current source code block"
(interactive)
;; should really do this once in an (org-mode hook)
(add-to-invisibility-spec '(org-block-hide-ui . t))
(message "trying out source block")
(save-excursion
(beginning-of-line)
(if (re-search-forward org-block-hide-src-block-regexp nil t)
(let ((start (- (match-beginning 4) 1)) ;; beginning of body
(end (match-end 0))) ;; end of entire body
(if (memq t (mapcar (lambda (overlay)
(eq (overlay-get overlay 'invisible)
'org-block-hide-ui))
(overlays-at start)))
(remove-overlays start end 'invisible 'org-block-hide-
ui)
(overlay-put (make-overlay start end) 'invisible 'org-
block-hide-ui)))
(error "not looking at a source block"))))
;; org-tab-after-check-for-cycling-hook
(add-hook 'org-tab-first-hook 'org-block-hide-ui-src-block-cycle-
maybe)
emacs-orgmode@gnu.org writes:
Hello,
I perhaps have missed it in the manual, but, would it be possible to
cycle visibility in blocks like in the example below ?
#+BEGIN_something
blah blah blah
blah
blah blah
and so much blah yet to come
#+END_something
becomes
#+BEGIN_something
...
#+END_something
It could help when you have those big BEGIN_SRC getting in the way.
Thanks.
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode