Skip to content

Commit 895fac9

Browse files
committed
1.1.0
1 parent 8f3d677 commit 895fac9

4 files changed

Lines changed: 48 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
# Changelog
22

3+
## [1.1.0]
4+
5+
### Added
6+
7+
- Sort options dialog with name, size, date modified, and status sort modes
8+
- Directories-first toggle in sort options
9+
- Content-based file comparison via SHA-256 hashing
10+
- Manual directory pairing for renamed directories
11+
- Nerd Font config option with ASCII fallback for non-nerd-font terminals
12+
- Hint text for compare contents preference
13+
14+
### Fixed
15+
16+
- Remove os-theme dependency that froze TUI in release builds
17+
- Show broken-link icon for broken symlinks
18+
- Correct ignore pattern matching for directory paths
19+
- Preserve cursor position across ignore pattern changes
20+
- Improve light mode contrast for dimmed selections
21+
- Unify directory icon color with row highlight on selection
22+
- Allow opening identical files in diff view
23+
- Deduplicate entry keys and disambiguate files from directories
24+
- Default `compareDates` option to false
25+
- Fix Homebrew binary permissions for shell completions
26+
27+
### Performance
28+
29+
- Memoize entry row components and lift panel width to reduce re-renders
30+
331
## [1.0.3]
432

533
## [1.0.2]

README.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,14 @@ Terminal TUI for comparing two directories side by side.
1313
## Features
1414

1515
- **Side-by-side tree view** with color-coded diff status
16-
- **Vim keybindings** for fast navigation (`j/k/h/l`, `gg/G`, `Ctrl+D/U`)
1716
- **Built-in unified diff viewer** with line-level added/removed counts
1817
- **Copy, delete, and sync** entries between directories
1918
- **Gitignore-style ignore patterns** (global and per-directory-pair)
20-
- **Live search filtering** with `/`
2119
- **Remote directory support** via rclone (SFTP, S3, GCS)
22-
- **Shell completions** for bash, zsh, and fish
20+
- **Manual directory pairing** for renamed directories
21+
- **Content-based comparison** via SHA-256 hashing
22+
- **Sortable entries** by name, size, date modified, or status
2323
- **Configurable** preferences, keybindings, and external diff command
24-
- **Nerd Font icons** for file types
25-
- **Dark/light theme** auto-detection
2624

2725
## Installation
2826

@@ -178,6 +176,9 @@ All keybindings are customizable via `~/.config/dircmp/keybindings.json` or the
178176
| `y` | Yank file path to clipboard |
179177
| `r` | Refresh comparison |
180178
| `S` | Swap panels |
179+
| `s` | Open sort options |
180+
| `m` | Mark/pair renamed directory |
181+
| `u` | Unpair directory |
181182

182183
### Filtering & Config
183184

@@ -205,16 +206,22 @@ Stored in `~/.config/dircmp/config.json`:
205206
"dateLocale": "en-US",
206207
"showHints": true,
207208
"compareDates": true,
209+
"compareContents": true,
210+
"nerdFont": true,
211+
"dirsFirst": true,
208212
"diffCommand": "nvim -d"
209213
}
210214
```
211215

212-
| Option | Description |
213-
| -------------- | ------------------------------------------------ |
214-
| `dateLocale` | Locale for date formatting |
215-
| `showHints` | Show keyboard hints in the status bar |
216-
| `compareDates` | Include modification dates in file comparison |
217-
| `diffCommand` | External diff command (e.g., `nvim -d`, `delta`) |
216+
| Option | Description |
217+
| ----------------- | ------------------------------------------------ |
218+
| `dateLocale` | Locale for date formatting |
219+
| `showHints` | Show keyboard hints in the status bar |
220+
| `compareDates` | Include modification dates in file comparison |
221+
| `compareContents` | Hash file contents (SHA-256) to detect changes |
222+
| `nerdFont` | Use Nerd Font icons (falls back to ASCII) |
223+
| `dirsFirst` | List directories before files |
224+
| `diffCommand` | External diff command (e.g., `nvim -d`, `delta`) |
218225

219226
### Ignore patterns
220227

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
dontFixup = true;
3030
impureEnvVars = pkgs.lib.fetchers.proxyImpureEnvVars;
3131
outputHashMode = "recursive";
32-
outputHash = "sha256-Da6pXHE2OTrwW2VNfaCAXvLwUOLUPZRKvWvbKJ8PBV4=";
32+
outputHash = "sha256-4VdIt60zicG23BaOZFG1ufAt2EAu/QmU3qa5MOh8gHY=";
3333
buildPhase = ''
3434
export HOME=$TMPDIR
3535
bun install --frozen-lockfile --no-progress

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ilyasturki/dircmp",
3-
"version": "1.0.3",
3+
"version": "1.1.0",
44
"type": "module",
55
"description": "Terminal TUI for comparing two directories side by side",
66
"author": "Ilyas Turki",

0 commit comments

Comments
 (0)