Mercurial > ~mikael > mcabber > hg
diff mcabber/src/commands.c @ 370:dd9e2eb52916
Add /buffer search_{backward,forward}
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 24 Jul 2005 22:56:42 +0100 |
parents | 499170ed71c9 |
children | bc54af8ed048 |
line wrap: on
line diff
--- a/mcabber/src/commands.c Sun Jul 24 22:31:31 2005 +0100 +++ b/mcabber/src/commands.c Sun Jul 24 22:56:42 2005 +0100 @@ -127,6 +127,8 @@ compl_add_category_word(COMPL_BUFFER, "bottom"); compl_add_category_word(COMPL_BUFFER, "clear"); compl_add_category_word(COMPL_BUFFER, "top"); + compl_add_category_word(COMPL_BUFFER, "search_backward"); + compl_add_category_word(COMPL_BUFFER, "search_forward"); // Group category compl_add_category_word(COMPL_GROUP, "fold"); @@ -564,14 +566,32 @@ static void do_buffer(char *arg) { + int search_dir = 0; + if (!strcasecmp(arg, "top")) { scr_BufferTopBottom(-1); } else if (!strcasecmp(arg, "bottom")) { scr_BufferTopBottom(1); } else if (!strcasecmp(arg, "clear")) { scr_BufferClear(); + } else if (!strncasecmp(arg, "search_backward", 15)) { + arg += 15; + if (*arg++ == ' ') + search_dir = -1; + else + scr_LogPrint("Missing parameter"); + } else if (!strncasecmp(arg, "search_forward", 14)) { + arg += 14; + if (*arg++ == ' ') + search_dir = 1; + else + scr_LogPrint("Missing parameter"); } else scr_LogPrint("Unrecognized parameter!"); + + // Is it a string search command? + if (search_dir) + scr_BufferSearch(search_dir, arg); } static void do_clear(char *arg) // Alias for "/buffer clear"