aboutsummaryrefslogtreecommitdiffstats
path: root/pw.c
Commit message (Collapse)AuthorAgeFilesLines
* Triggers: switch implementation to grep structs.Kaz Kylheku2022-04-301-20/+32
|
* Fix issues with the count prefix.Kaz Kylheku2022-04-301-5/+10
| | | | | - ambiguity with 0 command. - reset to UINT_MAX under right conditions.
* New feature: multi-line triggering.Kaz Kylheku2022-04-301-30/+85
|
* Commands can have numeric prefix: + is guinea pig for this.Kaz Kylheku2022-04-301-7/+24
|
* Regression: no redraw for horizontal scrolling.Kaz Kylheku2022-04-301-1/+1
|
* Use BRE by default, with optional ERE.Kaz Kylheku2022-04-291-3/+16
|
* Eliminate wasteful redraws of snapshot.Kaz Kylheku2022-04-291-24/+22
| | | | | | When we do need to redraw the snapshot even though the data isn't dirty, or we are frozen, or waiting for a trigger, there is a new stat_force flag to request it.
* Status line reliably gone on 'q' exit.Kaz Kylheku2022-04-291-3/+1
|
* Dynamic priority scheme between TTY and FIFO.Kaz Kylheku2022-04-291-2/+8
| | | | | | | | | Whenever a character from the TTY are processed, the work bout size (max number of lines processed without polling TTY or time-of-day) is cut in half, so as the user types, the UI quickly becomes more responsive. When TTY activity ceases, the work bout successively grows in size again toward the maximum value to favor more efficient reading.
* grep mode bug: :g entries getting treated as :v.Kaz Kylheku2022-04-291-0/+2
|
* Handle terminal resizing.Kaz Kylheku2022-04-291-7/+57
|
* Fix shifting position and double showing of < truncation marker.Kaz Kylheku2022-04-291-2/+3
|
* Use clear-to-end-of-line for flicker-free updates.Kaz Kylheku2022-04-291-9/+19
|
* Bugfix: while editing new trigger, don't reset current.Kaz Kylheku2022-04-291-7/+9
|
* New :i and :l commands to adjust intervals.Kaz Kylheku2022-04-291-0/+15
|
* Command line: improve robustness of conversions.Kaz Kylheku2022-04-291-6/+100
|
* Missing newline in error call.Kaz Kylheku2022-04-291-1/+1
|
* Global vars static.Kaz Kylheku2022-04-291-10/+10
|
* New + command to increase display height.Kaz Kylheku2022-04-281-0/+10
|
* Implement Ctrl-Z suspend.Kaz Kylheku2022-04-281-6/+27
|
* History recall for colon commands and trigger patterns.Kaz Kylheku2022-04-281-8/+83
|
* Merge kbd_ttrig and kbd_htrig; simplify status refresh.Kaz Kylheku2022-04-281-16/+7
|
* Use constants and macros for control chars.Kaz Kylheku2022-04-281-8/+14
|
* grep: show patterns in status rather than stack depth.Kaz Kylheku2022-04-281-15/+33
|
* New feature: grep mode with pattern stack.Kaz Kylheku2022-04-281-24/+97
|
* 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