static char *cistrstr(const char *s, const char *sub);
static void cleanup(void);
static void dinput(void);
-static void drawitem(char *s, unsigned long col[ColLast]);
+static void drawitem(const char *s, unsigned long col[ColLast]);
static void drawmenuh(void);
static void drawmenuv(void);
static void match(void);
/* print prompt? */
if(prompt) {
dc.w = promptw;
+ drawbox(&dc, selcol);
drawtext(&dc, prompt, selcol);
dc.x += dc.w;
}
}
void
-drawitem(char *s, unsigned long col[ColLast]) {
+drawitem(const char *s, unsigned long col[ColLast]) {
+ const char *p;
+ unsigned int w = textnw(&dc, text, strlen(text));
+
drawbox(&dc, col);
drawtext(&dc, s, col);
+ for(p = fstrstr(s, text); *text && (p = fstrstr(p, text)); p++)
+ drawline(&dc, textnw(&dc, s, p-s) + dc.h/2 - 1, dc.h-2, w, 1, col);
}
void