Chamo is a source code editor, even if it can be used to edit any text file.
Each window can be splitted vertically or horizontally ( la emacs) or using tabs ( la gedit) in different views. Navigating from one view to another is easy with commands boundable to combinations of keys. One can also store the position and layout of the windows and the list of open files, so that, the next time Chamo is launched, everything is restored at the same position.
A "minibuffer" la emacs with automatic completion is used to launch commands and indicating arguments for commands (when opening a file, doing some query/replace in a buffer, ...).
The text editing view uses GtkSourceView and so provides the following functionalities: support of internationalisation (UTF-8), syntax highlighting (with colors, fonts, ...) depending on the language (OCaml, C, C++, Makefile, ... or your own language description), undo/redo management, clipboard management, incremental forward/backward search, query/replace, history of pastable text ("kill-ring"), ...
A system of association of code to commands and of evaluation of commands (in a form similar to shell commands command arg1 arg2 ...) allows to add one's own functionalities. It is also possible to add and modify all key bindings, even specifically for each kind of view.
In the bytecode version of Chamo, the command "eval" takes in argument some OCaml code which is interpreted and allows to modify everything in the editor: adding modes, redefining commands, ..., the same way as with Lisp in Emacs. The command "eval_file" interprets all the OCaml code present in a file given in argument.
Â· GTK+ version 2.6.x
Â· Objective-Caml 3.09.X
Â· LablGtk 2.6
What's New in This Release:
Â· Handle the encoding of files (ability to specify an encoding when opening a file, ability to change the encoding of a file), keep the date when saving a file to be able to detect modifications of a file while it is edited in chamo, keep some buffer attributes in the chamo files, like the encoding, the mode, ... Several bug fixes.