static View* EditView = NULL;
static int Pty_Fd = -1;
static bool DoScroll = 1;
+static char* PromptStr = NULL;
static char ReadBuf[BUFFERSZ+1] = {0};
static char ArgsBuf[BUFFERSZ+1] = {0};
static char InputBuf[BUFFERSZ+1] = {0};
{
chdir(&ArgsBuf[2]);
}
+ else if (ArgsBuf[0] == '0' && ArgsBuf[1] == ';')
+ {
+ free(PromptStr);
+ PromptStr = strdup(&ArgsBuf[2]);
+ }
}
else
{
{
EditView->buffer.selection.beg = EditView->buffer.point.end;
EditView->buffer.selection.end = EditView->buffer.point.end;
+ size_t plen = strlen(PromptStr);
+ if (PromptStr && !strncmp(PromptStr, cmd, plen))
+ {
+ cmd += plen;
+ }
view_putstr(EditView, cmd);
if (*cmd && cmd[strlen(cmd)-1] != '\n')
{