[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] Re: Enhancing the Org/Gnus experience
From: |
Eric Schulte |
Subject: |
Re: [Orgmode] Re: Enhancing the Org/Gnus experience |
Date: |
Sun, 31 Oct 2010 11:30:29 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Hi Seb,
This is really great. I finally folded it into my gnus setup, and while
it looks great when it works, I was getting frequent errors throw by the
org-mode fontification engine recursing too deeply. I've changed it to
the following which augments what you sent with some simple error
handling.
** Org-mode code block fontification
Correctly fontify Org-mode attachments
#+begin_src emacs-lisp
(add-to-list 'mailcap-mime-extensions '(".org" . "text/org"))
(add-to-list 'mm-automatic-display "text/org")
(add-to-list 'mm-inline-media-tests
'("text/org" my-display-org-inline
(lambda (el) t)))
(defun my-display-org-inline (handle)
(condition-case nil
(mm-display-inline-fontify handle 'org-mode)
(error
(insert (with-temp-buffer (mm-insert-part handle) (buffer-string))
"\n"))))
#+end_src
Update =org-src-lang-modes= to provide some leeway for posters
#+begin_src emacs-lisp
(add-to-list 'org-src-lang-modes
'("elisp" . emacs-lisp))
(add-to-list 'org-src-lang-modes
'("emacs_lisp" . emacs-lisp))
#+end_src
Fontify code blocks in the text of messages
#+begin_src emacs-lisp
(defun my-mm-org-babel-src-extract ()
(mm-make-handle (mm-uu-copy-to-buffer start-point end-point) '("text/org")))
(add-to-list 'mm-uu-type-alist
'(org-src-block
"^[ \t]*#\\+begin_"
"^[ \t]*#\\+end_"
my-mm-org-babel-src-extract
nil))
(mm-uu-configure)
#+end_src
Best -- Eric
Sébastien Vauban <address@hidden> writes:
> Hi,
>
>> "Eric Schulte" wrote:
>>> Sébastien Vauban <address@hidden> writes:
>>>> I don't have in mind full fontification like we now have in Org. No: *just
>>>> the basic yellow background*, so that code blocks are outstanding in any
>>>> mail, exactly *like it is now* but for the "cut here" markers (or "v+/v-").
>>>
>>> While we're at it, why not go all the way to full fontification code block
>>> fontification? Is the current code in org-src portable enough to be applied
>>> to this (or maybe be applied whenever org-struct mode is enabled)?
>>
>> Yes, we can!?
>>
>> No idea... Maybe David could answer on such a topic?
>>
>>
>>>> Though, I don't know where to begin... Can some Org/Gnus expert give a
>>>> hint?
>>>
>>> This strays out of my narrow areas of expertise, but I hereby throw my +1
>>> onto the request.
>>
>> Playing a bit around, I've succeeded to make it work for the blocks, and
>> almost for the results.
>
> Put this in your .emacs file:
>
> ;; regexp matching TeX groups
> (setq mm-uu-tex-groups-regexp ".*")
>
> (eval-after-load "mm-uu"
> '(progn
> (add-to-list 'mailcap-mime-extensions '(".org" . "text/org"))
> (add-to-list 'mm-automatic-display "text/org")
> ;; (add-to-list 'mm-inlined-types "text/org")
> (add-to-list 'mm-inline-media-tests
> '("text/org"
> my-display-org-inline
> identity))
>
> (defun my-display-org-inline (handle)
> (mm-display-inline-fontify handle 'org-mode))
>
> (defun my-mm-org-babel-src-extract ()
> (mm-make-handle (mm-uu-copy-to-buffer start-point end-point)
> '("text/org")
> nil nil
> (list mm-dissect-disposition
> (cons 'filename "Org Babel source file"))))
>
> (add-to-list 'mm-uu-type-alist
> '(org-babel-block
> "^#\\+begin_"
> "^#\\+end_"
> ;; (lambda nil
> ;; (mm-uu-verbatim-marks-extract 0 0))
> my-mm-org-babel-src-extract
> nil))
> (mm-uu-configure)))
>
> This is an enhanced version of what I sent previously: here, the identified
> block is highlighted as an Org-mode buffer. In other words, it's not in yellow
> background anymore, but really using the faces you've customized for such an
> Org-Babel block in a standard Org buffer.
>
>
>> What'd be an good extra is the colorization of such =org-verbatim= strings...
>
> Still true; no clue for that one...
>
> Best regards,
> Seb