Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion programs/zstdless
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
#!/bin/sh
zstdcat "$@" | less

zstd=${ZSTD:-zstd}

# TODO: Address quirks and bugs tied to old versions of less, provide a mechanism to pass flags directly to zstd

export LESSOPEN="|-${zstd} -cdfq %s"
exec less "$@"
15 changes: 15 additions & 0 deletions tests/playTests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ PRGDIR="$SCRIPT_DIR/../programs"
TESTDIR="$SCRIPT_DIR/../tests"
UNAME=$(uname)
ZSTDGREP="$PRGDIR/zstdgrep"
ZSTDLESS="$PRGDIR/zstdless"

detectedTerminal=false
if [ -t 0 ] && [ -t 1 ]
Expand Down Expand Up @@ -322,6 +323,20 @@ ZCAT=./zstdcat "$ZSTDGREP" 2>&1 "1234" tmp_grep_bad.zst && die "Should have fail
ZCAT=./zstdcat "$ZSTDGREP" 2>&1 "1234" tmp_grep_bad.zst | grep "No such file or directory" || true
rm -f tmp_grep*

println "\n===> zstdless tests"
if [ -n "$(which less)" ]; then
ln -sf "$ZSTD_BIN" zstd
rm -f tmp_less*
echo "1234" > tmp_less
zstd -f tmp_less
lines=$(ZSTD=./zstd "$ZSTDLESS" 2>&1 tmp_less.zst | wc -l)
test 1 -eq $lines
ZSTD=./zstd "$ZSTDLESS" -f tmp_less.zst > tmp_less_regenerated
$DIFF tmp_less tmp_less_regenerated
ZSTD=./zstd "$ZSTDLESS" 2>&1 tmp_less_bad.zst | grep "No such file or directory" || die
rm -f tmp_less*
fi

println "\n===> --exclude-compressed flag"
rm -rf precompressedFilterTestDir
mkdir -p precompressedFilterTestDir
Expand Down