UNPKG

monaco-editor-core

Version:

A browser based code editor

32 lines (31 loc) 1.06 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ export function getSpaceCnt(str, tabSize) { let spacesCnt = 0; for (let i = 0; i < str.length; i++) { if (str.charAt(i) === '\t') { spacesCnt += tabSize; } else { spacesCnt++; } } return spacesCnt; } export function generateIndent(spacesCnt, tabSize, insertSpaces) { spacesCnt = spacesCnt < 0 ? 0 : spacesCnt; let result = ''; if (!insertSpaces) { const tabsCnt = Math.floor(spacesCnt / tabSize); spacesCnt = spacesCnt % tabSize; for (let i = 0; i < tabsCnt; i++) { result += '\t'; } } for (let i = 0; i < spacesCnt; i++) { result += ' '; } return result; }