From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id CB996BB84 for ; Tue, 25 Jul 2006 02:10:09 +0200 (CEST) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.186]) by nez-perce.inria.fr (8.13.6/8.13.6) with ESMTP id k6P0A9eY004195 for ; Tue, 25 Jul 2006 02:10:09 +0200 Received: by nf-out-0910.google.com with SMTP id g2so67767nfe for ; Mon, 24 Jul 2006 17:10:04 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=KvPl0AOWsm3p5WUgIpXmdUAUcZyIv5y0I24YZtN5kmQ6CU2unpdGcsD7FxZ68o/rtJiYOgAQjmx6moXZLEGVqQZwJVQhitPy2I48AQIG9MVJgKhw3601c1ZNBzYdJD8IVRfIghnaPdVArVOGD2fVFSjFNKQw4njqlukjLOSJZwU= Received: by 10.78.170.17 with SMTP id s17mr2021998hue; Mon, 24 Jul 2006 17:10:04 -0700 (PDT) Received: by 10.78.142.16 with HTTP; Mon, 24 Jul 2006 17:10:04 -0700 (PDT) Message-ID: <9d3ec8300607241710k6c05eb89t78b1687b7ae38e47@mail.gmail.com> Date: Tue, 25 Jul 2006 02:10:04 +0200 From: "Till Varoquaux" To: "Mike Lin" Subject: Re: [Caml-list] ocaml+twt 0.85 Cc: caml-list@yquem.inria.fr In-Reply-To: <2a1a1a0c0607241639x7272d1aeoc88ddec8912f9715@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1907_32382386.1153786204720" References: <2a1a1a0c0607241639x7272d1aeoc88ddec8912f9715@mail.gmail.com> X-j-chkmail-Score: MSGID : 44C56161.000 on nez-perce : j-chkmail score : X : 0/20 1 X-Miltered: at nez-perce with ID 44C56161.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 tuareg:01 tuareg:01 ocaml:01 lambda:01 syntax:01 usefull:01 0.85:98 caml-list:01 lisp:01 lisp:01 caml:02 caml:02 blank:97 consistent:02 X-Attachments: type="text/x-emacs-lisp" cset="ANSI_X3.4-1968" name="caml+twt.el" name="caml+twt.el" X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=DNS_FROM_RFC_ABUSE,RCVD_BY_IP autolearn=disabled version=3.0.3 ------=_Part_1907_32382386.1153786204720 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline I did a quick hack to Tuareg to get indentation working in python-mode like way. You will find the el file here enclosed. To autoload I use the following (warning to lisp lovers: this is very ugly, I'm just getting started with elisp). (autoload 'tuareg-mode "tuareg" "Major mode for editing Caml code" t) (autoload 'caml+twt-mode "caml+twt" "Major mode for editing Caml+twt code" t) (defun start-mlmode () (when (save-excursion (progn (goto-char (point-min)) (looking-at "(\\*pp ocaml\\+twt\\*)[:blank:]*") ) ) (caml+twt-mode) ;;(tuareg-mode) ) (remove-hook 'find-file-hook 'start-mlmode 1) ) (add-hook 'tuareg-load-hook ( lambda ()(add-hook 'find-file-hook 'start-mlmode 1)) Which will switch over to caml+twt mode on opening a file with a .ml extension only if the first line is: (*pp ocaml+twt*) (this is consistent with OCamlMakefile). Syntax highlighting of comments doesn't work anymore. Hope this turns out usefull to someone. Till P.S. Mike, I sent you a mail about this mode a while back but I never got an answer. If some lisp addict could clean it up I think it should go in the distribtion of ocaml+twt. ------=_Part_1907_32382386.1153786204720 Content-Type: text/x-emacs-lisp; name=caml+twt.el; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_eq1i1lv3 Content-Disposition: attachment; filename="caml+twt.el" OzsgQWxpc3Qgb2YgcG9zc2libGUgaW5kZW50YXRpb25zIGFuZCBzdGFydCBvZiBzdGF0ZW1lbnQg dGhleSB3b3VsZCBjbG9zZS4KKGRlZnZhciBjYW1sK3R3dC1pbmRlbnQtbGlzdCBuaWwKICAiSW50 ZXJuYWwgdXNlLiIpCjs7IExlbmd0aCBvZiB0aGUgYWJvdmUKKGRlZnZhciBjYW1sK3R3dC1pbmRl bnQtbGlzdC1sZW5ndGggbmlsCiAgIkludGVybmFsIHVzZS4iKQo7OyBDdXJyZW50IGluZGV4IGlu dG8gdGhlIGFsaXN0LgooZGVmdmFyIGNhbWwrdHd0LWluZGVudC1pbmRleCBuaWwKICAiSW50ZXJu YWwgdXNlLiIpCgo7O2JlaGF2ZXMgbGlrZSB2aW0ncyBhdXRvaW5kZW50CihkZWZ1biBjYW1sK3R3 dC1pbmRlbnQtbGluZS0xICgpCiAgKGxldCAoKHRhcmdldCAKCSAoc2F2ZS1leGN1cnNpb24KCSAg IChiZWdpbm5pbmctb2YtbGluZSkKCSAgIChpZiAoYm9icCkKCSAgICAgICA7O0lmIHRoaXMgaXMg dGhlIGZpcnN0IGxpbmUgdGhlbiBpdCBzaG91bGQgYmUgc2V0IHRvIDAKCSAgICAgICAwCgkgICAg IChmb3J3YXJkLWxpbmUgLTEpCgkgICAgIDs7QmVnaW4gbmF2aWdhdGluZyB0byBmaW5kIHRoZSBm aXJzdCBwcmV2aW91cyBub24gYmxhbmsgbGluZS4uLgoJICAgICAod2hpbGUgKGFuZCAobm90IChi b2JwKSkgKGxvb2tpbmctYXQgIls6Ymxhbms6XSpcbiIpKQoJICAgICAgIChmb3J3YXJkLWxpbmUg LTEpKQoJICAgICAoY3VycmVudC1pbmRlbnRhdGlvbikKCSAgICAgKQoJICAgKSkpCgkgKGJlZ2lu bmluZy1vZi1saW5lKQoJIChkZWxldGUtaG9yaXpvbnRhbC1zcGFjZSkKCSAoaW5kZW50LXRvIHRh cmdldCkpCiAgKQoKOztSaXBwZWQgb2YgcHl0aG9uLmVsIAooZGVmdW4gY2FtbCt0d3QtaW5kZW50 YXRpb24tbGV2ZWxzICgpCiAgKGxpc3QgKCsgMiAoY3VycmVudC1pbmRlbnRhdGlvbikpIAoJKGN1 cnJlbnQtaW5kZW50YXRpb24pKQopCgooZGVmdW4gY2FtbCt0d3QtaW5kZW50LWxpbmUgKCkKICAo aW50ZXJhY3RpdmUpCiAgKGlmIChlcSBsYXN0LWNvbW1hbmQgdGhpcy1jb21tYW5kKQogICAgICAo cHJvZ24gKHNldHEgY2FtbCt0d3QtaW5kZW50LWluZGV4ICglICgxKyBjYW1sK3R3dC1pbmRlbnQt aW5kZXgpCgkJCQkJICAgICBjYW1sK3R3dC1pbmRlbnQtbGlzdC1sZW5ndGgpKQoJICAgICAoYmVn aW5uaW5nLW9mLWxpbmUpCgkgICAgIChkZWxldGUtaG9yaXpvbnRhbC1zcGFjZSkKCSAgICAgKGlu ZGVudC10byAobnRoIGNhbWwrdHd0LWluZGVudC1pbmRleCBjYW1sK3R3dC1pbmRlbnQtbGlzdCkp CgkgICAgICkKICAgIChjYW1sK3R3dC1pbmRlbnQtbGluZS0xKQogICAgKHNldHEgY2FtbCt0d3Qt aW5kZW50LWxpc3QgKGNhbWwrdHd0LWluZGVudGF0aW9uLWxldmVscykKCSAgY2FtbCt0d3QtaW5k ZW50LWxpc3QtbGVuZ3RoIChsZW5ndGggY2FtbCt0d3QtaW5kZW50LWxpc3QpCgkgIGNhbWwrdHd0 LWluZGVudC1pbmRleCAoMS0gY2FtbCt0d3QtaW5kZW50LWxpc3QtbGVuZ3RoKSkpKQoKCihkZWZp bmUtZGVyaXZlZC1tb2RlIGNhbWwrdHd0LW1vZGUgdHVhcmVnLW1vZGUgInR1YXJlZyt0d3QgbW9k ZSIKIChzZXRxIGluZGVudC1saW5lLWZ1bmN0aW9uICdjYW1sK3R3dC1pbmRlbnQtbGluZSkKIChz ZXRxIGluZGVudC10YWJzLW1vZGUgJ25pbCkKIChydW4taG9va3MgJ2NhbWwrdHd0LW1vZGUtaG9v aykKICkKCihkZWZ1biBjYW1sK3R3dC1oZWxwICgpIChpbnRlcmFjdGl2ZSkKICAoZGVzY3JpYmUt ZnVuY3Rpb24gJ2NhbWwrdHd0LW1vZGUpKQoKOztlcnJvciB0cmFuc2xhdGluZyB3aXRoIG1hY3Jv cz8KOztNYXliZSBkZWZhZHZpY2UKOztodHRwOi8vd3d3LmJvb2tzaGVsZi5qcC90ZXhpL29ubGlz cC9vbmxpc3BfOC5odG1sI1NFQzUzCjs7Cjs7CgoocHJvdmlkZSAnY2FtbCt0d3QtbW9kZSkK ------=_Part_1907_32382386.1153786204720--