emacs-orgmode
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]