mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 19:32:43 +00:00
59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
---
|
|||
|
|
title: Hunk
|
||
|
|
description: Hunk terminal diff viewer settings, used as the gh-dash diff pager.
|
||
|
|
---
|
||
|
|
|
||
|
|
[Hunk](https://github.com/modem-dev/hunk) is a review-first terminal diff viewer aimed at agent-authored changes. In this setup it is the diff pager for [gh-dash](/tools/github-cli#gh-dash).
|
||
|
|
|
||
|
|
| | |
|
||
|
|
| --- | --- |
|
||
|
|
| Sources | `dot_config/hunk/config.toml`, `dot_config/hunk/private_state.json` |
|
||
|
|
| Targets | `~/.config/hunk/config.toml`, `~/.config/hunk/state.json` (mode `0600`) |
|
||
|
|
| Packages | Not declared in `packages.yaml`; install hunk separately |
|
||
|
|
|
||
|
|
## config.toml
|
||
|
|
|
||
|
|
```toml ~/.config/hunk/config.toml
|
||
|
|
theme = "auto"
|
||
|
|
mode = "auto"
|
||
|
|
vcs = "git"
|
||
|
|
watch = false
|
||
|
|
exclude_untracked = true
|
||
|
|
line_numbers = true
|
||
|
|
tab_width = 4
|
||
|
|
wrap_lines = false
|
||
|
|
menu_bar = true
|
||
|
|
agent_notes = true
|
||
|
|
prompt_save_view_preferences = false
|
||
|
|
transparent_background = true
|
||
|
|
```
|
||
|
|
|
||
|
|
| Key | Value | Effect |
|
||
|
|
| --- | --- | --- |
|
||
|
|
| `theme` | `auto` | Picks a built-in theme to match the terminal. |
|
||
|
|
| `mode` | `auto` | Chooses split or stacked layout from the window width (alternatives: `split`, `stack`). |
|
||
|
|
| `vcs` | `git` | Git backend (alternatives: `jj`, `sl`). |
|
||
|
|
| `watch` | `false` | Does not reload on file changes. |
|
||
|
|
| `exclude_untracked` | `true` | Untracked files are left out of working-tree diffs. |
|
||
|
|
| `line_numbers` | `true` | Shows line numbers. |
|
||
|
|
| `tab_width` | `4` | Tab stops every 4 columns. |
|
||
|
|
| `wrap_lines` | `false` | Long lines are not wrapped. |
|
||
|
|
| `menu_bar` | `true` | Shows the top menu bar. |
|
||
|
|
| `agent_notes` | `true` | Shows agent notes when a review opens (off by default in hunk). |
|
||
|
|
| `prompt_save_view_preferences` | `false` | Does not ask to persist view changes. |
|
||
|
|
| `transparent_background` | `true` | Uses the terminal background instead of the theme's. |
|
||
|
|
|
||
|
|
No `[pager]` or per-command sections are set, so pager sessions use these top-level values.
|
||
|
|
|
||
|
|
## state.json
|
||
|
|
|
||
|
|
`private_state.json` is hunk's runtime state: the state-file `version` and `lastSeenCliVersion`, which hunk updates on its own. It holds no preferences. The `private_` prefix gives it mode `0600`.
|
||
|
|
|
||
|
|
## Integrations
|
||
|
|
|
||
|
|
```yaml ~/.config/gh-dash/config.yml
|
||
|
|
pager:
|
||
|
|
diff: "hunk pager"
|
||
|
|
```
|
||
|
|
|
||
|
|
gh-dash pipes PR diffs into `hunk pager`. Plain `git diff` does not use hunk; it goes through diffnav (see [Git](/tools/git)).
|