]> git.pld-linux.org Git - packages/less.git/blob - lesspipe.sh
98da838c7099bf8807ca34dbcf5fccffd35ff79d
[packages/less.git] / lesspipe.sh
1 #!/bin/sh
2 #
3 # Copyright 1997, 1998 Patrick Volkerding, Moorhead, Minnesota USA
4 # All rights reserved.
5 #
6 # Redistribution and use of this script, with or without modification, is
7 # permitted provided that the following conditions are met:
8 #
9 # 1. Redistributions of this script must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 #
12 #  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
13 #  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
14 #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
15 #  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
16 #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
17 #  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
18 #  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
19 #  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
20 #  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
21 #  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22 #
23
24 # This is a preprocessor for 'less'.  It is used when this environment
25 # variable is set:   LESSOPEN="|lesspipe.sh %s"
26
27 lesspipe() {
28         case "$1" in
29         *.tar|*.phar) tar tvvf "$1" ;;
30         *.tgz|*.tar.gz|*.tar.[Zz]) tar tzvvf "$1" ;;
31         *.tbz2|*.tar.bz2) bzip2 -dc -- "$1" | tar tvvf - ;;
32         *.[Zz]|*.gz) gzip -dc -- "$1" ;;
33         *.7z) 7z l "$1" ;;
34         *.bz) bzip -dc -- "$1" ;;
35         *.bz2) bzip2 -dc -- "$1" ;;
36         *.lzma) lzma d -so -- "$1" ;;
37         *.zip|*.jar|*.xpi) 7z l "$1" || unzip -l "$1" ;;
38         *.rpm) rpm -qpivl --changelog -- "$1" ;;
39         *.rar) unrar -p- l -- "$1" ;;
40         *.cpi|*.cpio) cpio -itv < "$1" ;;
41         *.cab) cabextract -l -- "$1" ;;
42         *.deb) dpkg -c "$1" ;;
43         # .war could be Zip (limewire) or tar.gz file (konqueror web archives)
44         *.war) 7z l "$1" || unzip -l "$1" || tar tzvvf "$1" ;;
45         # SSL certs
46         *.csr) openssl req -noout -text -in "$1" ;;
47         *.crl) openssl crl -noout -text -in "$1" ;;
48         *.crt) openssl x509 -noout -text -in "$1" ;;
49         # gnupg armored files
50         *.asc) gpg --homedir=/dev/null "$1" 2>/dev/null ;;
51         # Possible manual pages
52         *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.l|*.n|*.man) FILE=`file -L "$1"` ; # groff src
53                 FILE=`echo $FILE | cut -d ' ' -f 2`
54                 if [ "$FILE" = "troff" ]; then
55                         groff -s -p -t -e -Tlatin1 -mandoc "$1"
56                 fi ;;
57         *) FILE=`file -L "$1"` ; # Check to see if binary, if so -- view with 'strings'
58   esac
59 }
60
61 if [ -d "$1" ] ; then
62         /bin/ls -alF -- "$1"
63 else
64         lesspipe "$1" 2> /dev/null
65 fi
This page took 0.035146 seconds and 2 git commands to generate.