diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/cmdedit.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c index b90891587..d4d6264d0 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c | |||
@@ -1263,6 +1263,16 @@ prepare_to_die: | |||
1263 | input_tab(&lastWasTab); | 1263 | input_tab(&lastWasTab); |
1264 | #endif | 1264 | #endif |
1265 | break; | 1265 | break; |
1266 | case 12: | ||
1267 | /* Control-l -- clear screen | ||
1268 | * if the len=0 and no chars in edit line */ | ||
1269 | if (len == 0) { | ||
1270 | printf("\033[H\033[J"); | ||
1271 | put_prompt(); | ||
1272 | } else { | ||
1273 | beep(); | ||
1274 | } | ||
1275 | break; | ||
1266 | case 14: | 1276 | case 14: |
1267 | /* Control-n -- Get next command in history */ | 1277 | /* Control-n -- Get next command in history */ |
1268 | if (hp && hp->n && hp->n->s) { | 1278 | if (hp && hp->n && hp->n->s) { |
@@ -1288,7 +1298,6 @@ prepare_to_die: | |||
1288 | redraw(cmdedit_y, len -= cursor); | 1298 | redraw(cmdedit_y, len -= cursor); |
1289 | } | 1299 | } |
1290 | break; | 1300 | break; |
1291 | |||
1292 | case ESC:{ | 1301 | case ESC:{ |
1293 | /* escape sequence follows */ | 1302 | /* escape sequence follows */ |
1294 | if (safe_read(0, &c, 1) < 1) | 1303 | if (safe_read(0, &c, 1) < 1) |