예제 #1
0
void
cli_style_option::add_setshow_commands (const char *name,
					enum command_class theclass,
					const char *prefix_doc,
					struct cmd_list_element **set_list,
					void (*do_set) (const char *args,
							int from_tty),
					struct cmd_list_element **show_list,
					void (*do_show) (const char *args,
							 int from_tty))
{
  m_set_prefix = std::string ("set style ") + name + " ";
  m_show_prefix = std::string ("show style ") + name + " ";

  add_prefix_cmd (name, no_class, do_set, prefix_doc, &m_set_list,
		  m_set_prefix.c_str (), 0, set_list);
  add_prefix_cmd (name, no_class, do_show, prefix_doc, &m_show_list,
		  m_show_prefix.c_str (), 0, show_list);

  add_setshow_enum_cmd ("foreground", theclass, cli_colors,
			&m_foreground,
			_("Set the foreground color for this property"),
			_("Show the foreground color for this property"),
			nullptr,
			nullptr,
			do_show_foreground,
			&m_set_list, &m_show_list, (void *) name);
  add_setshow_enum_cmd ("background", theclass, cli_colors,
			&m_background,
			_("Set the background color for this property"),
			_("Show the background color for this property"),
			nullptr,
			nullptr,
			do_show_background,
			&m_set_list, &m_show_list, (void *) name);
  add_setshow_enum_cmd ("intensity", theclass, cli_intensities,
			&m_intensity,
			_("Set the display intensity for this property"),
			_("Show the display intensity for this property"),
			nullptr,
			nullptr,
			do_show_intensity,
			&m_set_list, &m_show_list, (void *) name);
}
예제 #2
0
void
_initialize_cli_logging (void)
{
  static struct cmd_list_element *set_logging_cmdlist, *show_logging_cmdlist;

  
  add_prefix_cmd ("logging", class_support, set_logging_command,
		  "Set logging options", &set_logging_cmdlist,
		  "set logging ", 0, &setlist);
  add_prefix_cmd ("logging", class_support, show_logging_command,
		  "Show logging options", &show_logging_cmdlist,
		  "show logging ", 0, &showlist);
  add_setshow_boolean_cmd ("overwrite", class_support, &logging_overwrite,
			   "Set whether logging overwrites or appends "
			   "to the log file.\n",
			   "Show whether logging overwrites or appends "
			   "to the log file.\n",
			   NULL, NULL, &set_logging_cmdlist, &show_logging_cmdlist);
  add_setshow_boolean_cmd ("redirect", class_support, &logging_redirect,
			   "Set the logging output mode.\n"
			   "If redirect is off, output will go to both the "
			   "screen and the log file.\n"
			   "If redirect is on, output will go only to the log "
			   "file.",
			   "Show the logging output mode.\n"
			   "If redirect is off, output will go to both the "
			   "screen and the log file.\n"
			   "If redirect is on, output will go only to the log "
			   "file.",
			   NULL, NULL, &set_logging_cmdlist, &show_logging_cmdlist);
  add_setshow_cmd ("file", class_support, var_filename, &logging_filename,
		   "Set the current logfile.", "Show the current logfile.",
		   NULL, NULL, &set_logging_cmdlist, &show_logging_cmdlist);
  add_cmd ("on", class_support, set_logging_on,
	   "Enable logging.", &set_logging_cmdlist);
  add_cmd ("off", class_support, set_logging_off,
	   "Disable logging.", &set_logging_cmdlist);

  logging_filename = xstrdup ("gdb.txt");
}
예제 #3
0
void
_initialize_tui_regs (void)
{
    struct cmd_list_element **tuicmd;

    tuicmd = tui_get_cmd_list ();

    add_prefix_cmd ("reg", class_tui, tui_reg_command,
                    _("TUI commands to control the register window."),
                    &tuireglist, "tui reg ", 0,
                    tuicmd);

    add_cmd ("float", class_tui, tui_reg_float_command,
             _("Display only floating point registers."),
             &tuireglist);
    add_cmd ("general", class_tui, tui_reg_general_command,
             _("Display only general registers."),
             &tuireglist);
    add_cmd ("system", class_tui, tui_reg_system_command,
             _("Display only system registers."),
             &tuireglist);
    add_cmd ("next", class_tui, tui_reg_next_command,
             _("Display next register group."),
             &tuireglist);

    if (xdb_commands)
    {
        add_com ("fr", class_tui, tui_reg_float_command,
                 _("Display only floating point registers\n"));
        add_com ("gr", class_tui, tui_reg_general_command,
                 _("Display only general registers\n"));
        add_com ("sr", class_tui, tui_reg_system_command,
                 _("Display only special registers\n"));
        add_com ("+r", class_tui, tui_scroll_regs_forward_command,
                 _("Scroll the registers window forward\n"));
        add_com ("-r", class_tui, tui_scroll_regs_backward_command,
                 _("Scroll the register window backward\n"));
    }
}
예제 #4
0
void
_initialize_macrocmd (void)
{
  struct cmd_list_element *c;

  /* We introduce a new command prefix, `macro', under which we'll put
     the various commands for working with preprocessor macros.  */
  add_prefix_cmd
    ("macro", class_info, macro_command,
     "Prefix for commands dealing with C preprocessor macros.",
     &macrolist, "macro ", 0, &cmdlist);

  add_cmd
    ("expand", no_class, macro_expand_command,
     "Fully expand any C/C++ preprocessor macro invocations in EXPRESSION.\n"
     "Show the expanded expression.",
     &macrolist);
  add_alias_cmd ("exp", "expand", no_class, 1, &macrolist);
  add_cmd
    ("expand-once", no_class, macro_expand_once_command,
     "Expand C/C++ preprocessor macro invocations appearing directly in"
     " EXPRESSION.\n"
     "Show the expanded expression.\n"
     "\n"
     "This command differs from `macro expand' in that it only expands macro\n"
     "invocations that appear directly in EXPRESSION; if expanding a macro\n"
     "introduces further macro invocations, those are left unexpanded.\n"
     "\n"
     "`macro expand-once' helps you see how a particular macro expands,\n"
     "whereas `macro expand' shows you how all the macros involved in an\n"
     "expression work together to yield a pre-processed expression.",
     &macrolist);
  add_alias_cmd ("exp1", "expand-once", no_class, 1, &macrolist);

  add_cmd
    ("macro", no_class, info_macro_command,
     "Show the definition of MACRO, and its source location.",
     &infolist);

  add_cmd
    ("define", no_class, macro_define_command,
     "Define a new C/C++ preprocessor macro.\n"
     "The GDB command `macro define DEFINITION' is equivalent to placing a\n"
     "preprocessor directive of the form `#define DEFINITION' such that the\n"
     "definition is visible in all the inferior's source files.\n"
     "For example:\n"
     "  (gdb) macro define PI (3.1415926)\n"
     "  (gdb) macro define MIN(x,y) ((x) < (y) ? (x) : (y))",
     &macrolist);

  add_cmd
    ("undef", no_class, macro_undef_command,
     "Remove the definition of the C/C++ preprocessor macro with the"
     " given name.",
     &macrolist);

  add_cmd
    ("list", no_class, macro_list_command,
     "List all the macros defined using the `macro define' command.",
     &macrolist);

  user_macros = new_macro_table (0, 0);
}