I would like to provide a Cygwin package for lesspipe, to automatically
show archive contents or information about many file types, with
enhanced or coloured output, without having to remember which filter
commands are required to do so, as I have been using it for many years.

Description:
Converts many file formats to text with coloured or enhanced display,
so their contents or useful information about their contents can be shown.
See the less(1) man page section INPUT PREPROCESSOR.
The input filter is a bash script, which also works under zsh, and is
easily extensible for new formats.
Tab completion mechanisms for archive contents are provided for bash and zsh.
Also works with git version control, mutt mail client, vim text editor.
Can handle a wide variety of file formats, even files compressed and
contained in a hierarchy of archives, enabling users to deeply inspect
archives, and display the contents of files in archives without having
to unpack them.
Converters are checked for and used if available, including Cygwin packages:
        antiword                MS Word files
        binutils                text strings in binary files or archives
        brotli                  compressed files or archives
        bsdtar                  archive files
        bzip2                   compressed files or archives
        cabextract              MS Cabinet files
        catdoc                  MS Word files
        cpio                    archive files
        djvulibre               DjVu files
        genisoimage             ISO files or images
        ghostscript             PS files
        groff                   man pages or Unix source documents
        gzip                    compressed files or archives
        hdf5                    HDF v5 files
        id3v2                   media files
        ImageMagick             image files
        jq                      JSON data files
        libiconv                character set code page conversion
        lynx                    HTML files
        lz4                     compressed files or archives
        lzip                    compressed files or archives
        mediainfo               media files
        netcdf                  nc4 NetCDF files
        odt2txt                 OpenDocument files
        openssl                 Digital Security Certificates
        p7zip                   archive files
        perl-Image-ExifTool     media files
        poppler                 PDF files
        python39-pygments       program source code files
        rpm                     RPM files
        source-highlight        program source code files
        texlive                 TeX files
        unrtf                   RTF files
        unzip                   zip files
        util-linux              tabular data files
        w3m                     HTML files
        wordview                MS Office files
        writerperfect           MS Office files
        wv                      MS Word files
        xlsx2csv                MS Excel files
        xz                      compressed files or archives
        zstd                    compressed files or archives.
To use these, select them for install in the Cygwin Setup program.

License:        GPL-2.0-or-later

It may be enabled by running interactively:

        $ eval `/usr/bin/lesspipe.sh`

or adding to a login profile the command:

        eval $(/usr/bin/lesspipe.sh)

For more information see the project home pages:

        https://www-zeuthen.desy.de/~friebel/unix/lesspipe.html

        https://github.com/wofr06/lesspipe

It is packaged by Arch, FreeBSD, Gentoo, MacPorts, and some minor distros:

        https://repology.org/project/lesspipe/versions

Attached cygport and at:

https://cygwin.com/cgit/cygwin-packages/playground/tree/lesspipe.cygport?id=43513a15e256c7203efc0ea18de8202dc16558dc

package job:

https://cygwin.com/cgi-bin2/jobs.cgi?id=8266&srcpkg=playground&user=Brian+Inglis

log at:

https://github.com/cygwin/scallywag/actions/runs/9457549487/job/26051697527

There are some test issues, some of which have been patched, some with test
data date issues, and others with filter issues which need addressed upstream.

For recent changes, see below:

2024-May-10     2.13

- added support for appimage and snap files
- respect color scheme setting of vim in vimcolor, add listing of file types
- improve xml (and html) display using the xmq binary
- fix color detection (-R) again
- support for cpio archives
- fall back to 7z for supported formats

2024-Mar-18     2.12

- improve completion for file names with special chars
- better output when using xlscat
- respect bat options from LESSCOLORIZER
- propagate lesspipe changes to lesscomplete
- don't use antiword any longer, outdated
- use 7zip instead of now outdated p7zip if available
- propagate file extension to newly created temporary files
- use again csvlook for display of csv files if available
- use csvtable for tabular display of csv files, needs Text::CSV from perl

2023-Dec-13     2.11

- fix output of archive listings when no coloring is requested
- column does not accept std input
- fix html output with html2text
- correct location of bash completion directory
- respect csv file extension

2023-Oct-05     2.10

- column does not accept -o option (BSD systems)
- respect jsx and tsx file extension

2023-Oct-03     2.09

- preferred display of csv files is through the program column
- language recognition for bat improved
- correctly recognize the -r or -R option when calling less
- support for plain zlib files(used e.g. in backuppc, pdf)
- fix jsx and tsx files often detected as html

2023-Jun-26     2.08

- protect file names in tar from being used as options
- support the device tree blob file format
- many changes for colored output
- fix template for creating a lesspipe rpm
- fix vimcolor hang due to wrong vim CLI arguments
- increase the file portion to read from STDIN to recognize its type
- do not call mediainfo on STDIN input

2023-Jan-10     2.07

- man page updates
- support for displaying mail messages
- set theme=ansi and style=plain in bat if not specified elsewhere
- correct typo in less option, recognize osascript as applescript
- better display of json files using jq
- allow for changing the output style in bat/batcat

2022-Aug-17     2.06

- remove perl storable (pst) files interpretation (security fix)
- let bat recognize language, unless explicitly requested
- call the bat colorizer with style=plain
- many changes from ShellCheck for better syntax
- run ShellCheck and test suite in GitHub Actions
- better recognition of hdf and matlab files

2022-Apr-26     2.05

- better colorize handling for bat and file names containing spaces
- fix handling of pst (perl dump) files

2022-Feb-28     2.04

- lessfilter can be in PATH or in homedir
- csv format files get displayed in tabular form
- do call ccze, mdcat only, if less accepts color seququences (-R)

2022-Feb-22     2.03

- fix colorize handling for code2color and vimcolor
- better argument parsing to detect -R option for less
- use tr to convert into lower case, test string adjustments

2022-Jan-19     2.02

- handle files names with a question mark in w3m, prefer elinks over w3m
- add again perl storable support
- add ~/.lessfilter support
- better rpm handling, documentation enhancements
- remove contrib directory, patches are partly implemented or obsolete

2022-Jan-04     2.01

- experimental zsh and bash completion for archive contents
- remove use of rpmunpack, dpkg
- minor fixes in test suite and empty file handling

2021-Dec-28     2.00

- code cleanup, minor fixes, support pygmentize with 256 color terminals

2021-Dec-22     2.00-beta

- much enhanced testsuite, can now select tests based on its number etc.
- added better bsdtar handling from the contributed bsdtar patch
- added -layout option to pdftotext
- changed code for extraction of less calling parameters
- dont engage lesspipe in pipes (LESSPIPE=|-...), if called from man and perldoc
- iconv handles most conversions from non foreign encodings
- tarcolor enhanced and renamed to archive_color, archive listings colorizations

2021-Dec-08     2.00-alpha

- complete rewrite with many fixes and enhancements.
- incompatible change: groff converts to utf8, not 'latin1' and not 'nippon'
- incompatible change: do not detect perl storable file format
- incompatible change: LESS_ADVANCED_PREPROCESSOR no longer honored
- support for growing files and calling less from a filter (LESSOPEN=|-...)
- new testsuite test.pl

Attached: lesspipe.cygport
Attached: lesspipe-2.13-lesspipe.sh-fix-xls2csv-iconv-groff.patch

Reply via email to