From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id A30F1BBAF for ; Tue, 5 Jan 2010 12:28:09 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlkGAJawQktQDPIbZmdsb2JhbACBRYIal3MNCxAUA6lHjUmBLIIuVgQ X-IronPort-AV: E=Sophos;i="4.47,505,1257116400"; d="scan'208";a="40786142" Received: from smtp20.orange.fr ([80.12.242.27]) by mail2-smtp-roc.national.inria.fr with ESMTP; 05 Jan 2010 12:28:09 +0100 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2009.orange.fr (SMTP Server) with ESMTP id F161A1C03079; Tue, 5 Jan 2010 12:28:08 +0100 (CET) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2009.orange.fr (SMTP Server) with ESMTP id DAA781C035D2; Tue, 5 Jan 2010 12:28:08 +0100 (CET) Received: from haddock.home (ADijon-158-1-42-15.w92-130.abo.wanadoo.fr [92.130.57.15]) by mwinf2009.orange.fr (SMTP Server) with ESMTP id CF3211C03079; Tue, 5 Jan 2010 11:51:03 +0100 (CET) X-ME-UUID: 20100105105103848.CF3211C03079@mwinf2009.orange.fr X-ME-User-Auth: maxence.guesdon Date: Tue, 5 Jan 2010 11:50:22 +0100 From: Maxence Guesdon To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Favorite OCaml editor? Message-ID: <20100105115022.6943ebd6@haddock.home> In-Reply-To: <201001051123.53171.jon@ffconsultancy.com> References: <756daca51001042203w3c6a397cx6a5d594c28855a4d@mail.gmail.com> <20100105094504.5e427eba@haddock.home> <201001051123.53171.jon@ffconsultancy.com> X-Mailer: Claws Mail 3.7.3 (GTK+ 2.18.4; i486-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; maxence:01 guesdon:01 maxence:01 guesdon:01 ocaml:01 cameleon:01 ocaml:01 syntax:01 ocamldoc:01 syntax:01 lexer:01 parser:01 compilation:01 cameleon:01 snippets:01 Le Tue, 5 Jan 2010 11:23:53 +0000, Jon Harrop a =C3=A9crit : > On Tuesday 05 January 2010 08:45:04 Maxence Guesdon wrote: > > My favorite editor is Chamo: > > http://home.gna.org/cameleon/chamo.en.html >=20 > Nice! Why do you prefer it? >=20 1. It is written in OCaml and I can extend it with OCaml code to fit my needs :-) 2. It already provides: - syntax highlighting (based on the underlying gtksourceview widget, which is quite limited but is simple to use) - standard edition features (search, query-replace, transpose words, ...) - powerful layout: horizontal or vertical split, tabs, "recursively" - a system of views to edit each file with specific view (for example, there is a view to browse ocamldoc dumps) - an ocaml mode with: + some automatic indentation, even if it stops on syntax errors and sometimes get confused (it is based on a lexer and a stack, not a parser) + launching compilation process and jumping to error and/or warning locations, + analyze of stack traces output to allow me to jump at each point of the trace (see http://home.gna.org/cameleon/snippets.en.html) + using .annot files to display types of expressions, + a predefined command to switch between .ml and .mli file, - some other modes (latex, R, ChangeLog, Makefile) 3. Additional plugins can be easily defined, like the oug plugin: http://home.gna.org/oug/gettingstarted.en.html#gs:cameleon 4. One can improve the display of a source file to get advantage of UTF8 characters, like in the Greek-ocaml extension: http://home.gna.org/cameleon/snippets.en.html =20 It seems to fit points 1-7 of Daniel's list :) Maxence