fix: relax the go toolchain pin, and warn when termguicolors is off - #40
Merged
Conversation
undont
force-pushed
the
fix/fresh-install
branch
from
August 11, 2026 22:32
7ebfbff to
b9728a0
Compare
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
go.modasked for an exact patch release, on a plugin whose only install step compiles Go and which ships no prebuilt binaries. under the defaultGOTOOLCHAIN=autothat downloads a whole toolchain inside thebuild =hook; under a distro-packaged Go orGOTOOLCHAIN=localit fails outright withgo.mod requires go >= 1.26.9 (running go 1.26.5; GOTOOLCHAIN=local). relaxed togo 1.26; CI readsgo-version-file: go.modand still resolves the latest 1.26.x:Differ build, which is not a command. it now namesmake go-build, matching its lua twin atsidecar/init.lua:190and therun \cmd`shape inauth.go:30`. reachable after a plugin update without a rebuild, which is when the two protocol versions divergefg/bgand no cterm pair, so withtermguicolorsoff the diff, merge and thread palette is dropped and nothing said why. the linked groups survive, so the panel keeps its chrome and loses its colour coding, while the diff body loses add-vs-delete entirely. warns once rather than refusing: nvim enables the option itself on any terminal it detects as 24-bit capable, and one that genuinely isn't should still get a usable session. asetup()during startup holds the check untilVimEnter, so a colorscheme or a late option file can still turn it on first:Differ sidecar [stop],cache clear,mergetool [path],gofileandeditwere undocumented.sidecaris the only built-in diagnostic and the answer to "why won't PR review work";cache clearis the only escape hatch for the thread cache, which flushes on your own mutations alone. the merge tool documented ~20 lines of keymaps while never saying how to open it, so its section now opens with:Differ mergetooldetails = "K"was the one default missing from the readmesetup()block, andtermguicolorsjoins requirementsTest plan
make check: lua unit 370/0, headless-nvim 443/0, luacheck 0, golangci-lint 0, lua_ls clean, demo-build ok, go oktest/nvim/highlights_spec.lua; the two warning assertions fail against the guard commented out, the other two pin that it stays quiet when the option is on and defines the groups rather than bailingv:vim_did_enteris 1, deferred toVimEnterwhensetup()runs during startupnotermguicolorsnvim emitsESC[mfor aguibg-only group; with it on,ESC[48;2;43;59;43mGOTOOLCHAIN=local, andgo 1.26builds on the same machinemake vimdocregenerated anddoc/differ.txtcommitted