blob: 429d7fec6130b12ed1571eb52a2c05ac0bc7d651 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#!/bin/sh
set -eo pipefail
file="$1";
w="$2";
h="$3";
x="$4";
y="$5";
show_image() {
kitten icat --transfer-mode file --stdin no --place "${w}x${h}@${x}x${y}" "$file" < /dev/null > /dev/tty;
}
case "$1" in
# Archives
*.tgz|*.tar.gz) tar tzf "$1" ;;
*.tar.bz2|*.tbz2) tar tjf "$1" ;;
*.tar.txz|*.txz) xz --list "$1" ;;
*.tar) tar tf "$1" ;;
*.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;;
*.rar) unrar l "$1" ;;
*.7z) 7z l "$1" ;;
*.o) nm "$1" | less ;;
*.apk) mediainfo "$1" ;;
# Docs
*.md|*.org) glow -s dark "$1" ;;
*.csv) cat "$1" | sed 's/,/ \| /g' ;;
*.pdf) pdftotext "$1" - ;;
*.docx) docx2txt "$1" - ;;
*.epub) mediainfo "$1" ;;
*.[1-8]) man "$1" | col -b ;;
# Images
*.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.gif)
show_image 2>/dev/null || chafa -f symbols --size "$((w * 2 / 3))" "$file" || echo "cant display image";
exit 1;
;;
# Audio
*.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.flac)
mediainfo "$1"
;;
# Video
*.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.mts|*.m4v|*.r[am]|*.qt|*.divx)
mediainfo "$1";
;;
# Syntax
*) bat --color always "$1" || cat "$1" ;;
esac
|