fix(tui): address copilot follow-up review on PR #16732 (#16740)

- moveCursor(extend=true) now collapses to the bare cursor when the
  computed offset equals the existing anchor instead of leaving a
  zero-length sel. Without this, Shift+Left at col 0 / Shift+Home at
  start would silently hide the hardware cursor (selected truthy)
  without rendering any highlight.
- _tui_need_npm_install also catches UnicodeDecodeError so a corrupted
  / non-UTF8 lockfile falls back to the mtime path the docstring
  promises instead of crashing.

Made-with: Cursor
This commit is contained in:
brooklyn!
2026-04-27 16:54:25 -07:00
committed by GitHub
parent e7091bb326
commit e0e67a99bb
2 changed files with 5 additions and 5 deletions

View File

@@ -638,14 +638,14 @@ export function TextInput({
const moveCursor = (next: number, extend = false) => {
const c = snapPos(vRef.current, next)
const anchor = selRef.current?.start ?? curRef.current
if (extend) {
const anchor = selRef.current?.start ?? curRef.current
if (!extend || anchor === c) {
clearSel()
} else {
const nextSel = { end: c, start: anchor }
selRef.current = nextSel
setSel(nextSel)
} else {
clearSel()
}
setCur(c)