mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-25 19:18:59 +01:00
toggle scrollable outputs by cell
This commit is contained in:
@@ -145,7 +145,7 @@ function renderError(
|
||||
if (err.stack) {
|
||||
outputElement.classList.add('traceback');
|
||||
|
||||
const outputScrolling = ctx.settings.outputScrolling;
|
||||
const outputScrolling = scrollingEnabled(outputInfo, ctx.settings);
|
||||
const content = createOutputContent(outputInfo.id, [err.stack ?? ''], ctx.settings.lineLimit, outputScrolling, true);
|
||||
const contentParent = document.createElement('div');
|
||||
contentParent.classList.toggle('word-wrap', ctx.settings.outputWordWrap);
|
||||
@@ -153,10 +153,6 @@ function renderError(
|
||||
contentParent.classList.toggle('word-wrap', e.outputWordWrap);
|
||||
}));
|
||||
contentParent.classList.toggle('scrollable', outputScrolling);
|
||||
outputElement.classList.toggle('hide-refresh', !outputScrolling);
|
||||
disposableStore.push(ctx.onDidChangeSettings(e => {
|
||||
outputElement.classList.toggle('hide-refresh', !e.outputScrolling);
|
||||
}));
|
||||
outputElement.classList.toggle('remove-padding', outputScrolling);
|
||||
|
||||
contentParent.appendChild(content);
|
||||
@@ -221,9 +217,13 @@ function findScrolledHeight(scrollableElement: HTMLElement): number | undefined
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function scrollingEnabled(output: OutputItem, options: RenderOptions) {
|
||||
return output.metadata?.scrollable !== undefined ? output.metadata?.scrollable : options.outputScrolling;
|
||||
}
|
||||
|
||||
function renderStream(outputInfo: OutputItem, outputElement: HTMLElement, error: boolean, ctx: IRichRenderContext): IDisposable {
|
||||
const disposableStore = createDisposableStore();
|
||||
const outputScrolling = ctx.settings.outputScrolling;
|
||||
const outputScrolling = scrollingEnabled(outputInfo, ctx.settings);
|
||||
|
||||
outputElement.classList.add('output-stream');
|
||||
outputElement.classList.toggle('remove-padding', outputScrolling);
|
||||
@@ -252,11 +252,6 @@ function renderStream(outputInfo: OutputItem, outputElement: HTMLElement, error:
|
||||
const contentParent = document.createElement('div');
|
||||
contentParent.appendChild(content);
|
||||
contentParent.classList.toggle('scrollable', outputScrolling);
|
||||
outputElement.classList.toggle('hide-refresh', !outputScrolling);
|
||||
disposableStore.push(ctx.onDidChangeSettings(e => {
|
||||
outputElement.classList.toggle('hide-refresh', !e.outputScrolling);
|
||||
}));
|
||||
|
||||
contentParent.classList.toggle('word-wrap', ctx.settings.outputWordWrap);
|
||||
disposableStore.push(ctx.onDidChangeSettings(e => {
|
||||
contentParent.classList.toggle('word-wrap', e.outputWordWrap);
|
||||
@@ -278,18 +273,14 @@ function renderText(outputInfo: OutputItem, outputElement: HTMLElement, ctx: IRi
|
||||
clearContainer(outputElement);
|
||||
|
||||
const text = outputInfo.text();
|
||||
const outputScrolling = scrollingEnabled(outputInfo, ctx.settings);
|
||||
const content = createOutputContent(outputInfo.id, [text], ctx.settings.lineLimit, ctx.settings.outputScrolling, false);
|
||||
content.classList.add('output-plaintext');
|
||||
if (ctx.settings.outputWordWrap) {
|
||||
content.classList.add('word-wrap');
|
||||
}
|
||||
|
||||
const outputScrolling = ctx.settings.outputScrolling;
|
||||
content.classList.toggle('scrollable', outputScrolling);
|
||||
outputElement.classList.toggle('hide-refresh', !outputScrolling);
|
||||
disposableStore.push(ctx.onDidChangeSettings(e => {
|
||||
outputElement.classList.toggle('hide-refresh', !e.outputScrolling);
|
||||
}));
|
||||
outputElement.classList.toggle('remove-padding', outputScrolling);
|
||||
outputElement.appendChild(content);
|
||||
initializeScroll(content, disposableStore);
|
||||
@@ -352,9 +343,6 @@ export const activate: ActivationFunction<void> = (ctx) => {
|
||||
#container div.output .scrollable.scrollbar-visible {
|
||||
border-color: var(--vscode-editorWidget-border);
|
||||
}
|
||||
#container div.output.hide-refresh .scroll-refresh {
|
||||
display: none;
|
||||
}
|
||||
.output-plaintext .code-bold,
|
||||
.output-stream .code-bold,
|
||||
.traceback .code-bold {
|
||||
|
||||
@@ -30,7 +30,7 @@ function generateViewMoreElement(outputId: string) {
|
||||
const refreshSpan = document.createElement('span');
|
||||
refreshSpan.classList.add('scroll-refresh');
|
||||
const fifth = document.createElement('span');
|
||||
fifth.textContent = '. Refresh to view ';
|
||||
fifth.textContent = ', or view in a ';
|
||||
|
||||
const sixth = document.createElement('a');
|
||||
sixth.textContent = 'scrollable element';
|
||||
|
||||
Reference in New Issue
Block a user