[Haskell-cafe] emacs literate haskell mode

Mathijs Kwik mathijs at bluescreen303.nl
Wed Sep 28 08:25:21 CEST 2011

I tried mmm-mode with a few configurations, but I get into trouble
when using other haskell-mode features. Also, the wiki page on
haskell-mode ( http://www.haskell.org/haskellwiki/Haskell_mode_for_Emacs#Literate_Haskell
) specifically mentions mmm-mode tricks are not needed anymore and
shouldn't be used.

Its built-in support does a great job to keep all code blocks working
the way I want, but the latex parts are just dead text.

I wouldn't mind to switch manually, as most of the time I'm either
coding (touching only small parts of latex), or writing (leaving the
code parts as-is).
However, latex mode seems to trip over certain code parts ($ sign in
haskell code for example).
So it seems it's not smart enough to just ignore code blocks.

Probably I need to look into latex mode a bit more, so it becomes
off-topic for this list.

Thanks for your help

On Wed, Sep 28, 2011 at 1:27 AM, Ivan Lazar Miljenovic
<ivan.miljenovic at gmail.com> wrote:
> On 28 September 2011 07:42, Rogan Creswick <creswick at gmail.com> wrote:
>> On Tue, Sep 27, 2011 at 11:24 AM, Mathijs Kwik <mathijs at bluescreen303.nl> wrote:
>>> Hi all,
>>> I'm using haskell-mode for emacs and I'm using it to open a literate
>>> haskell file which uses latex.
>>> This works fine, haskell code has syntax highlighting, and special
>>> symbols like lambda get used.
>>> However, the latex itself is dull and gree, no highlighting/coloring there.
>>> Does anyone know if it's possible to turn on latex highlighting in
>>> literate haskell mode?
>>> I tried switching to latex-mode, which does the trick (but it chokes
>>> on the haskell code inbetween), so I'm pretty sure emacs has
>>> everything it needs, but haskell-mode needs to enable this somehow.
>> I'm not certain this /is/ easily in Emacs capabilities.  Emacs isn't
>> really set up to support more than one major mode at a time -- there
>> is, however, an extension that can do this.  The challenge is defining
>> the start and end of the areas of each 'mode' in the buffer; I've
>> never had very much success, but depending on the delimiters used in
>> the literal haskell syntax you're working with, you may be able to set
>> it up:
>> http://www.emacswiki.org/emacs/MultipleModes
> There's a more detailed listing at configurations, etc. at:
> * http://www.haskell.org/haskellwiki/Literate_programming#Multi-mode_support_in_Emacs
> * haskell-latex.el at http://www.loveshack.ukfsn.org/emacs/ (mentioned
> in the MultipleModes page on the emacs wiki)
> But in general, I agree: multiple modes suck in Emacs.  I tried all of
> the available attempts at multiple modes when trying to get Markdown +
> literate Haskell working, the best I could get was using multi-mode.el
> (and there are still a few glitches).
> In general, Emacs tends to go a bit nuts when it's time to switch modes :/
> --
> Ivan Lazar Miljenovic
> Ivan.Miljenovic at gmail.com
> IvanMiljenovic.wordpress.com

More information about the Haskell-Cafe mailing list