feat(nvim): delta location previews for Telescope#91
Merged
aguil merged 6 commits intoJun 11, 2026
Conversation
Agent shells (Claude Code, Cursor) rehydrate BASH_FUNC_gh from export -p without private helpers, which printed "command not found: _chez_gh_route_config_dir" on every gh invocation. Guard the helper call when it is missing and export _chez_gh_route_config_dir with gh in bash so per-directory routing still works after rehydration. Mirror the guard in zsh with whence. Verify: run gh in a Claude Code bash session; stderr stays clean and auth routing matches the working directory.
Telescope branch-changes preview pipes diffs through delta via termopen. The pseudo-TTY makes delta use its pager, so the preview stopped at the first page instead of showing the full diff. Pass --paging=never to delta so the entire highlighted diff lands in the preview buffer and scrolls normally. Verify: <leader>gb on a file with a long diff; preview shows all lines.
Wire custom Telescope qflist/grep previewers through delta for LSP references and other location pickers, with scroll-to-line and file-at-line fallback when the reference is outside diff hunks. Centralize git/jj diff base toggle (<leader>tJ) and diff helpers in vcs.lua; reuse them for branch-change and git preview pickers. Enable dynamic_preview_title so preview borders show path:line. Avoid CursorLine in terminal previews to keep the filter prompt in insert mode. Verify: grr on changed files (scroll + title), branch picker diff preview, and <leader>tJ toggling diff base.
Post-process delta output with awk to paint the LSP reference line using TelescopePreviewLine/Visual bg (and fg when set), so busy diffs show a selection-style row instead of inverse video. Cache preview buffers per reference line so each selection gets its own highlighted render. Verify: grr on a file with large diffs — reference row matches selected line styling and scroll still centers on it.
Allow lowercase "github" in Vale prose checks for commit messages and docs that reference the GitHub CLI or host. Verify: vale on a doc containing "github" passes Dotfiles vocabulary.
cd79216 to
fc2c551
Compare
Add a global ignore for **/.claude/settings.local.json so machine-local Claude Code settings are not tracked when projects symlink or copy dotfiles gitignore rules. Verify: create .claude/settings.local.json under a repo; git status stays clean with core.excludesfile pointing at this global gitignore.
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stacked on #90. Adds delta-colored diff previews for LSP references and other location pickers, with scroll-to-line, diff-base toggle integration, and reference-row highlighting in busy diffs. Also fixes delta paging in branch diff previews, exports the
ghroute helper for agent subprocesses, and includes small dotfiles hygiene commits (Vale vocabulary, global gitignore).Commits
_chez_gh_route_config_dirso agent shells that rehydrateBASH_FUNC_*fromexport -pdo not break per-directoryghrouting.--paging=neverso termopen previews show the full diff.vcs.luadiff helpers,<leader>tJbase toggle, dynamic preview titles, insert-mode-friendly previews.Test plan
chezmoi applyand restart Neovimgrron a symbol in a changed file: delta diff preview, title showspath:line, reference row highlighted, scroll centers on line<leader>tJtoggles diff base; preview updates accordingly<leader>gbbranch picker: long diffs show fully (no pager stop)ghin an agent subprocess shell: no_chez_gh_route_config_direrrors.claude/settings.local.jsonunder a repo is ignored when using global gitignore