mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-03-29 08:10:29 -04:00
* Initial 1.19 xcopy * Fix yarn build * Fix numerous build breaks * Next batch of build break fixes * More build break fixes * Runtime breaks * Additional post merge fixes * Fix windows setup file * Fix test failures. * Update license header blocks to refer to source eula
37 lines
991 B
TypeScript
37 lines
991 B
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
export function getSpaceCnt(str: string, tabSize: number) {
|
|
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: number, tabSize: number, insertSpaces: boolean) {
|
|
spacesCnt = spacesCnt < 0 ? 0 : spacesCnt;
|
|
|
|
let result = '';
|
|
if (!insertSpaces) {
|
|
let 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;
|
|
} |