aboutsummaryrefslogtreecommitdiffstats
path: root/pw.c
Commit message (Collapse)AuthorAgeFilesLines
* Diagnose missing argument in :w, :a and :!.Kaz Kylheku2022-04-281-2/+8
|
* No kbd_result state for commands with no result string.Kaz Kylheku2022-04-271-3/+5
|
* kbd_result falls through to kbd_cmd to avoid consuming command.Kaz Kylheku2022-04-271-5/+5
|
* Simplify status line clearing in quit command.Kaz Kylheku2022-04-271-4/+2
|
* Avoid calling poll or gettimeofday for 1000 line bursts.Kaz Kylheku2022-04-271-24/+31
|
* On auto-exit, clear status line of all content.Kaz Kylheku2022-04-271-4/+4
|
* Redesign poll structure to avoid one byte reads from stdin.Kaz Kylheku2022-04-271-56/+85
| | | | | | | | | | | | We keep stdin fully buffered, but switch the descriptor to nonblocking. We then try to accumulate a line of input above the poll() call. We only poll stdin's descriptor if we hit EOF while trying to read a line, and errno indicates EAGAIN or EWOULDBLOCK. In cases when we know that there is more data in stdin, we poll with an interval of 0, because only the TTY is being polled. When we know that there is no more data in stdin (actual EOF), we now poll with an infinite interval.
* Fix getopt problem: colon missing on n.Kaz Kylheku2022-04-271-1/+1
| | | | Reported by konsolebox at gmail com.
* Workaround: fix for issue reported by a user.Kaz Kylheku2022-04-271-0/+1
| | | | | | | | | | | | | | We are wrongly combining poll operations with buffered reading from stdin. This means we call poll to wait for input while ignoring data already buffered in the stdio stream. When this happens at the end of a pipe, we ignore the last bit forever. The workaround is to switch stdin to unbuffered; but this means that it issues one byte read operations (inefficient) and risks blocking on partial lines. Reported by konsolebox at gmail com.
* Regex matching for trigger mode.Kaz Kylheku2022-04-271-9/+26
|
* New feature: trigger mode.Kaz Kylheku2022-04-271-27/+91
| | | | Prototype: does substring searching only: no regex.
* man page: fix small mistakes and improve wording.Kaz Kylheku2022-04-271-3/+1
|
* Redraw bugfix: redraw from snapshot when suspended.Kaz Kylheku2022-04-271-1/+3
| | | | | | | Without this, we cannot move horizontally while suspended, because the display refuses to refresh. Suspend mode means that we still refresh the display, but using the current snapshot data, rather than replacing that snapshot from the FIFO.
* Rename clear_cur_line to consistently cryptic name.Kaz Kylheku2022-04-271-8/+8
|
* Rethink suspend mode: FIFO always freewheels.Kaz Kylheku2022-04-271-29/+20
|
* Colon is part of command string.Kaz Kylheku2022-04-271-10/+11
|
* Snapshot what is displayed.Kaz Kylheku2022-04-271-13/+37
|
* Switch to refcounted strings.Kaz Kylheku2022-04-261-15/+67
|
* Add a vi-like colon mode with :w, :a and :! commands.Kaz Kylheku2022-04-261-14/+147
|
* New project, Pipe Watch.Kaz Kylheku2022-04-261-0/+365