feat(nvim): land delta location previews on master#92
Merged
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.
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.
feat(nvim): delta location previews for Telescope
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
Lands the commits from #91 (merged into
fix/tmux-session-picker-shortcuts) ontomasterafter #90. Brings delta-colored Telescope location previews, related Neovim/git fixes, and small dotfiles hygiene commits to the default branch.Commits
Context
master.fix/tmux-session-picker-shortcuts(stacked base).Test plan
chezmoi applyand restart Neovimgrron a changed file: delta preview, reference row highlight, scroll/title<leader>tJtoggles diff base;<leader>gbshows full branch diffghin agent subprocess: no route helper errors.claude/settings.local.jsonignored via global gitignoreMade with Cursor