text-diff-cli
v1.0.0
Published
CLI tool for comparing text files and strings with line-level diff output and colored display. Pure Node.js with LCS algorithm.
Downloads
121
Maintainers
Readme
📝 text-diff-cli
A zero-dependency CLI tool for comparing text files line-by-line. Uses the LCS (Longest Common Subsequence) algorithm for accurate diffs with color-coded output.
Install
npm install -g text-diff-cliUsage
# Compare two files
text-diff file1.txt file2.txt
# Compare from stdin
echo "hello" | text-diff - file.txt
# Adjust context lines
text-diff old.js new.js --context 5
# Disable colors
text-diff a.txt b.txt --no-color
# Compact side-by-side format
text-diff a.txt b.txt --compactExample Output
text-diff: old.txt → new.txt
2 additions, 1 deletions, 4 unchanged
Hello World
This is a test
-This line was removed
+This line was added
+Another new line
Final lineWith colors enabled:
- Red (
-) = deleted lines - Green (
+) = added lines - Dim = context/skipped lines
text-diff: old.js → new.js
3 additions, 2 deletions, 12 unchanged
function hello() {
console.log("hello");
-
-// Old comment
+// Updated comment
+// Another added comment
+
function world() {
return "world";
}
}Options
| Option | Alias | Description |
|--------|-------|-------------|
| --context <N> | -c | Number of context lines (default: 3) |
| --no-color | | Disable ANSI color output |
| --compact | | Compact line-numbered format |
| --help | -h | Show help |
Features
- ✅ Pure Node.js — no external dependencies
- ✅ LCS algorithm — accurate diff with optimal matching
- ✅ Color-coded output — red for deletions, green for additions
- ✅ Context lines — configurable surrounding context
- ✅ Compact format — line numbers with visual separation
- ✅ stdin support — pipe content through
- - ✅ Automatic color detection — respects TTY and
NO_COLOR
License
MIT
