Support ink scrolling final pr (#12567)

This commit is contained in:
Jacob Richman
2025-11-11 07:50:11 -08:00
committed by GitHub
parent 7bb13d1c41
commit cbbf565121
43 changed files with 2498 additions and 1568 deletions

View File

@@ -122,6 +122,7 @@ export const renderWithProviders = (
width,
mouseEventsEnabled = false,
config = configProxy as unknown as Config,
useAlternateBuffer,
}: {
shellFocus?: boolean;
settings?: LoadedSettings;
@@ -129,6 +130,7 @@ export const renderWithProviders = (
width?: number;
mouseEventsEnabled?: boolean;
config?: Config;
useAlternateBuffer?: boolean;
} = {},
): ReturnType<typeof render> => {
const baseState: UIState = new Proxy(
@@ -150,7 +152,18 @@ export const renderWithProviders = (
) as UIState;
const terminalWidth = width ?? baseState.terminalWidth;
const mainAreaWidth = calculateMainAreaWidth(terminalWidth, settings);
let finalSettings = settings;
if (useAlternateBuffer !== undefined) {
finalSettings = createMockSettings({
...settings.merged,
ui: {
...settings.merged.ui,
useAlternateBuffer,
},
});
}
const mainAreaWidth = calculateMainAreaWidth(terminalWidth, finalSettings);
const finalUiState = {
...baseState,
@@ -160,9 +173,9 @@ export const renderWithProviders = (
return render(
<ConfigContext.Provider value={config}>
<SettingsContext.Provider value={settings}>
<SettingsContext.Provider value={finalSettings}>
<UIStateContext.Provider value={finalUiState}>
<VimModeProvider settings={settings}>
<VimModeProvider settings={finalSettings}>
<ShellFocusContext.Provider value={shellFocus}>
<KeypressProvider>
<MouseProvider mouseEventsEnabled={mouseEventsEnabled}>