add prompt output when start and remove the empty history
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@562 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
parent
bd5399d04e
commit
3052a549ef
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* The license and distribution terms for this file may be
|
* The license and distribution terms for this file may be
|
||||||
* found in the file LICENSE in this distribution or at
|
* found in the file LICENSE in this distribution or at
|
||||||
* http://openlab.rt-thread.com/license/LICENSE
|
* http://www.rt-thread.org/license/LICENSE
|
||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* The license and distribution terms for this file may be
|
* The license and distribution terms for this file may be
|
||||||
* found in the file LICENSE in this distribution or at
|
* found in the file LICENSE in this distribution or at
|
||||||
* http://openlab.rt-thread.com/license/LICENSE
|
* http://www.rt-thread.org/license/LICENSE
|
||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
* 2006-09-24 Bernard remove the code related with hardware
|
* 2006-09-24 Bernard remove the code related with hardware
|
||||||
* 2010-01-18 Bernard fix down then up key bug.
|
* 2010-01-18 Bernard fix down then up key bug.
|
||||||
* 2010-03-19 Bernard fix backspace issue and fix device read in shell.
|
* 2010-03-19 Bernard fix backspace issue and fix device read in shell.
|
||||||
|
* 2010-04-01 Bernard add prompt output when start and remove the empty history
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
@ -184,10 +185,10 @@ void finsh_auto_complete(char* prefix)
|
||||||
rt_kprintf("\n");
|
rt_kprintf("\n");
|
||||||
list_prefix(prefix);
|
list_prefix(prefix);
|
||||||
rt_kprintf("finsh>>%s", prefix);
|
rt_kprintf("finsh>>%s", prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
void finsh_run_line(struct finsh_parser *parser, const char* line)
|
void finsh_run_line(struct finsh_parser *parser, const char* line)
|
||||||
{
|
{
|
||||||
rt_kprintf("\n");
|
rt_kprintf("\n");
|
||||||
finsh_parser_run(parser, (unsigned char*)line);
|
finsh_parser_run(parser, (unsigned char*)line);
|
||||||
|
|
||||||
|
@ -223,9 +224,9 @@ void finsh_run_line(struct finsh_parser *parser, const char* line)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
finsh_flush(parser);
|
finsh_flush(parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
void finsh_thread_entry(void* parameter)
|
void finsh_thread_entry(void* parameter)
|
||||||
{
|
{
|
||||||
struct finsh_parser parser;
|
struct finsh_parser parser;
|
||||||
|
@ -236,12 +237,14 @@ void finsh_thread_entry(void* parameter)
|
||||||
unsigned short current_history, use_history;
|
unsigned short current_history, use_history;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
pos = 0;
|
||||||
stat = WAIT_NORMAL;
|
stat = WAIT_NORMAL;
|
||||||
current_history = 0;
|
current_history = 0;
|
||||||
use_history = 0;
|
use_history = 0;
|
||||||
memset(line, 0, sizeof(line));
|
memset(line, 0, sizeof(line));
|
||||||
|
|
||||||
finsh_init(&parser);
|
finsh_init(&parser);
|
||||||
|
rt_kprintf("finsh>>");
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
@ -350,7 +353,7 @@ void finsh_thread_entry(void* parameter)
|
||||||
line[pos] = ';';
|
line[pos] = ';';
|
||||||
|
|
||||||
#ifdef FINSH_USING_HISTORY
|
#ifdef FINSH_USING_HISTORY
|
||||||
if (use_history == 0)
|
if ((use_history == 0) && (pos != 0))
|
||||||
{
|
{
|
||||||
/* push history */
|
/* push history */
|
||||||
if (finsh_history_count >= FINSH_HISTORY_LINES)
|
if (finsh_history_count >= FINSH_HISTORY_LINES)
|
||||||
|
@ -378,10 +381,10 @@ void finsh_thread_entry(void* parameter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
current_history = finsh_history_count;
|
current_history = finsh_history_count;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (pos != 0) finsh_run_line(&parser, line);
|
if (pos != 0) finsh_run_line(&parser, line);
|
||||||
else rt_kprintf("\n");
|
else rt_kprintf("\n");
|
||||||
|
|
||||||
rt_kprintf("finsh>>");
|
rt_kprintf("finsh>>");
|
||||||
memset(line, 0, sizeof(line));
|
memset(line, 0, sizeof(line));
|
||||||
|
|
Loading…
Reference in New Issue