MCPcopy Create free account
hub / github.com/codeaashu/claude-code / companionReservedColumns

Function companionReservedColumns

src/buddy/CompanionSprite.tsx:167–175  ·  view source on GitHub ↗
(terminalColumns: number, speaking: boolean)

Source from the content-addressed store, hash-verified

165// Narrow terminals: 0 — REPL.tsx stacks the one-liner on its own row
166// (above input in fullscreen, below in scrollback), so no reservation.
167export function companionReservedColumns(terminalColumns: number, speaking: boolean): number {
168 if (!feature('BUDDY')) return 0;
169 const companion = getCompanion();
170 if (!companion || getGlobalConfig().companionMuted) return 0;
171 if (terminalColumns < MIN_COLS_FOR_FULL_SPRITE) return 0;
172 const nameWidth = stringWidth(companion.name);
173 const bubble = speaking && !isFullscreenActive() ? BUBBLE_WIDTH : 0;
174 return spriteColWidth(nameWidth) + SPRITE_PADDING_X + bubble;
175}
176export function CompanionSprite(): React.ReactNode {
177 const reaction = useAppState(s => s.companionReaction);
178 const petAt = useAppState(s => s.companionPetAt);

Callers 1

PromptInputFunction · 0.85

Calls 5

featureFunction · 0.85
getCompanionFunction · 0.85
getGlobalConfigFunction · 0.85
isFullscreenActiveFunction · 0.85
spriteColWidthFunction · 0.85

Tested by

no test coverage detected