(*********************************************************************************) |
(* Cameleon *)
(* *)
(* Copyright (C) 2005,2006 Institut National de Recherche en Informatique *)
(* et en Automatique. All rights reserved. *)
(* *)
(* This program is free software; you can redistribute it and/or modify *)
(* it under the terms of the GNU Library General Public License as *)
(* published by the Free Software Foundation; either version 2 of the *)
(* License, or any later version. *)
(* *)
(* This program is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Library General Public License for more details. *)
(* *)
(* You should have received a copy of the GNU Library General Public *)
(* License along with this program; if not, write to the Free Software *)
(* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *)
(* 02111-1307 USA *)
(* *)
(* Contact: Maxence.Guesdon@inria.fr *)
(* *)
(*********************************************************************************) |
(** ChangeLog sourceview mode. *) |
let _ = Ed_mode_changelog_rc.read ()
let _ = Ed_mode_changelog_rc.write ()
let mode_name = Ed_mode_changelog_rc.mode_name
let new_day_entry (v : Ed_sourceview.sourceview) args =
let username = Cam_commands.safe_get_global "username" in
let usermail = Cam_commands.safe_get_global "usermail" in
let date =
let t = Unix.localtime (Unix.time ()) in
Printf.sprintf "%04d-%02d-%02d"
(t.Unix.tm_year + 1900) (t.Unix.tm_mon+1) t.Unix.tm_mday
in
v#set_location (0,0);
let s = Printf.sprintf "%s %s <%s>\n\n\t* \n\n"
date username usermail
in
v#insert s
let coms = [
"new_day_entry", [| |], None, new_day_entry ;
]
let _ = List.iter
(fun (name, args, more, f) ->
Ed_sourceview.register_com
~prefix: mode_name name args ?more f)
coms
class mode =
object
inherit Ed_sourceview.empty_mode
method name = mode_name
method key_bindings : (Okey.keyhit_state * string) list =
Ed_mode_changelog_rc.key_bindings#get
method menus : (string * GToolbox.menu_entry list) list = []
end
let mode = new mode
let _ = Ed_sourceview.register_mode mode