int weechat_lua_command_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, char **argv_eol) { char *ptr_name, *path_script; /* make C compiler happy */ (void) data; (void) buffer; if (argc == 1) { plugin_script_display_list (weechat_lua_plugin, lua_scripts, NULL, 0); } else if (argc == 2) { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_lua_plugin, lua_scripts, NULL, 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_lua_plugin, lua_scripts, NULL, 1); } else if (weechat_strcasecmp (argv[1], "autoload") == 0) { plugin_script_auto_load (weechat_lua_plugin, &weechat_lua_load_cb); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { weechat_lua_unload_all (); plugin_script_auto_load (weechat_lua_plugin, &weechat_lua_load_cb); } else if (weechat_strcasecmp (argv[1], "unload") == 0) { weechat_lua_unload_all (); } } else { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_lua_plugin, lua_scripts, argv_eol[2], 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_lua_plugin, lua_scripts, argv_eol[2], 1); } else if ((weechat_strcasecmp (argv[1], "load") == 0) || (weechat_strcasecmp (argv[1], "reload") == 0) || (weechat_strcasecmp (argv[1], "unload") == 0)) { ptr_name = argv_eol[2]; if (strncmp (ptr_name, "-q ", 3) == 0) { lua_quiet = 1; ptr_name += 3; while (ptr_name[0] == ' ') { ptr_name++; } } if (weechat_strcasecmp (argv[1], "load") == 0) { /* load Lua script */ path_script = plugin_script_search_path (weechat_lua_plugin, ptr_name); weechat_lua_load ((path_script) ? path_script : ptr_name); if (path_script) free (path_script); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { /* reload one Lua script */ weechat_lua_reload_name (ptr_name); } else if (weechat_strcasecmp (argv[1], "unload") == 0) { /* unload Lua script */ weechat_lua_unload_name (ptr_name); } lua_quiet = 0; } else { weechat_printf (NULL, weechat_gettext ("%s%s: unknown option for " "command \"%s\""), weechat_prefix ("error"), LUA_PLUGIN_NAME, "lua"); } } return WEECHAT_RC_OK; }
int weechat_python_command_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, char **argv_eol) { char *ptr_name, *path_script; /* make C compiler happy */ (void) data; (void) buffer; if (argc == 1) { plugin_script_display_list (weechat_python_plugin, python_scripts, NULL, 0); } else if (argc == 2) { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_python_plugin, python_scripts, NULL, 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_python_plugin, python_scripts, NULL, 1); } else if (weechat_strcasecmp (argv[1], "autoload") == 0) { plugin_script_auto_load (weechat_python_plugin, &weechat_python_load_cb); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { weechat_python_unload_all (); plugin_script_auto_load (weechat_python_plugin, &weechat_python_load_cb); } else if (weechat_strcasecmp (argv[1], "unload") == 0) { weechat_python_unload_all (); } else WEECHAT_COMMAND_ERROR; } else { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_python_plugin, python_scripts, argv_eol[2], 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_python_plugin, python_scripts, argv_eol[2], 1); } else if ((weechat_strcasecmp (argv[1], "load") == 0) || (weechat_strcasecmp (argv[1], "reload") == 0) || (weechat_strcasecmp (argv[1], "unload") == 0)) { ptr_name = argv_eol[2]; if (strncmp (ptr_name, "-q ", 3) == 0) { python_quiet = 1; ptr_name += 3; while (ptr_name[0] == ' ') { ptr_name++; } } if (weechat_strcasecmp (argv[1], "load") == 0) { /* load python script */ path_script = plugin_script_search_path (weechat_python_plugin, ptr_name); weechat_python_load ((path_script) ? path_script : ptr_name); if (path_script) free (path_script); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { /* reload one python script */ weechat_python_reload_name (ptr_name); } else if (weechat_strcasecmp (argv[1], "unload") == 0) { /* unload python script */ weechat_python_unload_name (ptr_name); } python_quiet = 0; } else WEECHAT_COMMAND_ERROR; } return WEECHAT_RC_OK; }
int weechat_guile_command_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, char **argv_eol) { char *ptr_name, *path_script; SCM value; /* make C compiler happy */ (void) data; (void) buffer; if (argc == 1) { plugin_script_display_list (weechat_guile_plugin, guile_scripts, NULL, 0); } else if (argc == 2) { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_guile_plugin, guile_scripts, NULL, 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_guile_plugin, guile_scripts, NULL, 1); } else if (weechat_strcasecmp (argv[1], "autoload") == 0) { plugin_script_auto_load (weechat_guile_plugin, &weechat_guile_load_cb); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { weechat_guile_unload_all (); plugin_script_auto_load (weechat_guile_plugin, &weechat_guile_load_cb); } else if (weechat_strcasecmp (argv[1], "unload") == 0) { weechat_guile_unload_all (); } else return WEECHAT_RC_ERROR; } else { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_guile_plugin, guile_scripts, argv_eol[2], 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_guile_plugin, guile_scripts, argv_eol[2], 1); } else if ((weechat_strcasecmp (argv[1], "load") == 0) || (weechat_strcasecmp (argv[1], "reload") == 0) || (weechat_strcasecmp (argv[1], "unload") == 0)) { ptr_name = argv_eol[2]; if (strncmp (ptr_name, "-q ", 3) == 0) { guile_quiet = 1; ptr_name += 3; while (ptr_name[0] == ' ') { ptr_name++; } } if (weechat_strcasecmp (argv[1], "load") == 0) { /* load guile script */ path_script = plugin_script_search_path (weechat_guile_plugin, ptr_name); weechat_guile_load ((path_script) ? path_script : ptr_name); if (path_script) free (path_script); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { /* reload one guile script */ weechat_guile_reload_name (ptr_name); } else if (weechat_strcasecmp (argv[1], "unload") == 0) { /* unload guile script */ weechat_guile_unload_name (ptr_name); } guile_quiet = 0; } else if (weechat_strcasecmp (argv[1], "eval") == 0) { /* eval guile code */ value = weechat_guile_catch (scm_c_eval_string, argv_eol[2]); if (!SCM_EQ_P (value, SCM_UNDEFINED) && !SCM_EQ_P (value, SCM_UNSPECIFIED)) { scm_display (value, guile_port); } weechat_guile_stdout_flush (); } else return WEECHAT_RC_ERROR; } return WEECHAT_RC_OK; }
int weechat_js_command_cb (const void *pointer, void *data, struct t_gui_buffer *buffer, int argc, char **argv, char **argv_eol) { char *ptr_name, *ptr_code, *path_script; int i, send_to_buffer_as_input, exec_commands; /* make C++ compiler happy */ (void) pointer; (void) data; if (argc == 1) { plugin_script_display_list (weechat_js_plugin, js_scripts, NULL, 0); } else if (argc == 2) { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_js_plugin, js_scripts, NULL, 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_js_plugin, js_scripts, NULL, 1); } else if (weechat_strcasecmp (argv[1], "autoload") == 0) { plugin_script_auto_load (weechat_js_plugin, &weechat_js_load_cb); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { weechat_js_unload_all (); plugin_script_auto_load (weechat_js_plugin, &weechat_js_load_cb); } else if (weechat_strcasecmp(argv[1], "unload") == 0) { weechat_js_unload_all (); } else if (weechat_strcasecmp (argv[1], "version") == 0) { plugin_script_display_interpreter (weechat_js_plugin, 0); } else WEECHAT_COMMAND_ERROR; } else { if (weechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (weechat_js_plugin, js_scripts, argv_eol[2], 0); } else if (weechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (weechat_js_plugin, js_scripts, argv_eol[2], 1); } else if ((weechat_strcasecmp (argv[1], "load") == 0) || (weechat_strcasecmp (argv[1], "reload") == 0) || (weechat_strcasecmp (argv[1], "unload") == 0)) { ptr_name = argv_eol[2]; if (strncmp (ptr_name, "-q ", 3) == 0) { js_quiet = 1; ptr_name += 3; while (ptr_name[0] == ' ') { ptr_name++; } } if (weechat_strcasecmp (argv[1], "load") == 0) { /* load javascript script */ path_script = plugin_script_search_path (weechat_js_plugin, ptr_name); weechat_js_load ((path_script) ? path_script : ptr_name, NULL); if (path_script) free (path_script); } else if (weechat_strcasecmp (argv[1], "reload") == 0) { /* reload one javascript script */ weechat_js_reload_name (ptr_name); } else if (weechat_strcasecmp (argv[1], "unload") == 0) { /* unload javascript script */ weechat_js_unload_name (ptr_name); } js_quiet = 0; } else if (weechat_strcasecmp (argv[1], "eval") == 0) { send_to_buffer_as_input = 0; exec_commands = 0; ptr_code = argv_eol[2]; for (i = 2; i < argc; i++) { if (argv[i][0] == '-') { if (strcmp (argv[i], "-o") == 0) { if (i + 1 >= argc) WEECHAT_COMMAND_ERROR; send_to_buffer_as_input = 1; exec_commands = 0; ptr_code = argv_eol[i + 1]; } else if (strcmp (argv[i], "-oc") == 0) { if (i + 1 >= argc) WEECHAT_COMMAND_ERROR; send_to_buffer_as_input = 1; exec_commands = 1; ptr_code = argv_eol[i + 1]; } } else break; } if (!weechat_js_eval (buffer, send_to_buffer_as_input, exec_commands, ptr_code)) WEECHAT_COMMAND_ERROR; /* TODO: implement /javascript eval */ weechat_printf (NULL, _("%sCommand \"/%s eval\" is not yet implemented"), weechat_prefix ("error"), weechat_js_plugin->name); } else WEECHAT_COMMAND_ERROR; } return WEECHAT_RC_OK; }
int dogechat_js_command_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, char **argv_eol) { char *ptr_name, *path_script; /* make C++ compiler happy */ (void) data; (void) buffer; if (argc == 1) { plugin_script_display_list (dogechat_js_plugin, js_scripts, NULL, 0); } else if (argc == 2) { if (dogechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (dogechat_js_plugin, js_scripts, NULL, 0); } else if (dogechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (dogechat_js_plugin, js_scripts, NULL, 1); } else if (dogechat_strcasecmp (argv[1], "autoload") == 0) { plugin_script_auto_load (dogechat_js_plugin, &dogechat_js_load_cb); } else if (dogechat_strcasecmp (argv[1], "reload") == 0) { dogechat_js_unload_all (); plugin_script_auto_load (dogechat_js_plugin, &dogechat_js_load_cb); } else if (dogechat_strcasecmp(argv[1], "unload")) { dogechat_js_unload_all (); } } else { if (dogechat_strcasecmp (argv[1], "list") == 0) { plugin_script_display_list (dogechat_js_plugin, js_scripts, argv_eol[2], 0); } else if (dogechat_strcasecmp (argv[1], "listfull") == 0) { plugin_script_display_list (dogechat_js_plugin, js_scripts, argv_eol[2], 1); } else if ((dogechat_strcasecmp (argv[1], "load") == 0) || (dogechat_strcasecmp (argv[1], "reload") == 0) || (dogechat_strcasecmp (argv[1], "unload") == 0)) { ptr_name = argv_eol[2]; if (strncmp (ptr_name, "-q ", 3) == 0) { js_quiet = 1; ptr_name += 3; while (ptr_name[0] == ' ') { ptr_name++; } } if (dogechat_strcasecmp (argv[1], "load") == 0) { /* load javascript script */ path_script = plugin_script_search_path (dogechat_js_plugin, ptr_name); dogechat_js_load ((path_script) ? path_script : ptr_name); if (path_script) free (path_script); } else if (dogechat_strcasecmp (argv[1], "reload") == 0) { /* reload one javascript script */ dogechat_js_reload_name (ptr_name); } else if (dogechat_strcasecmp (argv[1], "unload") == 0) { /* unload javascript script */ dogechat_js_unload_name (ptr_name); } js_quiet = 0; } else DOGECHAT_COMMAND_ERROR; } return DOGECHAT_RC_OK; }