修改DL(n)宏,修复在使用上键回看历史记录时历史记录向右移动的问题
This commit is contained in:
parent
f2d49ad330
commit
4ac7518e43
|
@ -94,7 +94,7 @@ extern "C" {
|
||||||
#define DCH(n) "\x1B[%dP",n /* 删除字符 删除当前光标位置的 <n> 个字符,这会从屏幕右边缘以空格字符移动。*/
|
#define DCH(n) "\x1B[%dP",n /* 删除字符 删除当前光标位置的 <n> 个字符,这会从屏幕右边缘以空格字符移动。*/
|
||||||
#define ECH(n) "\x1B[%dX",n /* 擦除字符 擦除当前光标位置的 <n> 个字符,方法是使用空格字符覆盖它们。*/
|
#define ECH(n) "\x1B[%dX",n /* 擦除字符 擦除当前光标位置的 <n> 个字符,方法是使用空格字符覆盖它们。*/
|
||||||
#define IL(n) "\x1B[%dL",n /* 插入行 将 <n> 行插入光标位置的缓冲区。 光标所在的行及其下方的行将向下移动。*/
|
#define IL(n) "\x1B[%dL",n /* 插入行 将 <n> 行插入光标位置的缓冲区。 光标所在的行及其下方的行将向下移动。*/
|
||||||
#define DL(n) "\x1B[%dM",n /* 删除行 从缓冲区中删除 <n> 行,从光标所在的行开始。*/
|
#define DL(n) "\x1B[%dM\r",n /* 删除行 从缓冲区中删除 <n> 行,从光标所在的行开始。*/
|
||||||
|
|
||||||
/* 打印字体颜色设置 */
|
/* 打印字体颜色设置 */
|
||||||
#define TX_DEF "\x1b[0m"
|
#define TX_DEF "\x1b[0m"
|
||||||
|
|
|
@ -364,13 +364,11 @@ char* xcmd_display_get(void)
|
||||||
void xcmd_display_clear(void)
|
void xcmd_display_clear(void)
|
||||||
{
|
{
|
||||||
char *line = xcmd_display_get();
|
char *line = xcmd_display_get();
|
||||||
xcmd_put_str("\x1B[0M");
|
xcmd_print(DL(0));
|
||||||
#ifndef XCMD_DEFAULT_PROMPT_CLOLR
|
#ifndef XCMD_DEFAULT_PROMPT_CLOLR
|
||||||
xcmd_put_str(xcmd_get_prompt());
|
xcmd_put_str(xcmd_get_prompt());
|
||||||
#else
|
#else
|
||||||
xcmd_put_str(XCMD_DEFAULT_PROMPT_CLOLR);
|
xcmd_print(XCMD_DEFAULT_PROMPT_CLOLR "%s" TX_DEF, xcmd_get_prompt());
|
||||||
xcmd_put_str(xcmd_get_prompt());
|
|
||||||
xcmd_put_str(TX_DEF);
|
|
||||||
#endif
|
#endif
|
||||||
g_xcmder.parser.byte_num = 0;
|
g_xcmder.parser.byte_num = 0;
|
||||||
g_xcmder.parser.cursor = 0;
|
g_xcmder.parser.cursor = 0;
|
||||||
|
|
|
@ -73,7 +73,6 @@ static int xcmd_history_dw(void *pv)
|
||||||
xcmd_display_clear();
|
xcmd_display_clear();
|
||||||
if(line)
|
if(line)
|
||||||
{
|
{
|
||||||
|
|
||||||
xcmd_display_print(line);
|
xcmd_display_print(line);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue