let register_com ~prefix name args ?more f =
let name = Printf.sprintf "%s_%s" prefix name in
let f args =
match !active_sourceview with
None -> ()
| Some v -> f v args
in
let c = { Cam_commands.com_name = name ;
com_args = args ;
com_more_args = more ;
com_f = f ;
}
in
Cam_commands.register c