[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: Enhancing the Org/Gnus experience
From: |
Dan Davison |
Subject: |
[Orgmode] Re: Enhancing the Org/Gnus experience |
Date: |
Sun, 31 Oct 2010 20:57:29 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hi Seb,
Wow, magic. I've totally got no idea how it works, but thanks!
Dan
"Eric Schulte" <address@hidden> writes:
> 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
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode