let set_syntax_mode v args =
let len = Array.length args in
if len > 0 then
let name = args.(0) in
try
let lang = List.find
(fun l -> l#get_name = name) languages_manager#get_available_languages
in
v#set_syntax_mode lang
with
Not_found ->
Ed_misc.error_message
(Printf.sprintf "Unknown syntax mode \"%s\"" name)
else
let f mode =
let com = Printf.sprintf "%s_set_syntax_mode %s"
factory_name (Filename.quote mode)
in
Cam_commands.eval_command com
in
let languages = List.map
(fun l -> l#get_name) languages_manager#get_available_languages
in
Ed_misc.select_string ~history: syntax_mode_history
v#minibuffer
~title: "Syntax mode"
~choices: languages
""
f