From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=AWL autolearn=disabled version=3.1.3 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 7A5A6BC69 for ; Sun, 1 Jul 2007 13:22:13 +0200 (CEST) Received: from smtp5-g19.free.fr (smtp5-g19.free.fr [212.27.42.35]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l61BMDNO024946; Sun, 1 Jul 2007 13:22:13 +0200 Received: from [192.168.1.222] (vil93-4-82-227-140-227.fbx.proxad.net [82.227.140.227]) by smtp5-g19.free.fr (Postfix) with ESMTP id CD77244C33; Sun, 1 Jul 2007 13:22:12 +0200 (CEST) Message-ID: <46878E60.2030503@philippewang.info> Date: Sun, 01 Jul 2007 13:22:08 +0200 From: Philippe Wang User-Agent: Thunderbird 1.5.0.12 (Macintosh/20070509) MIME-Version: 1.0 To: Denis Bueno , ocaml ml , jocaml-list@inria.fr Subject: Re: Adding another "let ... in"-like construct for fontification/indentation References: <6dbd4d000706300957q58f5a758s3e6b42f14ebdc114@mail.gmail.com> In-Reply-To: <6dbd4d000706300957q58f5a758s3e6b42f14ebdc114@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-j-chkmail-Score: MSGID : 46878E65.001 on concorde : j-chkmail score : XXXXX : 10/20 0 0.000 -> 5 X-Miltered: at concorde with ID 46878E65.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; -like:01 def:01 emacs:01 tuareg:01 foo:01 def:01 foo:01 tuareg:01 regexp:01 regexp:01 jocaml:01 syntax:01 syntax:01 jocaml:01 bug:01 Denis Bueno wrote: > All, > > In tuareg-mode, is there a simple way to add support for indentation > for a new syntactic construct that behaves exactly like "let ... in > ..."? I'd like "def ... in ..." to behave the same way. I'm thinking > of some code I can stuff in my .emacs, hopefuly, as opposed to a > modification of tuareg.el. > > I'd like to be able to write: > > let foo a b = a + b in > def hi(x) = print_int x; 0 in > let bar x = x in > > > i.e. I'd like to interleave let .. in ... and def ... in ..., and have > them cooperate. > > I looked around tuareg.el and found a bunch of places where "let" is > mentioned in a regexp, and even found `tuareg-make-find-kwop-regexp', > whose doc string says "Make a custom indentation regexp". That doc > string seems like it's what I want, but that function has no side > effects, so clearly it's not the whole story. > > What I'm eventually shooting for is a tuareg mode that "knows" about > Jocaml syntax, since I'm fiddling around with that for the moment. > There are more new pieces of syntax on Jocaml (new keywords "spawn" > and "reply to") which seem pretty simple to support, but I haven't > thought about them very much. > > Thanks in advance. > Hi, I sent the following text last week but, I don't know why, it got lost... Well, I played a little bit with tuareg, to try to adapt it to JoCaml. The keywords are well colored (well, I think they are), but the indentation is not finished (well, let's say it : it's wrong). You can get what I have done if ever you are interested : http://philippewang.info/cs/misc/juareg-mode-1.46.2.tar.gz (there is in particular a bug : a function call finds nil... why why why is dynamic typing so mean with me...) Well, I've spent only a few minutes on it, plus a few hours trying to catch bugs, most of which I haven't caught. I have no idea if someone else is working on it, I just wanted to "play" with elisp... But I don't have time to continue right now, that's the reason why I give you the sources. Cheers, Philippe Wang mail[at]philippewang.info PS : if ever you want to compare tuareg sources with juareg sources, I suggest you apply : for i in * ; sed -i -e 's/juareg/tuareg/g' -e 's/jocaml/ocaml/g' $i ; done on the sources first. The advantage in naming it juareg instead of tuareg is that it can be used without interfering with tuareg.