diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/local/pager.nim | 4 | ||||
-rw-r--r-- | src/local/term.nim | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/local/pager.nim b/src/local/pager.nim index b61e02e9..0052e18f 100644 --- a/src/local/pager.nim +++ b/src/local/pager.nim @@ -804,6 +804,10 @@ proc input(pager: Pager): EmptyPromise = pager.inputBuffer = "" if p == nil: p = newResolvedPromise() + if pager.term.hasBuffer(): + return p.then(proc(): EmptyPromise = + return pager.input() + ) return p proc run*(pager: Pager; pages: openArray[string]; contentType: string; diff --git a/src/local/term.nim b/src/local/term.nim index 00c60e2b..5199fadb 100644 --- a/src/local/term.nim +++ b/src/local/term.nim @@ -274,6 +274,9 @@ proc resetInputBuffer*(term: Terminal) = term.ibufn = 0 term.ibufLen = 0 +proc hasBuffer*(term: Terminal): bool = + return term.ibufn < term.ibufLen + proc flush*(term: Terminal) = term.outfile.flushFile() |