From 2bd8e61706807723e7f89b6e9eff0ba4635b3320 Mon Sep 17 00:00:00 2001 From: Mathew Pareles Date: Mon, 31 Mar 2025 00:15:13 -0700 Subject: [PATCH] fn --- .../contrib/void/browser/editCodeService.ts | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/src/vs/workbench/contrib/void/browser/editCodeService.ts b/src/vs/workbench/contrib/void/browser/editCodeService.ts index 2b4d2eae..f81b0858 100644 --- a/src/vs/workbench/contrib/void/browser/editCodeService.ts +++ b/src/vs/workbench/contrib/void/browser/editCodeService.ts @@ -72,6 +72,21 @@ registerColor('void.sweepIdxBG', configOfBG(sweepIdxBG), '', true); const numLinesOfStr = (str: string) => str.split('\n').length + +export const getLengthOfTextPx = ({ tabWidth, spaceWidth, content }: { tabWidth: number, spaceWidth: number, content: string }) => { + let lengthOfTextPx = 0; + for (const char of content) { + if (char === '\t') { + lengthOfTextPx += tabWidth + } else { + lengthOfTextPx += spaceWidth; + } + } + + return lengthOfTextPx +} + + const getLeadingWhitespacePx = (editor: ICodeEditor, startLine: number): number => { const model = editor.getModel(); @@ -95,16 +110,14 @@ const getLeadingWhitespacePx = (editor: ICodeEditor, startLine: number): number const spaceWidth = editor.getOption(EditorOption.fontInfo).spaceWidth; const tabWidth = numSpacesInTab * spaceWidth; - let paddingLeft = 0; - for (const char of leadingWhitespace) { - if (char === '\t') { - paddingLeft += tabWidth - } else if (char === ' ') { - paddingLeft += spaceWidth; - } - } + const leftWhitespacePx = getLengthOfTextPx({ + tabWidth, + spaceWidth, + content: leadingWhitespace + }); - return paddingLeft; + + return leftWhitespacePx; };