[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: [BABEL] Editing dot blocks with org-exp-blocks
From: |
Dan Davison |
Subject: |
[Orgmode] Re: [BABEL] Editing dot blocks with org-exp-blocks |
Date: |
Wed, 09 Feb 2011 16:14:41 +0000 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (darwin) |
Chris Maier <address@hidden> writes:
> I fixed my problem... had to dig around in the source of ob-dot.el,
> though, since it doesn't appear to be on the website [1]. There are
> some additional undocumented header parameters that ob-dot adds to the
> standard Babel params.
>
> With org-exp-blocks you do this:
>
> #+begin_dot foo.png -Tpng
> ... dot code ...
> #+end_dot
>
> With plain old Babel, you do this:
>
> #+begin_src dot :file foo.png :cmdline -Tpng
> ... dot code ...
> #+end_src
>
> Knowing this now, I'd argue for deprecating org-exp-blocks, too.
>
> Now my question changes slightly. With the src block configured as
> above, I can export and execute the code fine, but when I type C-c '
> to edit the Dot code in a separate buffer, it goes into fundamental
> mode, even though I have graphviz-dot-mode [2] installed and working
> fine. I suspect it might be because it's called "graphviz-dot-mode"
> instead of just "dot-mode" (that's just speculation on my part,
> though).
>
> Is there a way to explicitly associate an major mode with a particular
> kind of language block?
Hi Chris,
Yes, see the variable org-src-lang-modes. Use customize, or something
like this:
#+begin_src emacs-lisp
(aput 'org-src-lang-modes "dot" 'graphviz-dot)
#+end_src
(Elisp question: I can't remember why we don't use aput in org-mode?
What's the idiomatic org way of doing that?
This
#+begin_src emacs-lisp
(setq org-src-lang-modes
(append '(("dot" . graphviz-dot))
(delq (assoc "dot" org-src-lang-modes)
org-src-lang-modes)))
#+end_src
doesn't work if there's already more than one entry for "dot")
Dan
>
> Thanks,
> Chris
>
> [1] http://orgmode.org/worg/org-contrib/babel/languages.html
> [2]
> http://users.skynet.be/ppareit/projects/graphviz-dot-mode/graphviz-dot-mode.html
>
> On Wed, Feb 9, 2011 at 10:14 AM, Dan Davison <address@hidden> wrote:
>> Eric S Fraga <address@hidden> writes:
>>
>>> Chris Maier <address@hidden> writes:
>>>
>>>> The begin_dot is part of org-exp-blocks, as I understand it, and
>>>> appears required to make it evaluate the Dot code, create the image
>>>> file, and then incorporate that into the exported document (LaTeX,
>>>> HTML, etc.)
>>>>
>>>> Thanks,
>>>> Chris
>>>>
>>>> On Wed, Feb 9, 2011 at 3:56 AM, Eric S Fraga <address@hidden> wrote:
>>>>> Chris Maier <address@hidden> writes:
>>>>>
>>>>>> In "normal" Org code blocks (e.g. #+begin_src clojure .... #+end_src)
>>>>>> it's possible to hit C-c ' and edit the block code in a separate
>>>>>> buffer with the appropriate mode. This doesn't appear to work when
>>>>>> using org-exp-blocks to edit a "begin_dot" block.
>>>>>>
>>>>>> Is there a command to do this?
>>>>>
>>>>> No idea but what about using #+begin_src dot ... #+end_src?
>>>>> --
>>>>> : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
>>>>> : using Org-mode version 7.4 (release_7.4.324.gca7a)
>>>>>
>>>
>>> Yes, I know; I used to use begin_dot and begin_ditaa quite a bit. My
>>> understanding is that babel knows about dot and therefore provides the
>>> same functionality, albeit in a different way,
>>
>> I vote for removing / deprecating the dot and ditaa functionality of
>> org-exp-blocks.
>>
>>
>>> possibly more confusing
>>> but definitely more customisable and hence more powerful. babel gives
>>> you access to features such as fontification, mode specific editing,
>>> caching.
>>>
>>> I am not sure what the intended long term development for these special
>>> export blocks might be? org's long term growth (development of
>>> features) is organic and responsive, not planned per se (and I mean this
>>> in a positive way as planned software projects seldom achieve their
>>> goals...) so it may be that nobody can answer this question!
>>>
>>> In any case, I didn't mean to imply that you cannot continue using these
>>> specific export blocks or that they don't do the job they were intended
>>> for. Simply that maybe babel is the route to go if you want to be able
>>> to use mode specific editing.
>>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: [BABEL] Editing dot blocks with org-exp-blocks, Sébastien Vauban, 2011/02/09