diff --git a/src/sql/base/browser/ui/table/formatters.ts b/src/sql/base/browser/ui/table/formatters.ts
index 44d9286c63..ac97390802 100644
--- a/src/sql/base/browser/ui/table/formatters.ts
+++ b/src/sql/base/browser/ui/table/formatters.ts
@@ -71,13 +71,14 @@ export function hyperLinkFormatter(row: number | undefined, cell: any | undefine
valueToDisplay = 'NULL';
if (!value.isNull) {
cellClasses += ' xmlLink';
- valueToDisplay = escape(value.displayValue);
+ valueToDisplay = getCellDisplayValue(value.displayValue);
return `${valueToDisplay}`;
} else {
cellClasses += ' missing-value';
}
} else if (isHyperlinkCellValue(value)) {
- return `${escape(value.displayText)}`;
+ valueToDisplay = getCellDisplayValue(value.displayText);
+ return `${valueToDisplay}`;
}
return `${valueToDisplay}`;
}
@@ -93,8 +94,7 @@ export function textFormatter(row: number | undefined, cell: any | undefined, va
if (DBCellValue.isDBCellValue(value)) {
valueToDisplay = 'NULL';
if (!value.isNull) {
- valueToDisplay = value.displayValue.replace(/(\r\n|\n|\r)/g, ' ');
- valueToDisplay = escape(valueToDisplay.length > 250 ? valueToDisplay.slice(0, 250) + '...' : valueToDisplay);
+ valueToDisplay = getCellDisplayValue(value.displayValue)
titleValue = valueToDisplay;
} else {
cellClasses += ' missing-value';
@@ -108,7 +108,7 @@ export function textFormatter(row: number | undefined, cell: any | undefined, va
} else {
valueToDisplay = value;
}
- valueToDisplay = escape(valueToDisplay.length > 250 ? valueToDisplay.slice(0, 250) + '...' : valueToDisplay);
+ valueToDisplay = getCellDisplayValue(valueToDisplay);
titleValue = valueToDisplay;
}
else if (value && value.title) {
@@ -119,13 +119,19 @@ export function textFormatter(row: number | undefined, cell: any | undefined, va
cellStyle = value.style;
}
}
- valueToDisplay = escape(valueToDisplay.length > 250 ? valueToDisplay.slice(0, 250) + '...' : valueToDisplay);
+ valueToDisplay = getCellDisplayValue(valueToDisplay);
titleValue = valueToDisplay;
}
return `${valueToDisplay}`;
}
+function getCellDisplayValue(cellValue: string): string {
+ // allow-any-unicode-next-line
+ let valueToDisplay = cellValue.replace(/(\r\n|\n|\r)/g, '↵');
+ return escape(valueToDisplay.length > 250 ? valueToDisplay.slice(0, 250) + '...' : valueToDisplay);
+}
+
export function iconCssFormatter(row: number | undefined, cell: any | undefined, value: any, columnDef: any | undefined, dataContext: any | undefined): string {
if (isCssIconCellValue(value)) {