Version française
Home     About     Download     Resources     Contact us    
Browse thread
Favorite OCaml editor?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Maxence Guesdon <maxence.guesdon@i...>
Subject: Re: [Caml-list] Favorite OCaml editor?
Le Tue, 5 Jan 2010 11:23:53 +0000,
Jon Harrop <jon@ffconsultancy.com> a écrit :

> On Tuesday 05 January 2010 08:45:04 Maxence Guesdon wrote:
> > My favorite editor is Chamo:
> >   http://home.gna.org/cameleon/chamo.en.html
> 
> Nice! Why do you prefer it?
> 

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
  
It seems to fit points 1-7 of Daniel's list :)

Maxence