修改了xcmd部分源码,修复了一些问题

This commit is contained in:
hqm 2021-11-23 10:44:37 +08:00
parent 492c9eee10
commit bfc400fc89
3 changed files with 28 additions and 31 deletions

View File

@ -35,7 +35,7 @@ typedef struct __key
/**
* @description:
* @description:
* @param {func*} get_c
* @param {func*} put_c
* @return {*}
@ -67,17 +67,17 @@ int xcmd_key_register(xcmd_key_t* keys, uint16_t number);
/**
* @description: next指针可以遍历所有指令
* @param {xcmd_key_t*} keys
* @param {uint16_t} number
* @return {int}
* @param {*}
* @param {}
* @return {xcmd_t *}
*/
xcmd_t *xcmd_cmdlist_get(void);
/**
* @description: next指针可以遍历所有案件
* @param {xcmd_key_t*} keys
* @param {uint16_t} number
* @return {int}
* @description: next指针可以遍历所有按键
* @param {*}
* @param {}
* @return {xcmd_key_t *}
*/
xcmd_key_t *xcmd_keylist_get(void);
@ -104,8 +104,6 @@ int xcmd_exec(char *str);
/**
* @description:
* @param {char*} str
* @return
*/
void xcmd_print(const char *fmt, ...);
void xcmd_put_str(const char *str);
@ -153,13 +151,6 @@ char* xcmd_display_get(void);
void xcmd_display_print(const char *fmt, ...);
void xcmd_display_write(const char* buf, uint16_t len);
/**
* @description:
* @param {*}
* @return {*}
*/
char* xcmd_display_line_end(void);
/**
* @description:
* @param {*}
@ -225,6 +216,13 @@ char *xcmd_history_current(void);
*/
void xcmd_history_slider_reset(void);
/**
* @description:
* @param {*}
* @return {*}
*/
char* xcmd_end_of_input(void);
#ifdef __cplusplus
}
#endif

View File

@ -266,7 +266,7 @@ static uint8_t xcmd_rcv_encode(uint8_t byte)
return ret;
}
char* xcmd_display_line_end(void)
char* xcmd_end_of_input(void)
{
char* ret = g_xcmder.parser.display_line;
if(g_xcmder.parser.byte_num)
@ -335,16 +335,14 @@ void xcmd_print(const char *fmt, ...)
void xcmd_display_write(const char* buf, uint16_t len)
{
xcmd_display_clear();
if(len > XCMD_LINE_MAX_LENGTH)
{
len = XCMD_LINE_MAX_LENGTH;
}
memcpy(g_xcmder.parser.display_line, buf, len);
g_xcmder.parser.display_line[len] = '\0';
xcmd_put_str(g_xcmder.parser.display_line);
g_xcmder.parser.byte_num = len;
g_xcmder.parser.cursor = len;
for(uint16_t i=0; i<len; i++)
{
xcmd_display_insert_char(buf[i]);
}
}
void xcmd_display_print(const char *fmt, ...)

View File

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-09-15 00:11:50
* @LastEditTime: 2021-10-12 14:58:23
* @LastEditTime: 2021-10-27 09:16:27
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /xcmd/src/xcmd_default_keys.c
@ -31,7 +31,7 @@ static int xcmd_del_char(void *pv)
static int xcmd_enter(void *pv)
{
char *cmd = xcmd_display_line_end();
char *cmd = xcmd_end_of_input();
xcmd_print("\n\r");
if(cmd[0])
{
@ -70,14 +70,12 @@ static int xcmd_cursor_right(void *pv)
static int xcmd_history_dw(void *pv)
{
char *line = xcmd_history_prev();
xcmd_display_clear();
if(line)
{
xcmd_display_print(line);
}
else
{
xcmd_display_clear();
}
return 0;
}
@ -86,6 +84,7 @@ static int xcmd_history_up(void *pv)
char *line = xcmd_history_next();
if(line)
{
xcmd_display_clear();
xcmd_display_print(line);
}
return 0;
@ -133,11 +132,13 @@ static int xcmd_auto_completion(void *pv)
if(match_num == 1)
{
xcmd_display_print("%s ", match_cmd_first->name);
xcmd_display_clear();
xcmd_display_print("%s", match_cmd_first->name);
}
else if(match_num > 1)
{
xcmd_print("\r\n");
xcmd_display_clear();
xcmd_display_write(match_cmd_first->name, match_subscript_min);
}
return 0;