let popup_syntax_mode_choice v args =
  let com s =
    Cam_commands.eval_command
      (Printf.sprintf "%s_set_syntax_mode %s"
       factory_name (Filename.quote s))
  in
  let entries = List.map
    (fun l ->
       `I (l#get_name, (fun () -> com l#get_name))
    )
      (Gtksv_utils.sort_languages_by_name languages_manager#get_available_languages)
  in
  GToolbox.popup_menu
    ~button: 1
    ~time: (Int32.zero)
    ~entries