This change adds back support for line scrubbing and
adds a column that displays the time offset from
different points in the file. Also, try to handle
deleted files by dropping their lines from the display
view.
* help.txt: Update the help text for the new features.
* lnav.cc: Add scrub/time-offset key bindings. Also
added some more comments and added some handling for
deleted files.
* log_format_impls.cc: Add scrubbing for the generic
log format that shortens timestamps and RDNS strings.
* logfile_sub_source.cc: Add a time-offset column to
the display.
* textview_curses.cc: Some cleanup.
* grep_proc.cc: When a request is queued with the start line
== -1, we need to start searching from the highest line
ever seen and not the last line processed.
* line_buffer.cc: If a partial line was read, we need to
avoid returning another line if more data is appended
to the file.
* lnav.cc: Accept file name patterns on the command-line that
don't match any files yet. Initialize the screen before
redirecting stderr to the log file or /dev/null.
* log_format.hh: Add some comments. Start to add back support
for scrubbing.
* logfile_sub_source.cc: Move scrubbing to the format impl.
* textview_curses.hh: Add comments.
* log_format.cc, log_format_impls.cc, log_format.hh: Change
log_scanf to return a pointer to the character in the
time string that was not part of the time. Change the
generic log format to try and pull out the millisecond
value from the timestamp.
* test/Makefile.am: Fix some dist problems.
* test/logfile_generic.0: Test logfile for the generic log format.
Rather than requiring the user to pass a quoted wildcard to lnav,
we should just support scanning whole directories and reading
them in. This change adds support for that by detecting the
directory and adding the wildcard to the file list automatically.
Any non-file entries in the given directory are skipped instead
of walking the whole tree, which seems like a reasonable default.
The cygwin build is pretty straightforward, but there's
still some glitches that need to be fixed.
* line_buffer.hh, line_buffer.cc: If the bzip library is not available, don't
try to open bzip files. Also, ignore ENODATA errors since they seem to
show up when pread reaches the end of the file.
* lnav.cc: The abs() function is ambiguous on windows, use std::abs instead.