]> git.lizzy.rs Git - linenoise.git/commitdiff
Make linenoiseClearScreen() public
authorSteve Bennett <steveb@workware.net.au>
Thu, 24 Mar 2016 13:47:17 +0000 (23:47 +1000)
committerSteve Bennett <steveb@workware.net.au>
Wed, 10 Aug 2016 00:58:59 +0000 (10:58 +1000)
linenoise.c
linenoise.h

index 064fce3bf1c282b62d1306da7c0890a0ba68b8ae..e34ef00c6ce8e3e4a5f4fa8aecd34776d7e72db4 100644 (file)
@@ -293,9 +293,9 @@ static void fd_printf(int fd, const char *format, ...)
     IGNORE_RC(write(fd, buf, n));
 }
 
-static void clearScreen(struct current *current)
+void linenoiseClearScreen(void)
 {
-    fd_printf(current->fd, "\x1b[H\x1b[2J");
+    fd_printf(STDOUT_FILENO, "\x1b[H\x1b[2J");
 }
 
 static void cursorToLeft(struct current *current)
@@ -632,17 +632,19 @@ static void disableRawMode(struct current *current)
     SetConsoleMode(current->inh, orig_consolemode);
 }
 
-static void clearScreen(struct current *current)
+void linenoiseClearScreen(void)
 {
+    HANDLE fh = GetStdHandle(STD_OUTPUT_HANDLE);
+
     COORD topleft = { 0, 0 };
     DWORD n;
 
-    FillConsoleOutputCharacter(current->outh, ' ',
+    FillConsoleOutputCharacter(fh, ' ',
         current->cols * current->rows, topleft, &n);
-    FillConsoleOutputAttribute(current->outh,
+    FillConsoleOutputAttribute(fh,
         FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN,
         current->cols * current->rows, topleft, &n);
-    SetConsoleCursorPosition(current->outh, topleft);
+    SetConsoleCursorPosition(fh, topleft);
 }
 
 static void cursorToLeft(struct current *current)
@@ -1430,7 +1432,7 @@ history_navigation:
             }
             break;
         case ctrl('L'): /* Ctrl+L, clear screen */
-            clearScreen(current);
+            linenoiseClearScreen();
             /* Force recalc of window size for serial terminals */
             current->cols = 0;
             refreshLine(current->prompt, current);
index c9b9f6652cc49b40a4b1aa6aa966d522a032d23d..ed5d81f430346aed96afdbf374c253b315a49a04 100644 (file)
@@ -70,6 +70,11 @@ void linenoiseAddCompletion(linenoiseCompletions *, const char *);
  */
 char *linenoise(const char *prompt);
 
+/**
+ * Clear the screen.
+ */
+void linenoiseClearScreen(void);
+
 /*
  * Adds a copy of the given line of the command history.
  */