Repository navigation
Kitty-graphics minimaps for overview strips (feedback wanted) - #13
Closed
CoreyKaylor wants to merge 2 commits into
Closed
CoreyKaylor wants to merge 2 commits into
CoreyKaylor wants to merge 2 commits into
Conversation
Closes #10. The overview strip beside each pane becomes a pixel-resolution image in terminals with Kitty graphics and Unicode placeholders; other terminals keep the cell gutter. - kitty/overview + kitty/overview_raster: one image per strip, placeholders written straight into the static overview buffer. Per-hunk marks at pixel resolution, the current chunk outlined. Viewport band, cursor row and selection are per-row highlight groups that keep the image id as fg, so scrolling only swaps highlights; the image is re-sent only when hunks, size or palette change. - Code shape (default on): the text drawn as tiny syntax-coloured runs (treesitter captures, legacy syntax, Normal fg), rebuilt after code_debounce_ms on edits. - Overlays: viewport always visible, 'hlsearch' matches, visual selection, diagnostics. Scale fills the window with a min_reduction floor. - Mouse without maps in user buffers: click and drag jump, the wheel scrolls the target. - minimap/: a shared Minimap component (target + provider + placement). The diff view's strips are managed minimaps; :DiffBanditMinimap (and minimap.auto) puts one on ordinary editor windows as a right-edge float showing git hunks against the index and diagnostics. - Focus-follow: the focused pane's strip is full width, the other a squeezed 4-cell code shape; sizes swap on focus (after a mouse release), panes keep equal widths.
Owner
Author
|
Closing in favor of extracting the capability into its own plugin. |
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.
Closes #10. This adds pixel-resolution minimaps beside each diff pane, plus an opt-in minimap for ordinary editor windows. It's opened early to gather feedback: please try it and comment, especially on the questions at the bottom.
What it does
Diff view overview strips
'hlsearch'matches;min_reductionfloor so short files aren't stretched.Editor windows:
:DiffBanditMinimap [toggle|open|close], orminimap.auto = trueConfig
Internals
minimap/is a sharedMinimapcomponent (target window + provider + placement). The diff view's strips are managed minimaps in the layout's sidecar splits; editor minimaps are floats.session/overview.luais gone.tests/specs/45_kitty.lua(raster, images, overlays, code shape, mouse, focus-follow) and the newtests/specs/55_minimap.lua(editor minimap). The full suite passes.Feedback wanted
compact_widthbe smaller or larger?