Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes <johannes.rieken@gmail.com>2022-06-08 18:49:21 +0300
committerJohannes <johannes.rieken@gmail.com>2022-06-08 18:49:21 +0300
commit0656d21d11910e1b241d7d6c52761d89c0ba23a4 (patch)
tree1b83157b21fe9f2702fa8a2019d500de57154dcf /extensions
parentaa23a0dbb749fd3a51a8ed217538c563b8ff012a (diff)
auto-fixed prefer-const violation
Diffstat (limited to 'extensions')
-rw-r--r--extensions/css-language-features/client/src/cssClient.ts20
-rw-r--r--extensions/css-language-features/server/src/languageModelCache.ts22
-rw-r--r--extensions/css-language-features/server/src/requests.ts2
-rw-r--r--extensions/css-language-features/server/src/test/completion.test.ts32
-rw-r--r--extensions/css-language-features/server/src/test/links.test.ts22
-rw-r--r--extensions/css-language-features/server/src/utils/documentContext.ts4
-rw-r--r--extensions/css-language-features/server/src/utils/runner.ts2
-rw-r--r--extensions/css-language-features/server/src/utils/strings.ts2
-rw-r--r--extensions/debug-auto-launch/src/extension.ts4
-rw-r--r--extensions/debug-server-ready/src/extension.ts8
-rw-r--r--extensions/emmet/src/defaultCompletionProvider.ts16
-rw-r--r--extensions/emmet/src/editPoint.ts14
-rw-r--r--extensions/emmet/src/emmetCommon.ts4
-rw-r--r--extensions/emmet/src/incrementDecrement.ts4
-rw-r--r--extensions/emmet/src/matchTag.ts2
-rw-r--r--extensions/emmet/src/removeTag.ts4
-rw-r--r--extensions/emmet/src/selectItem.ts2
-rw-r--r--extensions/emmet/src/selectItemStylesheet.ts8
-rw-r--r--extensions/emmet/src/test/editPointSelectItemBalance.test.ts20
-rw-r--r--extensions/emmet/src/test/partialParsingStylesheet.test.ts26
-rw-r--r--extensions/emmet/src/test/tagActions.test.ts4
-rw-r--r--extensions/emmet/src/toggleComment.ts10
-rw-r--r--extensions/emmet/src/updateImageSize.ts4
-rw-r--r--extensions/emmet/src/updateTag.ts2
-rw-r--r--extensions/emmet/src/util.ts8
-rw-r--r--extensions/extension-editing/src/extensionLinter.ts4
-rw-r--r--extensions/git/src/askpass.ts2
-rw-r--r--extensions/git/src/commands.ts8
-rw-r--r--extensions/git/src/decorationProvider.ts2
-rw-r--r--extensions/git/src/encoding.ts2
-rw-r--r--extensions/git/src/git.ts10
-rw-r--r--extensions/git/src/staging.ts2
-rw-r--r--extensions/git/src/util.ts6
-rw-r--r--extensions/github-authentication/src/common/utils.ts2
-rw-r--r--extensions/github/src/remoteSourceProvider.ts2
-rw-r--r--extensions/grunt/src/main.ts72
-rw-r--r--extensions/gulp/src/main.ts66
-rw-r--r--extensions/html-language-features/client/src/htmlClient.ts20
-rw-r--r--extensions/html-language-features/client/src/node/htmlClientMain.ts2
-rw-r--r--extensions/html-language-features/server/src/modes/cssMode.ts26
-rw-r--r--extensions/html-language-features/server/src/modes/embeddedSupport.ts42
-rw-r--r--extensions/html-language-features/server/src/modes/formatting.ts44
-rw-r--r--extensions/html-language-features/server/src/modes/htmlFolding.ts30
-rw-r--r--extensions/html-language-features/server/src/modes/javascriptMode.ts80
-rw-r--r--extensions/html-language-features/server/src/modes/languageModes.ts20
-rw-r--r--extensions/html-language-features/server/src/modes/selectionRanges.ts2
-rw-r--r--extensions/html-language-features/server/src/modes/semanticTokens.ts12
-rw-r--r--extensions/html-language-features/server/src/requests.ts2
-rw-r--r--extensions/html-language-features/server/src/test/completions.test.ts16
-rw-r--r--extensions/html-language-features/server/src/test/documentContext.test.ts2
-rw-r--r--extensions/html-language-features/server/src/test/formatting.test.ts18
-rw-r--r--extensions/html-language-features/server/src/test/selectionRanges.test.ts2
-rw-r--r--extensions/html-language-features/server/src/test/semanticTokens.test.ts2
-rw-r--r--extensions/html-language-features/server/src/utils/arrays.ts6
-rw-r--r--extensions/html-language-features/server/src/utils/documentContext.ts4
-rw-r--r--extensions/html-language-features/server/src/utils/runner.ts2
-rw-r--r--extensions/html-language-features/server/src/utils/strings.ts8
-rw-r--r--extensions/image-preview/media/main.js2
-rw-r--r--extensions/ipynb/src/test/serializers.test.ts2
-rw-r--r--extensions/jake/src/main.ts70
-rw-r--r--extensions/json-language-features/server/src/jsonServer.ts4
-rw-r--r--extensions/json-language-features/server/src/languageModelCache.ts22
-rw-r--r--extensions/json-language-features/server/src/utils/runner.ts4
-rw-r--r--extensions/json-language-features/server/src/utils/strings.ts2
-rw-r--r--extensions/markdown-language-features/src/languageFeatures/smartSelect.ts2
-rw-r--r--extensions/markdown-language-features/src/test/util.ts2
-rw-r--r--extensions/markdown-language-features/src/util/openDocumentLink.ts2
-rw-r--r--extensions/merge-conflict/src/codelensProvider.ts12
-rw-r--r--extensions/merge-conflict/src/commandHandler.ts14
-rw-r--r--extensions/merge-conflict/src/contentProvider.ts4
-rw-r--r--extensions/merge-conflict/src/delayer.ts4
-rw-r--r--extensions/merge-conflict/src/documentMergeConflict.ts4
-rw-r--r--extensions/merge-conflict/src/documentTracker.ts8
-rw-r--r--extensions/merge-conflict/src/mergeConflictParser.ts8
-rw-r--r--extensions/merge-conflict/src/mergeDecorator.ts12
-rw-r--r--extensions/merge-conflict/src/services.ts2
-rw-r--r--extensions/microsoft-authentication/src/AADHelper.ts4
-rw-r--r--extensions/notebook-renderers/src/ansi.ts2
-rw-r--r--extensions/notebook-renderers/src/textHelper.ts4
-rw-r--r--extensions/npm/src/commands.ts16
-rw-r--r--extensions/npm/src/features/packageJSONContribution.ts12
-rw-r--r--extensions/npm/src/npmMain.ts12
-rw-r--r--extensions/npm/src/npmView.ts20
-rw-r--r--extensions/npm/src/scriptHover.ts20
-rw-r--r--extensions/npm/src/tasks.ts70
-rw-r--r--extensions/php-language-features/src/features/completionItemProvider.ts38
-rw-r--r--extensions/php-language-features/src/features/hoverProvider.ts12
-rw-r--r--extensions/php-language-features/src/features/signatureHelpProvider.ts24
-rw-r--r--extensions/php-language-features/src/features/utils/async.ts6
-rw-r--r--extensions/php-language-features/src/features/validationProvider.ts32
-rw-r--r--extensions/php-language-features/src/phpMain.ts2
-rw-r--r--extensions/references-view/src/references/model.ts22
-rw-r--r--extensions/references-view/src/tree.ts2
-rw-r--r--extensions/references-view/src/utils.ts14
-rw-r--r--extensions/search-result/src/extension.ts4
-rw-r--r--extensions/shared.webpack.config.js4
-rw-r--r--extensions/vscode-api-tests/src/memfs.ts36
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/commands.test.ts28
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/languages.test.ts44
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/notebook.document.test.ts2
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts2
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts4
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts42
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/workspace.tasks.test.ts2
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts140
-rw-r--r--extensions/vscode-colorize-tests/src/colorizer.test.ts12
-rw-r--r--extensions/vscode-test-resolver/src/extension.ts4
107 files changed, 790 insertions, 790 deletions
diff --git a/extensions/css-language-features/client/src/cssClient.ts b/extensions/css-language-features/client/src/cssClient.ts
index 6f6238465d8..ba234ecb2d3 100644
--- a/extensions/css-language-features/client/src/cssClient.ts
+++ b/extensions/css-language-features/client/src/cssClient.ts
@@ -43,14 +43,14 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
const customDataSource = getCustomDataSource(context.subscriptions);
- let documentSelector = ['css', 'scss', 'less'];
+ const documentSelector = ['css', 'scss', 'less'];
const formatterRegistrations: FormatterRegistration[] = documentSelector.map(languageId => ({
languageId, settingId: `${languageId}.format.enable`, provider: undefined
}));
// Options to control the language client
- let clientOptions: LanguageClientOptions = {
+ const clientOptions: LanguageClientOptions = {
documentSelector,
synchronize: {
configurationSection: ['css', 'scss', 'less']
@@ -98,7 +98,7 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
};
// Create the language client and start the client.
- let client = newLanguageClient('css', localize('cssserver.name', 'CSS Language Server'), clientOptions);
+ const client = newLanguageClient('css', localize('cssserver.name', 'CSS Language Server'), clientOptions);
client.registerProposedFeatures();
await client.start();
@@ -125,17 +125,17 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
return languages.registerCompletionItemProvider(documentSelector, {
provideCompletionItems(doc: TextDocument, pos: Position) {
- let lineUntilPos = doc.getText(new Range(new Position(pos.line, 0), pos));
- let match = lineUntilPos.match(regionCompletionRegExpr);
+ const lineUntilPos = doc.getText(new Range(new Position(pos.line, 0), pos));
+ const match = lineUntilPos.match(regionCompletionRegExpr);
if (match) {
- let range = new Range(new Position(pos.line, match[1].length), pos);
- let beginProposal = new CompletionItem('#region', CompletionItemKind.Snippet);
+ const range = new Range(new Position(pos.line, match[1].length), pos);
+ const beginProposal = new CompletionItem('#region', CompletionItemKind.Snippet);
beginProposal.range = range; TextEdit.replace(range, '/* #region */');
beginProposal.insertText = new SnippetString('/* #region $1*/');
beginProposal.documentation = localize('folding.start', 'Folding Region Start');
beginProposal.filterText = match[2];
beginProposal.sortText = 'za';
- let endProposal = new CompletionItem('#endregion', CompletionItemKind.Snippet);
+ const endProposal = new CompletionItem('#endregion', CompletionItemKind.Snippet);
endProposal.range = range;
endProposal.insertText = '/* #endregion */';
endProposal.documentation = localize('folding.end', 'Folding Region End');
@@ -151,13 +151,13 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
commands.registerCommand('_css.applyCodeAction', applyCodeAction);
function applyCodeAction(uri: string, documentVersion: number, edits: TextEdit[]) {
- let textEditor = window.activeTextEditor;
+ const textEditor = window.activeTextEditor;
if (textEditor && textEditor.document.uri.toString() === uri) {
if (textEditor.document.version !== documentVersion) {
window.showInformationMessage(`CSS fix is outdated and can't be applied to the document.`);
}
textEditor.edit(mutator => {
- for (let edit of edits) {
+ for (const edit of edits) {
mutator.replace(client.protocol2CodeConverter.asRange(edit.range), edit.newText);
}
}).then(success => {
diff --git a/extensions/css-language-features/server/src/languageModelCache.ts b/extensions/css-language-features/server/src/languageModelCache.ts
index 343d57a9ad6..f39eada6f44 100644
--- a/extensions/css-language-features/server/src/languageModelCache.ts
+++ b/extensions/css-language-features/server/src/languageModelCache.ts
@@ -18,10 +18,10 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
let cleanupInterval: NodeJS.Timer | undefined = undefined;
if (cleanupIntervalTimeInSec > 0) {
cleanupInterval = setInterval(() => {
- let cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000;
- let uris = Object.keys(languageModels);
- for (let uri of uris) {
- let languageModelInfo = languageModels[uri];
+ const cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000;
+ const uris = Object.keys(languageModels);
+ for (const uri of uris) {
+ const languageModelInfo = languageModels[uri];
if (languageModelInfo.cTime < cutoffTime) {
delete languageModels[uri];
nModels--;
@@ -32,14 +32,14 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
return {
get(document: TextDocument): T {
- let version = document.version;
- let languageId = document.languageId;
- let languageModelInfo = languageModels[document.uri];
+ const version = document.version;
+ const languageId = document.languageId;
+ const languageModelInfo = languageModels[document.uri];
if (languageModelInfo && languageModelInfo.version === version && languageModelInfo.languageId === languageId) {
languageModelInfo.cTime = Date.now();
return languageModelInfo.languageModel;
}
- let languageModel = parse(document);
+ const languageModel = parse(document);
languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now() };
if (!languageModelInfo) {
nModels++;
@@ -48,8 +48,8 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
if (nModels === maxEntries) {
let oldestTime = Number.MAX_VALUE;
let oldestUri = null;
- for (let uri in languageModels) {
- let languageModelInfo = languageModels[uri];
+ for (const uri in languageModels) {
+ const languageModelInfo = languageModels[uri];
if (languageModelInfo.cTime < oldestTime) {
oldestUri = uri;
oldestTime = languageModelInfo.cTime;
@@ -64,7 +64,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
},
onDocumentRemoved(document: TextDocument) {
- let uri = document.uri;
+ const uri = document.uri;
if (languageModels[uri]) {
delete languageModels[uri];
nModels--;
diff --git a/extensions/css-language-features/server/src/requests.ts b/extensions/css-language-features/server/src/requests.ts
index 0726af35c56..3d21e542362 100644
--- a/extensions/css-language-features/server/src/requests.ts
+++ b/extensions/css-language-features/server/src/requests.ts
@@ -65,7 +65,7 @@ export interface RequestService {
export function getRequestService(handledSchemas: string[], connection: Connection, runtime: RuntimeEnvironment): RequestService {
const builtInHandlers: { [protocol: string]: RequestService | undefined } = {};
- for (let protocol of handledSchemas) {
+ for (const protocol of handledSchemas) {
if (protocol === 'file') {
builtInHandlers[protocol] = runtime.file;
} else if (protocol === 'http' || protocol === 'https') {
diff --git a/extensions/css-language-features/server/src/test/completion.test.ts b/extensions/css-language-features/server/src/test/completion.test.ts
index 6881dd0e3e3..23570c7e1e5 100644
--- a/extensions/css-language-features/server/src/test/completion.test.ts
+++ b/extensions/css-language-features/server/src/test/completion.test.ts
@@ -19,13 +19,13 @@ export interface ItemDescription {
suite('Completions', () => {
- let assertCompletion = function (completions: CompletionList, expected: ItemDescription, document: TextDocument, _offset: number) {
- let matches = completions.items.filter(completion => {
+ const assertCompletion = function (completions: CompletionList, expected: ItemDescription, document: TextDocument, _offset: number) {
+ const matches = completions.items.filter(completion => {
return completion.label === expected.label;
});
assert.strictEqual(matches.length, 1, `${expected.label} should only existing once: Actual: ${completions.items.map(c => c.label).join(', ')}`);
- let match = matches[0];
+ const match = matches[0];
if (expected.resultText && TextEdit.is(match.textEdit)) {
assert.strictEqual(TextDocument.applyEdits(document, [match.textEdit]), expected.resultText);
}
@@ -47,21 +47,21 @@ suite('Completions', () => {
const context = getDocumentContext(testUri, workspaceFolders);
const stylesheet = cssLanguageService.parseStylesheet(document);
- let list = await cssLanguageService.doComplete2(document, position, stylesheet, context);
+ const list = await cssLanguageService.doComplete2(document, position, stylesheet, context);
if (expected.count) {
assert.strictEqual(list.items.length, expected.count);
}
if (expected.items) {
- for (let item of expected.items) {
+ for (const item of expected.items) {
assertCompletion(list, item, document, offset);
}
}
}
test('CSS url() Path completion', async function () {
- let testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
- let folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
+ const testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
+ const folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
await assertCompletions('html { background-image: url("./|")', {
items: [
@@ -119,8 +119,8 @@ suite('Completions', () => {
});
test('CSS url() Path Completion - Unquoted url', async function () {
- let testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
- let folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
+ const testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
+ const folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
await assertCompletions('html { background-image: url(./|)', {
items: [
@@ -148,8 +148,8 @@ suite('Completions', () => {
});
test('CSS @import Path completion', async function () {
- let testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
- let folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
+ const testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
+ const folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
await assertCompletions(`@import './|'`, {
items: [
@@ -171,8 +171,8 @@ suite('Completions', () => {
* For SCSS, `@import 'foo';` can be used for importing partial file `_foo.scss`
*/
test('SCSS @import Path completion', async function () {
- let testCSSUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
- let folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
+ const testCSSUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
+ const folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
/**
* We are in a CSS file, so no special treatment for SCSS partial files
@@ -184,7 +184,7 @@ suite('Completions', () => {
]
}, testCSSUri, folders);
- let testSCSSUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/scss/main.scss')).toString();
+ const testSCSSUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/scss/main.scss')).toString();
await assertCompletions(`@import './|'`, {
items: [
{ label: '_foo.scss', resultText: `@import './foo'` }
@@ -193,8 +193,8 @@ suite('Completions', () => {
});
test('Completion should ignore files/folders starting with dot', async function () {
- let testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
- let folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
+ const testUri = URI.file(path.resolve(__dirname, '../../test/pathCompletionFixtures/about/about.css')).toString();
+ const folders = [{ name: 'x', uri: URI.file(path.resolve(__dirname, '../../test')).toString() }];
await assertCompletions('html { background-image: url("../|")', {
count: 4
diff --git a/extensions/css-language-features/server/src/test/links.test.ts b/extensions/css-language-features/server/src/test/links.test.ts
index bc4c6db6477..c19f67e5e4b 100644
--- a/extensions/css-language-features/server/src/test/links.test.ts
+++ b/extensions/css-language-features/server/src/test/links.test.ts
@@ -21,13 +21,13 @@ export interface ItemDescription {
suite('Links', () => {
const cssLanguageService = getCSSLanguageService({ fileSystemProvider: getNodeFSRequestService() });
- let assertLink = function (links: DocumentLink[], expected: ItemDescription, document: TextDocument) {
- let matches = links.filter(link => {
+ const assertLink = function (links: DocumentLink[], expected: ItemDescription, document: TextDocument) {
+ const matches = links.filter(link => {
return document.offsetAt(link.range.start) === expected.offset;
});
assert.strictEqual(matches.length, 1, `${expected.offset} should only existing once: Actual: ${links.map(l => document.offsetAt(l.range.start)).join(', ')}`);
- let match = matches[0];
+ const match = matches[0];
assert.strictEqual(document.getText(match.range), expected.value);
assert.strictEqual(match.target, expected.target);
};
@@ -45,11 +45,11 @@ suite('Links', () => {
const context = getDocumentContext(testUri, workspaceFolders);
const stylesheet = cssLanguageService.parseStylesheet(document);
- let links = await cssLanguageService.findDocumentLinks2(document, stylesheet, context)!;
+ const links = await cssLanguageService.findDocumentLinks2(document, stylesheet, context)!;
assert.strictEqual(links.length, expected.length);
- for (let item of expected) {
+ for (const item of expected) {
assertLink(links, item, document);
}
}
@@ -60,8 +60,8 @@ suite('Links', () => {
test('url links', async function () {
- let testUri = getTestResource('about.css');
- let folders = [{ name: 'x', uri: getTestResource('') }];
+ const testUri = getTestResource('about.css');
+ const folders = [{ name: 'x', uri: getTestResource('') }];
await assertLinks('html { background-image: url("hello.html|")',
[{ offset: 29, value: '"hello.html"', target: getTestResource('hello.html') }], testUri, folders
@@ -70,8 +70,8 @@ suite('Links', () => {
test('node module resolving', async function () {
- let testUri = getTestResource('about.css');
- let folders = [{ name: 'x', uri: getTestResource('') }];
+ const testUri = getTestResource('about.css');
+ const folders = [{ name: 'x', uri: getTestResource('') }];
await assertLinks('html { background-image: url("~foo/hello.html|")',
[{ offset: 29, value: '"~foo/hello.html"', target: getTestResource('node_modules/foo/hello.html') }], testUri, folders
@@ -80,8 +80,8 @@ suite('Links', () => {
test('node module subfolder resolving', async function () {
- let testUri = getTestResource('subdir/about.css');
- let folders = [{ name: 'x', uri: getTestResource('') }];
+ const testUri = getTestResource('subdir/about.css');
+ const folders = [{ name: 'x', uri: getTestResource('') }];
await assertLinks('html { background-image: url("~foo/hello.html|")',
[{ offset: 29, value: '"~foo/hello.html"', target: getTestResource('node_modules/foo/hello.html') }], testUri, folders
diff --git a/extensions/css-language-features/server/src/utils/documentContext.ts b/extensions/css-language-features/server/src/utils/documentContext.ts
index a7beffd0310..0570ac92375 100644
--- a/extensions/css-language-features/server/src/utils/documentContext.ts
+++ b/extensions/css-language-features/server/src/utils/documentContext.ts
@@ -10,7 +10,7 @@ import { Utils, URI } from 'vscode-uri';
export function getDocumentContext(documentUri: string, workspaceFolders: WorkspaceFolder[]): DocumentContext {
function getRootFolder(): string | undefined {
- for (let folder of workspaceFolders) {
+ for (const folder of workspaceFolders) {
let folderURI = folder.uri;
if (!endsWith(folderURI, '/')) {
folderURI = folderURI + '/';
@@ -25,7 +25,7 @@ export function getDocumentContext(documentUri: string, workspaceFolders: Worksp
return {
resolveReference: (ref: string, base = documentUri) => {
if (ref[0] === '/') { // resolve absolute path against the current workspace folder
- let folderUri = getRootFolder();
+ const folderUri = getRootFolder();
if (folderUri) {
return folderUri + ref.substr(1);
}
diff --git a/extensions/css-language-features/server/src/utils/runner.ts b/extensions/css-language-features/server/src/utils/runner.ts
index 47c587537aa..383b88e4487 100644
--- a/extensions/css-language-features/server/src/utils/runner.ts
+++ b/extensions/css-language-features/server/src/utils/runner.ts
@@ -8,7 +8,7 @@ import { RuntimeEnvironment } from '../cssServer';
export function formatError(message: string, err: any): string {
if (err instanceof Error) {
- let error = <Error>err;
+ const error = <Error>err;
return `${message}: ${error.message}\n${error.stack}`;
} else if (typeof err === 'string') {
return `${message}: ${err}`;
diff --git a/extensions/css-language-features/server/src/utils/strings.ts b/extensions/css-language-features/server/src/utils/strings.ts
index 0e9ed34f83d..1e53c4204fd 100644
--- a/extensions/css-language-features/server/src/utils/strings.ts
+++ b/extensions/css-language-features/server/src/utils/strings.ts
@@ -21,7 +21,7 @@ export function startsWith(haystack: string, needle: string): boolean {
* Determines if haystack ends with needle.
*/
export function endsWith(haystack: string, needle: string): boolean {
- let diff = haystack.length - needle.length;
+ const diff = haystack.length - needle.length;
if (diff > 0) {
return haystack.lastIndexOf(needle) === diff;
} else if (diff === 0) {
diff --git a/extensions/debug-auto-launch/src/extension.ts b/extensions/debug-auto-launch/src/extension.ts
index a4a48f5c380..572c468d843 100644
--- a/extensions/debug-auto-launch/src/extension.ts
+++ b/extensions/debug-auto-launch/src/extension.ts
@@ -243,7 +243,7 @@ const createServerInner = async (ipcAddress: string) => {
const createServerInstance = (ipcAddress: string) =>
new Promise<Server>((resolve, reject) => {
const s = createServer(socket => {
- let data: Buffer[] = [];
+ const data: Buffer[] = [];
socket.on('data', async chunk => {
if (chunk[chunk.length - 1] !== 0) {
// terminated with NUL byte
@@ -392,7 +392,7 @@ async function getIpcAddress(context: vscode.ExtensionContext) {
}
function getJsDebugSettingKey() {
- let o: { [key: string]: unknown } = {};
+ const o: { [key: string]: unknown } = {};
const config = vscode.workspace.getConfiguration(SETTING_SECTION);
for (const setting of SETTINGS_CAUSE_REFRESH) {
o[setting] = config.get(setting);
diff --git a/extensions/debug-server-ready/src/extension.ts b/extensions/debug-server-ready/src/extension.ts
index d112651fd09..a3214e1207b 100644
--- a/extensions/debug-server-ready/src/extension.ts
+++ b/extensions/debug-server-ready/src/extension.ts
@@ -57,7 +57,7 @@ class ServerReadyDetector extends vscode.Disposable {
}
static stop(session: vscode.DebugSession): void {
- let detector = ServerReadyDetector.detectors.get(session);
+ const detector = ServerReadyDetector.detectors.get(session);
if (detector) {
ServerReadyDetector.detectors.delete(session);
detector.dispose();
@@ -65,7 +65,7 @@ class ServerReadyDetector extends vscode.Disposable {
}
static rememberShellPid(session: vscode.DebugSession, pid: number) {
- let detector = ServerReadyDetector.detectors.get(session);
+ const detector = ServerReadyDetector.detectors.get(session);
if (detector) {
detector.shellPid = pid;
}
@@ -77,7 +77,7 @@ class ServerReadyDetector extends vscode.Disposable {
// first find the detector with a matching pid
const pid = await e.terminal.processId;
- for (let [, detector] of this.detectors) {
+ for (const [, detector] of this.detectors) {
if (detector.shellPid === pid) {
detector.detectPattern(e.data);
return;
@@ -85,7 +85,7 @@ class ServerReadyDetector extends vscode.Disposable {
}
// if none found, try all detectors until one matches
- for (let [, detector] of this.detectors) {
+ for (const [, detector] of this.detectors) {
if (detector.detectPattern(e.data)) {
return;
}
diff --git a/extensions/emmet/src/defaultCompletionProvider.ts b/extensions/emmet/src/defaultCompletionProvider.ts
index 1462a2ec4d7..c8a6f657d75 100644
--- a/extensions/emmet/src/defaultCompletionProvider.ts
+++ b/extensions/emmet/src/defaultCompletionProvider.ts
@@ -49,7 +49,7 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi
const mappedLanguages = getMappingForIncludedLanguages();
const isSyntaxMapped = mappedLanguages[document.languageId] ? true : false;
- let emmetMode = getEmmetMode((isSyntaxMapped ? mappedLanguages[document.languageId] : document.languageId), mappedLanguages, excludedLanguages);
+ const emmetMode = getEmmetMode((isSyntaxMapped ? mappedLanguages[document.languageId] : document.languageId), mappedLanguages, excludedLanguages);
if (!emmetMode
|| emmetConfig['showExpandedAbbreviation'] === 'never'
@@ -135,7 +135,7 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi
const offset = document.offsetAt(position);
if (isStyleSheet(document.languageId) && context.triggerKind !== vscode.CompletionTriggerKind.TriggerForIncompleteCompletions) {
validateLocation = true;
- let usePartialParsing = vscode.workspace.getConfiguration('emmet')['optimizeStylesheetParsing'] === true;
+ const usePartialParsing = vscode.workspace.getConfiguration('emmet')['optimizeStylesheetParsing'] === true;
rootNode = usePartialParsing && document.lineCount > 1000 ? parsePartialStylesheet(document, position) : <Stylesheet>getRootNode(document, true);
if (!rootNode) {
return;
@@ -152,8 +152,8 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi
if (!rootNode) {
return;
}
- let flatNode = getFlatNode(rootNode, offset, true);
- let embeddedCssNode = getEmbeddedCssNodeIfAny(document, flatNode, position);
+ const flatNode = getFlatNode(rootNode, offset, true);
+ const embeddedCssNode = getEmbeddedCssNodeIfAny(document, flatNode, position);
currentNode = getFlatNode(embeddedCssNode, offset, true);
}
@@ -167,7 +167,7 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi
// Check for document symbols in js/ts/jsx/tsx and avoid triggering emmet for abbreviations of the form symbolName.sometext
// Presence of > or * or + in the abbreviation denotes valid abbreviation that should trigger emmet
if (!isStyleSheet(syntax) && (document.languageId === 'javascript' || document.languageId === 'javascriptreact' || document.languageId === 'typescript' || document.languageId === 'typescriptreact')) {
- let abbreviation: string = extractAbbreviationResults.abbreviation;
+ const abbreviation: string = extractAbbreviationResults.abbreviation;
// For the second condition, we don't want abbreviations that have [] characters but not ='s in them to expand
// In turn, users must explicitly expand abbreviations of the form Component[attr1 attr2], but it means we don't try to expand a[i].
if (abbreviation.startsWith('this.') || /\[[^\]=]*\]/.test(abbreviation)) {
@@ -194,14 +194,14 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi
}
}
- let newItems: vscode.CompletionItem[] = [];
+ const newItems: vscode.CompletionItem[] = [];
if (result && result.items) {
result.items.forEach((item: any) => {
- let newItem = new vscode.CompletionItem(item.label);
+ const newItem = new vscode.CompletionItem(item.label);
newItem.documentation = item.documentation;
newItem.detail = item.detail;
newItem.insertText = new vscode.SnippetString(item.textEdit.newText);
- let oldrange = item.textEdit.range;
+ const oldrange = item.textEdit.range;
newItem.range = new vscode.Range(oldrange.start.line, oldrange.start.character, oldrange.end.line, oldrange.end.character);
newItem.filterText = item.filterText;
diff --git a/extensions/emmet/src/editPoint.ts b/extensions/emmet/src/editPoint.ts
index 239df1f4cc2..b5137795dc9 100644
--- a/extensions/emmet/src/editPoint.ts
+++ b/extensions/emmet/src/editPoint.ts
@@ -12,9 +12,9 @@ export function fetchEditPoint(direction: string): void {
}
const editor = vscode.window.activeTextEditor;
- let newSelections: vscode.Selection[] = [];
+ const newSelections: vscode.Selection[] = [];
editor.selections.forEach(selection => {
- let updatedSelection = direction === 'next' ? nextEditPoint(selection, editor) : prevEditPoint(selection, editor);
+ const updatedSelection = direction === 'next' ? nextEditPoint(selection, editor) : prevEditPoint(selection, editor);
newSelections.push(updatedSelection);
});
editor.selections = newSelections;
@@ -23,7 +23,7 @@ export function fetchEditPoint(direction: string): void {
function nextEditPoint(selection: vscode.Selection, editor: vscode.TextEditor): vscode.Selection {
for (let lineNum = selection.anchor.line; lineNum < editor.document.lineCount; lineNum++) {
- let updatedSelection = findEditPoint(lineNum, editor, selection.anchor, 'next');
+ const updatedSelection = findEditPoint(lineNum, editor, selection.anchor, 'next');
if (updatedSelection) {
return updatedSelection;
}
@@ -33,7 +33,7 @@ function nextEditPoint(selection: vscode.Selection, editor: vscode.TextEditor):
function prevEditPoint(selection: vscode.Selection, editor: vscode.TextEditor): vscode.Selection {
for (let lineNum = selection.anchor.line; lineNum >= 0; lineNum--) {
- let updatedSelection = findEditPoint(lineNum, editor, selection.anchor, 'prev');
+ const updatedSelection = findEditPoint(lineNum, editor, selection.anchor, 'prev');
if (updatedSelection) {
return updatedSelection;
}
@@ -43,7 +43,7 @@ function prevEditPoint(selection: vscode.Selection, editor: vscode.TextEditor):
function findEditPoint(lineNum: number, editor: vscode.TextEditor, position: vscode.Position, direction: string): vscode.Selection | undefined {
- let line = editor.document.lineAt(lineNum);
+ const line = editor.document.lineAt(lineNum);
let lineContent = line.text;
if (lineNum !== position.line && line.isEmptyOrWhitespace && lineContent.length) {
@@ -53,8 +53,8 @@ function findEditPoint(lineNum: number, editor: vscode.TextEditor, position: vsc
if (lineNum === position.line && direction === 'prev') {
lineContent = lineContent.substr(0, position.character);
}
- let emptyAttrIndex = direction === 'next' ? lineContent.indexOf('""', lineNum === position.line ? position.character : 0) : lineContent.lastIndexOf('""');
- let emptyTagIndex = direction === 'next' ? lineContent.indexOf('><', lineNum === position.line ? position.character : 0) : lineContent.lastIndexOf('><');
+ const emptyAttrIndex = direction === 'next' ? lineContent.indexOf('""', lineNum === position.line ? position.character : 0) : lineContent.lastIndexOf('""');
+ const emptyTagIndex = direction === 'next' ? lineContent.indexOf('><', lineNum === position.line ? position.character : 0) : lineContent.lastIndexOf('><');
let winner = -1;
diff --git a/extensions/emmet/src/emmetCommon.ts b/extensions/emmet/src/emmetCommon.ts
index 5a5e0d872c3..53824c4de29 100644
--- a/extensions/emmet/src/emmetCommon.ts
+++ b/extensions/emmet/src/emmetCommon.ts
@@ -161,8 +161,8 @@ const languageMappingForCompletionProviders: Map<string, string> = new Map<strin
const completionProvidersMapping: Map<string, vscode.Disposable> = new Map<string, vscode.Disposable>();
function registerCompletionProviders(context: vscode.ExtensionContext) {
- let completionProvider = new DefaultCompletionItemProvider();
- let includedLanguages = getMappingForIncludedLanguages();
+ const completionProvider = new DefaultCompletionItemProvider();
+ const includedLanguages = getMappingForIncludedLanguages();
Object.keys(includedLanguages).forEach(language => {
if (languageMappingForCompletionProviders.has(language) && languageMappingForCompletionProviders.get(language) === includedLanguages[language]) {
diff --git a/extensions/emmet/src/incrementDecrement.ts b/extensions/emmet/src/incrementDecrement.ts
index 9e0afa4acf1..f7adf444978 100644
--- a/extensions/emmet/src/incrementDecrement.ts
+++ b/extensions/emmet/src/incrementDecrement.ts
@@ -21,7 +21,7 @@ export function incrementDecrement(delta: number): Thenable<boolean> | undefined
return editor.edit(editBuilder => {
editor.selections.forEach(selection => {
- let rangeToReplace = locate(editor.document, selection.isReversed ? selection.anchor : selection.active);
+ const rangeToReplace = locate(editor.document, selection.isReversed ? selection.anchor : selection.active);
if (!rangeToReplace) {
return;
}
@@ -40,7 +40,7 @@ export function incrementDecrement(delta: number): Thenable<boolean> | undefined
*/
export function update(numString: string, delta: number): string {
let m: RegExpMatchArray | null;
- let decimals = (m = numString.match(/\.(\d+)$/)) ? m[1].length : 1;
+ const decimals = (m = numString.match(/\.(\d+)$/)) ? m[1].length : 1;
let output = String((parseFloat(numString) + delta).toFixed(decimals)).replace(/\.0+$/, '');
if (m = numString.match(/^\-?(0\d+)/)) {
diff --git a/extensions/emmet/src/matchTag.ts b/extensions/emmet/src/matchTag.ts
index d7331a465b2..1c928fb7371 100644
--- a/extensions/emmet/src/matchTag.ts
+++ b/extensions/emmet/src/matchTag.ts
@@ -20,7 +20,7 @@ export function matchTag() {
return;
}
- let updatedSelections: vscode.Selection[] = [];
+ const updatedSelections: vscode.Selection[] = [];
editor.selections.forEach(selection => {
const updatedSelection = getUpdatedSelections(document, rootNode, selection.start);
if (updatedSelection) {
diff --git a/extensions/emmet/src/removeTag.ts b/extensions/emmet/src/removeTag.ts
index c43a9a03e72..b8b5b9eebdf 100644
--- a/extensions/emmet/src/removeTag.ts
+++ b/extensions/emmet/src/removeTag.ts
@@ -19,7 +19,7 @@ export function removeTag() {
return;
}
- let finalRangesToRemove = Array.from(editor.selections).reverse()
+ const finalRangesToRemove = Array.from(editor.selections).reverse()
.reduce<vscode.Range[]>((prev, selection) =>
prev.concat(getRangesToRemove(editor.document, rootNode, selection)), []);
@@ -68,7 +68,7 @@ function getRangesToRemove(document: vscode.TextDocument, rootNode: HtmlFlatNode
}
}
- let rangesToRemove = [];
+ const rangesToRemove = [];
if (openTagRange) {
rangesToRemove.push(openTagRange);
if (closeTagRange) {
diff --git a/extensions/emmet/src/selectItem.ts b/extensions/emmet/src/selectItem.ts
index 52e672eddf3..437dbed7ec9 100644
--- a/extensions/emmet/src/selectItem.ts
+++ b/extensions/emmet/src/selectItem.ts
@@ -21,7 +21,7 @@ export function fetchSelectItem(direction: string): void {
return;
}
- let newSelections: vscode.Selection[] = [];
+ const newSelections: vscode.Selection[] = [];
editor.selections.forEach(selection => {
const selectionStart = selection.isReversed ? selection.active : selection.anchor;
const selectionEnd = selection.isReversed ? selection.anchor : selection.active;
diff --git a/extensions/emmet/src/selectItemStylesheet.ts b/extensions/emmet/src/selectItemStylesheet.ts
index 557d971361b..09f45ee8879 100644
--- a/extensions/emmet/src/selectItemStylesheet.ts
+++ b/extensions/emmet/src/selectItemStylesheet.ts
@@ -28,7 +28,7 @@ export function nextItemStylesheet(document: vscode.TextDocument, startPosition:
if (currentNode.type === 'property' &&
startOffset >= (<Property>currentNode).valueToken.start &&
endOffset <= (<Property>currentNode).valueToken.end) {
- let singlePropertyValue = getSelectionFromProperty(document, currentNode, startOffset, endOffset, false, 'next');
+ const singlePropertyValue = getSelectionFromProperty(document, currentNode, startOffset, endOffset, false, 'next');
if (singlePropertyValue) {
return singlePropertyValue;
}
@@ -77,7 +77,7 @@ export function prevItemStylesheet(document: vscode.TextDocument, startPosition:
if (currentNode.type === 'property' &&
startOffset >= (<Property>currentNode).valueToken.start &&
endOffset <= (<Property>currentNode).valueToken.end) {
- let singlePropertyValue = getSelectionFromProperty(document, currentNode, startOffset, endOffset, false, 'prev');
+ const singlePropertyValue = getSelectionFromProperty(document, currentNode, startOffset, endOffset, false, 'prev');
if (singlePropertyValue) {
return singlePropertyValue;
}
@@ -115,7 +115,7 @@ function getSelectionFromProperty(document: vscode.TextDocument, node: Node | un
}
const propertyNode = <Property>node;
- let propertyValue = propertyNode.valueToken.stream.substring(propertyNode.valueToken.start, propertyNode.valueToken.end);
+ const propertyValue = propertyNode.valueToken.stream.substring(propertyNode.valueToken.start, propertyNode.valueToken.end);
selectFullValue = selectFullValue ||
(direction === 'prev' && selectionStart === propertyNode.valueToken.start && selectionEnd < propertyNode.valueToken.end);
@@ -144,7 +144,7 @@ function getSelectionFromProperty(document: vscode.TextDocument, node: Node | un
}
- let [newSelectionStartOffset, newSelectionEndOffset] = direction === 'prev' ? findPrevWord(propertyValue, pos) : findNextWord(propertyValue, pos);
+ const [newSelectionStartOffset, newSelectionEndOffset] = direction === 'prev' ? findPrevWord(propertyValue, pos) : findNextWord(propertyValue, pos);
if (!newSelectionStartOffset && !newSelectionEndOffset) {
return;
}
diff --git a/extensions/emmet/src/test/editPointSelectItemBalance.test.ts b/extensions/emmet/src/test/editPointSelectItemBalance.test.ts
index b631b156d24..c698e85c683 100644
--- a/extensions/emmet/src/test/editPointSelectItemBalance.test.ts
+++ b/extensions/emmet/src/test/editPointSelectItemBalance.test.ts
@@ -62,13 +62,13 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(htmlContents, '.html', (editor, _) => {
editor.selections = [new Selection(1, 5, 1, 5)];
- let expectedNextEditPoints: [number, number][] = [[4, 16], [6, 8], [10, 2], [10, 2]];
+ const expectedNextEditPoints: [number, number][] = [[4, 16], [6, 8], [10, 2], [10, 2]];
expectedNextEditPoints.forEach(([line, col]) => {
fetchEditPoint('next');
testSelection(editor.selection, col, line);
});
- let expectedPrevEditPoints = [[6, 8], [4, 16], [4, 16]];
+ const expectedPrevEditPoints = [[6, 8], [4, 16], [4, 16]];
expectedPrevEditPoints.forEach(([line, col]) => {
fetchEditPoint('prev');
testSelection(editor.selection, col, line);
@@ -82,7 +82,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(htmlContents, '.html', (editor, _) => {
editor.selections = [new Selection(2, 2, 2, 2)];
- let expectedNextItemPoints: [number, number, number][] = [
+ const expectedNextItemPoints: [number, number, number][] = [
[2, 1, 5], // html
[2, 6, 15], // lang="en"
[2, 12, 14], // en
@@ -141,7 +141,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(templateContents, '.html', (editor, _) => {
editor.selections = [new Selection(2, 2, 2, 2)];
- let expectedNextItemPoints: [number, number, number][] = [
+ const expectedNextItemPoints: [number, number, number][] = [
[2, 2, 5], // div
[2, 6, 20], // class="header"
[2, 13, 19], // header
@@ -170,7 +170,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(cssContents, '.css', (editor, _) => {
editor.selections = [new Selection(0, 0, 0, 0)];
- let expectedNextItemPoints: [number, number, number][] = [
+ const expectedNextItemPoints: [number, number, number][] = [
[1, 0, 4], // .boo
[2, 1, 19], // margin: 20px 10px;
[2, 9, 18], // 20px 10px
@@ -201,7 +201,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(scssContents, '.scss', (editor, _) => {
editor.selections = [new Selection(0, 0, 0, 0)];
- let expectedNextItemPoints: [number, number, number][] = [
+ const expectedNextItemPoints: [number, number, number][] = [
[1, 0, 4], // .boo
[2, 1, 19], // margin: 20px 10px;
[2, 9, 18], // 20px 10px
@@ -232,7 +232,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(htmlContents, 'html', (editor, _) => {
editor.selections = [new Selection(14, 6, 14, 10)];
- let expectedBalanceOutRanges: [number, number, number, number][] = [
+ const expectedBalanceOutRanges: [number, number, number, number][] = [
[14, 3, 14, 32], // <li class="item1">Item 1</li>
[13, 23, 16, 2], // inner contents of <ul class="nav main">
[13, 2, 16, 7], // outer contents of <ul class="nav main">
@@ -249,7 +249,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
});
editor.selections = [new Selection(12, 7, 12, 7)];
- let expectedBalanceInRanges: [number, number, number, number][] = [
+ const expectedBalanceInRanges: [number, number, number, number][] = [
[12, 21, 17, 1], // inner contents of <div class="header">
[13, 2, 16, 7], // outer contents of <ul class="nav main">
[13, 23, 16, 2], // inner contents of <ul class="nav main">
@@ -269,7 +269,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(htmlContents, 'html', (editor, _) => {
editor.selections = [new Selection(15, 6, 15, 10)];
- let expectedBalanceOutRanges: [number, number, number, number][] = [
+ const expectedBalanceOutRanges: [number, number, number, number][] = [
[15, 3, 15, 32], // <li class="item1">Item 2</li>
[13, 23, 16, 2], // inner contents of <ul class="nav main">
[13, 2, 16, 7], // outer contents of <ul class="nav main">
@@ -327,7 +327,7 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
return withRandomFileEditor(htmlTemplate, 'html', (editor, _) => {
editor.selections = [new Selection(5, 24, 5, 24)];
- let expectedBalanceOutRanges: [number, number, number, number][] = [
+ const expectedBalanceOutRanges: [number, number, number, number][] = [
[5, 20, 5, 26], // <li class="item1">``Item 2''</li>
[5, 2, 5, 31], // ``<li class="item1">Item 2</li>''
[3, 22, 6, 1], // inner contents of ul
diff --git a/extensions/emmet/src/test/partialParsingStylesheet.test.ts b/extensions/emmet/src/test/partialParsingStylesheet.test.ts
index d29348af3af..03b6a1a5dbd 100644
--- a/extensions/emmet/src/test/partialParsingStylesheet.test.ts
+++ b/extensions/emmet/src/test/partialParsingStylesheet.test.ts
@@ -30,12 +30,12 @@ p {
} p
`;
return withRandomFileEditor(cssContents, '.css', (_, doc) => {
- let rangesForEmmet = [
+ const rangesForEmmet = [
new vscode.Range(3, 18, 3, 19), // Same line after block comment
new vscode.Range(4, 1, 4, 2), // p after block comment
new vscode.Range(5, 1, 5, 3) // p. after block comment
];
- let rangesNotEmmet = [
+ const rangesNotEmmet = [
new vscode.Range(1, 0, 1, 1), // Selector
new vscode.Range(2, 9, 2, 10), // Property value
new vscode.Range(3, 3, 3, 5), // dn inside block comment
@@ -65,7 +65,7 @@ dn {
} bg
`;
return withRandomFileEditor(sassContents, '.scss', (_, doc) => {
- let rangesNotEmmet = [
+ const rangesNotEmmet = [
new vscode.Range(1, 0, 1, 4), // Selector
new vscode.Range(2, 3, 2, 7), // Line commented selector
new vscode.Range(3, 3, 3, 7), // Block commented selector
@@ -94,12 +94,12 @@ comment */
} p
`;
return withRandomFileEditor(cssContents, '.css', (_, doc) => {
- let rangesForEmmet = [
+ const rangesForEmmet = [
new vscode.Range(7, 18, 7, 19), // Same line after block comment
new vscode.Range(8, 1, 8, 2), // p after block comment
new vscode.Range(9, 1, 9, 3) // p. after block comment
];
- let rangesNotEmmet = [
+ const rangesNotEmmet = [
new vscode.Range(1, 2, 1, 3), // Selector
new vscode.Range(3, 3, 3, 4), // Inside multiline comment
new vscode.Range(5, 0, 5, 1), // Opening Brace
@@ -133,13 +133,13 @@ comment */
}}}
`;
return withRandomFileEditor(sassContents, '.scss', (_, doc) => {
- let rangesForEmmet = [
+ const rangesForEmmet = [
new vscode.Range(2, 1, 2, 2), // Inside a ruleset before errors
new vscode.Range(3, 1, 3, 2), // Inside a ruleset after no serious error
new vscode.Range(7, 1, 7, 2), // @ inside a so far well structured ruleset
new vscode.Range(9, 2, 9, 3), // @ inside a so far well structured nested ruleset
];
- let rangesNotEmmet = [
+ const rangesNotEmmet = [
new vscode.Range(4, 4, 4, 5), // p inside ruleset without proper selector
new vscode.Range(6, 3, 6, 4) // In selector
];
@@ -158,14 +158,14 @@ comment */
.foo{dn}.bar{.boo{dn}dn}.comd{/*{dn*/p{div{dn}} }.foo{.other{dn}} dn
`;
return withRandomFileEditor(sassContents, '.scss', (_, doc) => {
- let rangesForEmmet = [
+ const rangesForEmmet = [
new vscode.Range(1, 5, 1, 7), // Inside a ruleset
new vscode.Range(1, 18, 1, 20), // Inside a nested ruleset
new vscode.Range(1, 21, 1, 23), // Inside ruleset after nested one.
new vscode.Range(1, 43, 1, 45), // Inside nested ruleset after comment
new vscode.Range(1, 61, 1, 63) // Inside nested ruleset
];
- let rangesNotEmmet = [
+ const rangesNotEmmet = [
new vscode.Range(1, 3, 1, 4), // In foo selector
new vscode.Range(1, 10, 1, 11), // In bar selector
new vscode.Range(1, 15, 1, 16), // In boo selector
@@ -197,11 +197,11 @@ p.#{dn} {
}
`;
return withRandomFileEditor(sassContents, '.scss', (_, doc) => {
- let rangesForEmmet = [
+ const rangesForEmmet = [
new vscode.Range(2, 1, 2, 4), // p.3 inside a ruleset whose selector uses interpolation
new vscode.Range(4, 1, 4, 3) // dn inside ruleset after property with variable
];
- let rangesNotEmmet = [
+ const rangesNotEmmet = [
new vscode.Range(1, 0, 1, 1), // In p in selector
new vscode.Range(1, 2, 1, 3), // In # in selector
new vscode.Range(1, 4, 1, 6), // In dn inside variable in selector
@@ -237,13 +237,13 @@ ment */{
}
`;
return withRandomFileEditor(sassContents, '.scss', (_, doc) => {
- let rangesForEmmet = [
+ const rangesForEmmet = [
new vscode.Range(2, 14, 2, 21), // brs6-2p with a block commented line comment ('/* */' overrides '//')
new vscode.Range(3, 1, 3, 3), // dn after a line with combined comments inside a ruleset
new vscode.Range(9, 1, 9, 4), // m10 inside ruleset whose selector is before a comment
new vscode.Range(12, 1, 12, 5) // op3 inside a ruleset with commented extra braces
];
- let rangesNotEmmet = [
+ const rangesNotEmmet = [
new vscode.Range(2, 4, 2, 5), // In p inside block comment
new vscode.Range(2, 9, 2, 10), // In p inside block comment and after line comment
new vscode.Range(6, 3, 6, 4) // In c inside block comment
diff --git a/extensions/emmet/src/test/tagActions.test.ts b/extensions/emmet/src/test/tagActions.test.ts
index c9f8a7fe4fe..c8680dd66f0 100644
--- a/extensions/emmet/src/test/tagActions.test.ts
+++ b/extensions/emmet/src/test/tagActions.test.ts
@@ -43,7 +43,7 @@ suite('Tests for Emmet actions on html tags', () => {
</div>
`;
- let contentsWithTemplate = `
+ const contentsWithTemplate = `
<script type="text/template">
<ul>
<li><span>Hello</span></li>
@@ -353,7 +353,7 @@ suite('Tests for Emmet actions on html tags', () => {
});
test('match tag with template scripts', () => {
- let templateScript = `
+ const templateScript = `
<script type="text/template">
<div>
Hello
diff --git a/extensions/emmet/src/toggleComment.ts b/extensions/emmet/src/toggleComment.ts
index e40f675c3eb..6c9dc0251c4 100644
--- a/extensions/emmet/src/toggleComment.ts
+++ b/extensions/emmet/src/toggleComment.ts
@@ -27,7 +27,7 @@ export function toggleComment(): Thenable<boolean> | undefined {
}
return editor.edit(editBuilder => {
- let allEdits: vscode.TextEdit[][] = [];
+ const allEdits: vscode.TextEdit[][] = [];
Array.from(editor.selections).reverse().forEach(selection => {
const edits = isStyleSheet(editor.document.languageId) ? toggleCommentStylesheet(editor.document, selection, <Stylesheet>rootNode) : toggleCommentHTML(editor.document, selection, rootNode!);
if (edits.length > 0) {
@@ -37,7 +37,7 @@ export function toggleComment(): Thenable<boolean> | undefined {
// Apply edits in order so we can skip nested ones.
allEdits.sort((arr1, arr2) => {
- let result = arr1[0].range.start.line - arr2[0].range.start.line;
+ const result = arr1[0].range.start.line - arr2[0].range.start.line;
return result === 0 ? arr1[0].range.start.character - arr2[0].range.start.character : result;
});
let lastEditPosition = new vscode.Position(0, 0);
@@ -76,7 +76,7 @@ function toggleCommentHTML(document: vscode.TextDocument, selection: vscode.Sele
return toggleCommentStylesheet(document, selection, cssRootNode);
}
- let allNodes: Node[] = getNodesInBetween(startNode, endNode);
+ const allNodes: Node[] = getNodesInBetween(startNode, endNode);
let edits: vscode.TextEdit[] = [];
allNodes.forEach(node => {
@@ -132,8 +132,8 @@ function toggleCommentStylesheet(document: vscode.TextDocument, selection: vscod
}
// Uncomment the comments that intersect with the selection.
- let rangesToUnComment: vscode.Range[] = [];
- let edits: vscode.TextEdit[] = [];
+ const rangesToUnComment: vscode.Range[] = [];
+ const edits: vscode.TextEdit[] = [];
rootNode.comments.forEach(comment => {
const commentRange = offsetRangeToVsRange(document, comment.start, comment.end);
if (selection.intersection(commentRange)) {
diff --git a/extensions/emmet/src/updateImageSize.ts b/extensions/emmet/src/updateImageSize.ts
index 3a9204c0580..23838576c50 100644
--- a/extensions/emmet/src/updateImageSize.ts
+++ b/extensions/emmet/src/updateImageSize.ts
@@ -193,7 +193,7 @@ function updateHTMLTag(editor: TextEditor, node: HtmlNode, width: number, height
const quote = getAttributeQuote(editor, srcAttr);
const endOfAttributes = node.attributes[node.attributes.length - 1].end;
- let edits: TextEdit[] = [];
+ const edits: TextEdit[] = [];
let textToAdd = '';
if (!widthAttr) {
@@ -226,7 +226,7 @@ function updateCSSNode(editor: TextEditor, srcProp: Property, width: number, hei
const separator = srcProp.separator || ': ';
const before = getPropertyDelimitor(editor, srcProp);
- let edits: TextEdit[] = [];
+ const edits: TextEdit[] = [];
if (!srcProp.terminatorToken) {
edits.push(new TextEdit(offsetRangeToVsRange(document, srcProp.end, srcProp.end), ';'));
}
diff --git a/extensions/emmet/src/updateTag.ts b/extensions/emmet/src/updateTag.ts
index d58cd31505c..1d0a2971c06 100644
--- a/extensions/emmet/src/updateTag.ts
+++ b/extensions/emmet/src/updateTag.ts
@@ -54,7 +54,7 @@ export async function updateTag(tagName: string | undefined): Promise<boolean |
}
function getRangesFromNode(node: HtmlFlatNode, document: vscode.TextDocument): TagRange[] {
- let ranges: TagRange[] = [];
+ const ranges: TagRange[] = [];
if (node.open) {
const start = document.positionAt(node.open.start);
ranges.push({
diff --git a/extensions/emmet/src/util.ts b/extensions/emmet/src/util.ts
index ee45de467e6..adbfe963a5b 100644
--- a/extensions/emmet/src/util.ts
+++ b/extensions/emmet/src/util.ts
@@ -58,7 +58,7 @@ export function updateEmmetExtensionsPath(forceRefresh: boolean = false) {
*/
export function migrateEmmetExtensionsPath() {
// Get the detail info of emmet.extensionsPath setting
- let config = vscode.workspace.getConfiguration().inspect('emmet.extensionsPath');
+ const config = vscode.workspace.getConfiguration().inspect('emmet.extensionsPath');
// Update Global setting if the value type is string or the value is null
if (typeof config?.globalValue === 'string') {
@@ -100,12 +100,12 @@ export const LANGUAGE_MODES: { [id: string]: string[] } = {
};
export function isStyleSheet(syntax: string): boolean {
- let stylesheetSyntaxes = ['css', 'scss', 'sass', 'less', 'stylus'];
+ const stylesheetSyntaxes = ['css', 'scss', 'sass', 'less', 'stylus'];
return stylesheetSyntaxes.includes(syntax);
}
export function validate(allowStylesheet: boolean = true): boolean {
- let editor = vscode.window.activeTextEditor;
+ const editor = vscode.window.activeTextEditor;
if (!editor) {
vscode.window.showInformationMessage('No editor is active');
return false;
@@ -197,7 +197,7 @@ export function parsePartialStylesheet(document: vscode.TextDocument, position:
function findOpeningCommentBeforePosition(pos: number): number | undefined {
const text = document.getText().substring(0, pos);
- let offset = text.lastIndexOf('/*');
+ const offset = text.lastIndexOf('/*');
if (offset === -1) {
return;
}
diff --git a/extensions/extension-editing/src/extensionLinter.ts b/extensions/extension-editing/src/extensionLinter.ts
index d4067e5265a..e1bda75fc04 100644
--- a/extensions/extension-editing/src/extensionLinter.ts
+++ b/extensions/extension-editing/src/extensionLinter.ts
@@ -338,7 +338,7 @@ export class ExtensionLinter {
if (!hasScheme && !info.hasHttpsRepository) {
const range = new Range(document.positionAt(begin), document.positionAt(end));
- let message = (() => {
+ const message = (() => {
switch (context) {
case Context.ICON: return relativeIconUrlRequiresHttpsRepository;
case Context.BADGE: return relativeBadgeUrlRequiresHttpsRepository;
@@ -367,7 +367,7 @@ export class ExtensionLinter {
function parseUri(src: string, base?: string, retry: boolean = true): Uri | null {
try {
- let url = new URL(src, base);
+ const url = new URL(src, base);
return Uri.parse(url.toString());
} catch (err) {
if (retry) {
diff --git a/extensions/git/src/askpass.ts b/extensions/git/src/askpass.ts
index 81895a0e0d6..2f9678c6e04 100644
--- a/extensions/git/src/askpass.ts
+++ b/extensions/git/src/askpass.ts
@@ -80,7 +80,7 @@ export class Askpass implements IIPCHandler {
};
}
- let env: { [key: string]: string } = {
+ const env: { [key: string]: string } = {
...this.ipc.getEnv(),
VSCODE_GIT_ASKPASS_NODE: process.execPath,
VSCODE_GIT_ASKPASS_EXTRA_ARGS: (process.versions['electron'] && process.versions['microsoft-build']) ? '--ms-enable-electron-run-as-node' : '',
diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts
index 32812e42159..cd43dc2ea6e 100644
--- a/extensions/git/src/commands.ts
+++ b/extensions/git/src/commands.ts
@@ -418,8 +418,8 @@ export class CommandCenter {
type InputData = { uri: Uri; detail?: string; description?: string };
const mergeUris = toMergeUris(uri);
- let input1: InputData = { uri: mergeUris.ours };
- let input2: InputData = { uri: mergeUris.theirs };
+ const input1: InputData = { uri: mergeUris.ours };
+ const input2: InputData = { uri: mergeUris.theirs };
try {
const [head, mergeHead] = await Promise.all([repo.getCommit('HEAD'), repo.getCommit('MERGE_HEAD')]);
@@ -1561,7 +1561,7 @@ export class CommandCenter {
}
}
- let message = await getCommitMessage();
+ const message = await getCommitMessage();
if (!message && !opts.amend) {
return false;
@@ -1627,7 +1627,7 @@ export class CommandCenter {
let _message: string | undefined = message;
if (!_message) {
- let value: string | undefined = undefined;
+ const value: string | undefined = undefined;
if (opts && opts.amend && repository.HEAD && repository.HEAD.commit) {
return undefined;
diff --git a/extensions/git/src/decorationProvider.ts b/extensions/git/src/decorationProvider.ts
index 637b30d198a..ec4a5524068 100644
--- a/extensions/git/src/decorationProvider.ts
+++ b/extensions/git/src/decorationProvider.ts
@@ -106,7 +106,7 @@ class GitDecorationProvider implements FileDecorationProvider {
}
private onDidRunGitStatus(): void {
- let newDecorations = new Map<string, FileDecoration>();
+ const newDecorations = new Map<string, FileDecoration>();
this.collectSubmoduleDecorationData(newDecorations);
this.collectDecorationData(this.repository.indexGroup, newDecorations);
diff --git a/extensions/git/src/encoding.ts b/extensions/git/src/encoding.ts
index ff3eddd8413..a283f628594 100644
--- a/extensions/git/src/encoding.ts
+++ b/extensions/git/src/encoding.ts
@@ -50,7 +50,7 @@ const JSCHARDET_TO_ICONV_ENCODINGS: { [name: string]: string } = {
};
export function detectEncoding(buffer: Buffer): string | null {
- let result = detectEncodingByBOM(buffer);
+ const result = detectEncodingByBOM(buffer);
if (result) {
return result;
diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts
index a511db761a6..203d6949897 100644
--- a/extensions/git/src/git.ts
+++ b/extensions/git/src/git.ts
@@ -406,7 +406,7 @@ export class Git {
}
async clone(url: string, options: ICloneOptions, cancellationToken?: CancellationToken): Promise<string> {
- let baseFolderName = decodeURI(url).replace(/[\/]+$/, '').replace(/^.*[\/\\]/, '').replace(/\.git$/, '') || 'repository';
+ const baseFolderName = decodeURI(url).replace(/[\/]+$/, '').replace(/^.*[\/\\]/, '').replace(/\.git$/, '') || 'repository';
let folderName = baseFolderName;
let folderPath = path.join(options.parentPath, folderName);
let count = 1;
@@ -447,7 +447,7 @@ export class Git {
};
try {
- let command = ['clone', url.includes(' ') ? encodeURI(url) : url, folderPath, '--progress'];
+ const command = ['clone', url.includes(' ') ? encodeURI(url) : url, folderPath, '--progress'];
if (options.recursive) {
command.push('--recursive');
}
@@ -481,7 +481,7 @@ export class Git {
const pathUri = Uri.file(repositoryPath);
if (repoUri.authority.length !== 0 && pathUri.authority.length === 0) {
// eslint-disable-next-line code-no-look-behind-regex
- let match = /(?<=^\/?)([a-zA-Z])(?=:\/)/.exec(pathUri.path);
+ const match = /(?<=^\/?)([a-zA-Z])(?=:\/)/.exec(pathUri.path);
if (match !== null) {
const [, letter] = match;
@@ -794,7 +794,7 @@ export function parseGitmodules(raw: string): Submodule[] {
const commitRegex = /([0-9a-f]{40})\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)(?:\n([^]*?))?(?:\x00)/gm;
export function parseGitCommits(data: string): Commit[] {
- let commits: Commit[] = [];
+ const commits: Commit[] = [];
let ref;
let authorName;
@@ -1543,7 +1543,7 @@ export class Repository {
}
async deleteTag(name: string): Promise<void> {
- let args = ['tag', '-d', name];
+ const args = ['tag', '-d', name];
await this.exec(args);
}
diff --git a/extensions/git/src/staging.ts b/extensions/git/src/staging.ts
index 36e9c6f26e1..2813bfb1ee9 100644
--- a/extensions/git/src/staging.ts
+++ b/extensions/git/src/staging.ts
@@ -9,7 +9,7 @@ export function applyLineChanges(original: TextDocument, modified: TextDocument,
const result: string[] = [];
let currentLine = 0;
- for (let diff of diffs) {
+ for (const diff of diffs) {
const isInsertion = diff.originalEndLineNumber === 0;
const isDeletion = diff.modifiedEndLineNumber === 0;
diff --git a/extensions/git/src/util.ts b/extensions/git/src/util.ts
index b568080bf48..53ab6c9e310 100644
--- a/extensions/git/src/util.ts
+++ b/extensions/git/src/util.ts
@@ -89,7 +89,7 @@ export function eventToPromise<T>(event: Event<T>): Promise<T> {
}
export function once(fn: (...args: any[]) => any): (...args: any[]) => any {
- let didRun = false;
+ const didRun = false;
return (...args) => {
if (didRun) {
@@ -219,11 +219,11 @@ export async function grep(filename: string, pattern: RegExp): Promise<boolean>
export function readBytes(stream: Readable, bytes: number): Promise<Buffer> {
return new Promise<Buffer>((complete, error) => {
let done = false;
- let buffer = Buffer.allocUnsafe(bytes);
+ const buffer = Buffer.allocUnsafe(bytes);
let bytesRead = 0;
stream.on('data', (data: Buffer) => {
- let bytesToRead = Math.min(bytes - bytesRead, data.length);
+ const bytesToRead = Math.min(bytes - bytesRead, data.length);
data.copy(buffer, bytesRead, 0, bytesToRead);
bytesRead += bytesToRead;
diff --git a/extensions/github-authentication/src/common/utils.ts b/extensions/github-authentication/src/common/utils.ts
index c9511ff9b79..b3da59cd08d 100644
--- a/extensions/github-authentication/src/common/utils.ts
+++ b/extensions/github-authentication/src/common/utils.ts
@@ -51,7 +51,7 @@ export function promiseFromEvent<T, U>(
event: Event<T>,
adapter: PromiseAdapter<T, U> = passthrough): { promise: Promise<U>; cancel: EventEmitter<void> } {
let subscription: Disposable;
- let cancel = new EventEmitter<void>();
+ const cancel = new EventEmitter<void>();
return {
promise: new Promise<U>((resolve, reject) => {
cancel.event(_ => reject('Cancelled'));
diff --git a/extensions/github/src/remoteSourceProvider.ts b/extensions/github/src/remoteSourceProvider.ts
index d349a419942..e365a7172b7 100644
--- a/extensions/github/src/remoteSourceProvider.ts
+++ b/extensions/github/src/remoteSourceProvider.ts
@@ -107,7 +107,7 @@ export class GithubRemoteSourceProvider implements RemoteSourceProvider {
let page = 1;
while (true) {
- let res = await octokit.repos.listBranches({ ...repository, per_page: 100, page });
+ const res = await octokit.repos.listBranches({ ...repository, per_page: 100, page });
if (res.data.length === 0) {
break;
diff --git a/extensions/grunt/src/main.ts b/extensions/grunt/src/main.ts
index 597aa909701..c213f1c69c9 100644
--- a/extensions/grunt/src/main.ts
+++ b/extensions/grunt/src/main.ts
@@ -33,7 +33,7 @@ function exec(command: string, options: cp.ExecOptions): Promise<{ stdout: strin
const buildNames: string[] = ['build', 'compile', 'watch'];
function isBuildTask(name: string): boolean {
- for (let buildName of buildNames) {
+ for (const buildName of buildNames) {
if (name.indexOf(buildName) !== -1) {
return true;
}
@@ -43,7 +43,7 @@ function isBuildTask(name: string): boolean {
const testNames: string[] = ['test'];
function isTestTask(name: string): boolean {
- for (let testName of testNames) {
+ for (const testName of testNames) {
if (name.indexOf(testName) !== -1) {
return true;
}
@@ -73,7 +73,7 @@ interface GruntTaskDefinition extends vscode.TaskDefinition {
async function findGruntCommand(rootPath: string): Promise<string> {
let command: string;
- let platform = process.platform;
+ const platform = process.platform;
if (platform === 'win32' && await exists(path.join(rootPath!, 'node_modules', '.bin', 'grunt.cmd'))) {
command = path.join('.', 'node_modules', '.bin', 'grunt.cmd');
} else if ((platform === 'linux' || platform === 'darwin') && await exists(path.join(rootPath!, 'node_modules', '.bin', 'grunt'))) {
@@ -103,7 +103,7 @@ class FolderDetector {
}
public start(): void {
- let pattern = path.join(this._workspaceFolder.uri.fsPath, '{node_modules,[Gg]runtfile.js}');
+ const pattern = path.join(this._workspaceFolder.uri.fsPath, '{node_modules,[Gg]runtfile.js}');
this.fileWatcher = vscode.workspace.createFileSystemWatcher(pattern);
this.fileWatcher.onDidChange(() => this.promise = undefined);
this.fileWatcher.onDidCreate(() => this.promise = undefined);
@@ -125,9 +125,9 @@ class FolderDetector {
const taskDefinition = <any>_task.definition;
const gruntTask = taskDefinition.task;
if (gruntTask) {
- let options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
- let source = 'grunt';
- let task = gruntTask.indexOf(' ') === -1
+ const options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
+ const source = 'grunt';
+ const task = gruntTask.indexOf(' ') === -1
? new vscode.Task(taskDefinition, this.workspaceFolder, gruntTask, source, new vscode.ShellExecution(`${await this._gruntCommand}`, [gruntTask, ...taskDefinition.args], options))
: new vscode.Task(taskDefinition, this.workspaceFolder, gruntTask, source, new vscode.ShellExecution(`${await this._gruntCommand}`, [`"${gruntTask}"`, ...taskDefinition.args], options));
return task;
@@ -136,8 +136,8 @@ class FolderDetector {
}
private async computeTasks(): Promise<vscode.Task[]> {
- let rootPath = this._workspaceFolder.uri.scheme === 'file' ? this._workspaceFolder.uri.fsPath : undefined;
- let emptyTasks: vscode.Task[] = [];
+ const rootPath = this._workspaceFolder.uri.scheme === 'file' ? this._workspaceFolder.uri.fsPath : undefined;
+ const emptyTasks: vscode.Task[] = [];
if (!rootPath) {
return emptyTasks;
}
@@ -145,14 +145,14 @@ class FolderDetector {
return emptyTasks;
}
- let commandLine = `${await this._gruntCommand} --help --no-color`;
+ const commandLine = `${await this._gruntCommand} --help --no-color`;
try {
- let { stdout, stderr } = await exec(commandLine, { cwd: rootPath });
+ const { stdout, stderr } = await exec(commandLine, { cwd: rootPath });
if (stderr) {
getOutputChannel().appendLine(stderr);
showError();
}
- let result: vscode.Task[] = [];
+ const result: vscode.Task[] = [];
if (stdout) {
// grunt lists tasks as follows (description is wrapped into a new line if too long):
// ...
@@ -166,10 +166,10 @@ class FolderDetector {
//
// Tasks run in the order specified
- let lines = stdout.split(/\r{0,1}\n/);
+ const lines = stdout.split(/\r{0,1}\n/);
let tasksStart = false;
let tasksEnd = false;
- for (let line of lines) {
+ for (const line of lines) {
if (line.length === 0) {
continue;
}
@@ -181,21 +181,21 @@ class FolderDetector {
if (line.indexOf('Tasks run in the order specified') === 0) {
tasksEnd = true;
} else {
- let regExp = /^\s*(\S.*\S) \S/g;
- let matches = regExp.exec(line);
+ const regExp = /^\s*(\S.*\S) \S/g;
+ const matches = regExp.exec(line);
if (matches && matches.length === 2) {
- let name = matches[1];
- let kind: GruntTaskDefinition = {
+ const name = matches[1];
+ const kind: GruntTaskDefinition = {
type: 'grunt',
task: name
};
- let source = 'grunt';
- let options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
- let task = name.indexOf(' ') === -1
+ const source = 'grunt';
+ const options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
+ const task = name.indexOf(' ') === -1
? new vscode.Task(kind, this.workspaceFolder, name, source, new vscode.ShellExecution(`${await this._gruntCommand} ${name}`, options))
: new vscode.Task(kind, this.workspaceFolder, name, source, new vscode.ShellExecution(`${await this._gruntCommand} "${name}"`, options));
result.push(task);
- let lowerCaseTaskName = name.toLowerCase();
+ const lowerCaseTaskName = name.toLowerCase();
if (isBuildTask(lowerCaseTaskName)) {
task.group = vscode.TaskGroup.Build;
} else if (isTestTask(lowerCaseTaskName)) {
@@ -208,7 +208,7 @@ class FolderDetector {
}
return result;
} catch (err) {
- let channel = getOutputChannel();
+ const channel = getOutputChannel();
if (err.stderr) {
channel.appendLine(err.stderr);
}
@@ -238,7 +238,7 @@ class TaskDetector {
}
public start(): void {
- let folders = vscode.workspace.workspaceFolders;
+ const folders = vscode.workspace.workspaceFolders;
if (folders) {
this.updateWorkspaceFolders(folders, []);
}
@@ -255,15 +255,15 @@ class TaskDetector {
}
private updateWorkspaceFolders(added: readonly vscode.WorkspaceFolder[], removed: readonly vscode.WorkspaceFolder[]): void {
- for (let remove of removed) {
- let detector = this.detectors.get(remove.uri.toString());
+ for (const remove of removed) {
+ const detector = this.detectors.get(remove.uri.toString());
if (detector) {
detector.dispose();
this.detectors.delete(remove.uri.toString());
}
}
- for (let add of added) {
- let detector = new FolderDetector(add, findGruntCommand(add.uri.fsPath));
+ for (const add of added) {
+ const detector = new FolderDetector(add, findGruntCommand(add.uri.fsPath));
this.detectors.set(add.uri.toString(), detector);
if (detector.isEnabled()) {
detector.start();
@@ -273,15 +273,15 @@ class TaskDetector {
}
private updateConfiguration(): void {
- for (let detector of this.detectors.values()) {
+ for (const detector of this.detectors.values()) {
detector.dispose();
this.detectors.delete(detector.workspaceFolder.uri.toString());
}
- let folders = vscode.workspace.workspaceFolders;
+ const folders = vscode.workspace.workspaceFolders;
if (folders) {
- for (let folder of folders) {
+ for (const folder of folders) {
if (!this.detectors.has(folder.uri.toString())) {
- let detector = new FolderDetector(folder, findGruntCommand(folder.uri.fsPath));
+ const detector = new FolderDetector(folder, findGruntCommand(folder.uri.fsPath));
this.detectors.set(folder.uri.toString(), detector);
if (detector.isEnabled()) {
detector.start();
@@ -320,13 +320,13 @@ class TaskDetector {
} else if (this.detectors.size === 1) {
return this.detectors.values().next().value.getTasks();
} else {
- let promises: Promise<vscode.Task[]>[] = [];
- for (let detector of this.detectors.values()) {
+ const promises: Promise<vscode.Task[]>[] = [];
+ for (const detector of this.detectors.values()) {
promises.push(detector.getTasks().then((value) => value, () => []));
}
return Promise.all(promises).then((values) => {
- let result: vscode.Task[] = [];
- for (let tasks of values) {
+ const result: vscode.Task[] = [];
+ for (const tasks of values) {
if (tasks && tasks.length > 0) {
result.push(...tasks);
}
diff --git a/extensions/gulp/src/main.ts b/extensions/gulp/src/main.ts
index 36a3dc5115d..ae7ea83c4a9 100644
--- a/extensions/gulp/src/main.ts
+++ b/extensions/gulp/src/main.ts
@@ -53,7 +53,7 @@ function exec(command: string, options: cp.ExecOptions): Promise<{ stdout: strin
const buildNames: string[] = ['build', 'compile', 'watch'];
function isBuildTask(name: string): boolean {
- for (let buildName of buildNames) {
+ for (const buildName of buildNames) {
if (name.indexOf(buildName) !== -1) {
return true;
}
@@ -63,7 +63,7 @@ function isBuildTask(name: string): boolean {
const testNames: string[] = ['test'];
function isTestTask(name: string): boolean {
- for (let testName of testNames) {
+ for (const testName of testNames) {
if (name.indexOf(testName) !== -1) {
return true;
}
@@ -89,7 +89,7 @@ function showError() {
}
async function findGulpCommand(rootPath: string): Promise<string> {
- let platform = process.platform;
+ const platform = process.platform;
if (platform === 'win32' && await exists(path.join(rootPath, 'node_modules', '.bin', 'gulp.cmd'))) {
const globalGulp = path.join(process.env.APPDATA ? process.env.APPDATA : '', 'npm', 'gulp.cmd');
@@ -132,7 +132,7 @@ class FolderDetector {
}
public start(): void {
- let pattern = path.join(this._workspaceFolder.uri.fsPath, '{node_modules,gulpfile{.babel.js,.esm.js,.js,.mjs,.cjs,.ts}}');
+ const pattern = path.join(this._workspaceFolder.uri.fsPath, '{node_modules,gulpfile{.babel.js,.esm.js,.js,.mjs,.cjs,.ts}}');
this.fileWatcher = vscode.workspace.createFileSystemWatcher(pattern);
this.fileWatcher.onDidChange(() => this.promise = undefined);
this.fileWatcher.onDidCreate(() => this.promise = undefined);
@@ -154,9 +154,9 @@ class FolderDetector {
public async getTask(_task: vscode.Task): Promise<vscode.Task | undefined> {
const gulpTask = (<any>_task.definition).task;
if (gulpTask) {
- let kind: GulpTaskDefinition = (<any>_task.definition);
- let options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
- let task = new vscode.Task(kind, this.workspaceFolder, gulpTask, 'gulp', new vscode.ShellExecution(await this._gulpCommand, [gulpTask], options));
+ const kind: GulpTaskDefinition = (<any>_task.definition);
+ const options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
+ const task = new vscode.Task(kind, this.workspaceFolder, gulpTask, 'gulp', new vscode.ShellExecution(await this._gulpCommand, [gulpTask], options));
return task;
}
return undefined;
@@ -187,7 +187,7 @@ class FolderDetector {
continue;
}
- let basename = path.basename(filename, ext).toLowerCase();
+ const basename = path.basename(filename, ext).toLowerCase();
if (basename === 'gulpfile') {
return true;
}
@@ -203,8 +203,8 @@ class FolderDetector {
}
private async computeTasks(): Promise<vscode.Task[]> {
- let rootPath = this._workspaceFolder.uri.scheme === 'file' ? this._workspaceFolder.uri.fsPath : undefined;
- let emptyTasks: vscode.Task[] = [];
+ const rootPath = this._workspaceFolder.uri.scheme === 'file' ? this._workspaceFolder.uri.fsPath : undefined;
+ const emptyTasks: vscode.Task[] = [];
if (!rootPath) {
return emptyTasks;
}
@@ -213,9 +213,9 @@ class FolderDetector {
return emptyTasks;
}
- let commandLine = `${await this._gulpCommand} --tasks-simple --no-color`;
+ const commandLine = `${await this._gulpCommand} --tasks-simple --no-color`;
try {
- let { stdout, stderr } = await exec(commandLine, { cwd: rootPath });
+ const { stdout, stderr } = await exec(commandLine, { cwd: rootPath });
if (stderr && stderr.length > 0) {
// Filter out "No license field"
const errors = stderr.split('\n');
@@ -225,21 +225,21 @@ class FolderDetector {
showError();
}
}
- let result: vscode.Task[] = [];
+ const result: vscode.Task[] = [];
if (stdout) {
- let lines = stdout.split(/\r{0,1}\n/);
- for (let line of lines) {
+ const lines = stdout.split(/\r{0,1}\n/);
+ for (const line of lines) {
if (line.length === 0) {
continue;
}
- let kind: GulpTaskDefinition = {
+ const kind: GulpTaskDefinition = {
type: 'gulp',
task: line
};
- let options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
- let task = new vscode.Task(kind, this.workspaceFolder, line, 'gulp', new vscode.ShellExecution(await this._gulpCommand, [line], options));
+ const options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
+ const task = new vscode.Task(kind, this.workspaceFolder, line, 'gulp', new vscode.ShellExecution(await this._gulpCommand, [line], options));
result.push(task);
- let lowerCaseLine = line.toLowerCase();
+ const lowerCaseLine = line.toLowerCase();
if (isBuildTask(lowerCaseLine)) {
task.group = vscode.TaskGroup.Build;
} else if (isTestTask(lowerCaseLine)) {
@@ -249,7 +249,7 @@ class FolderDetector {
}
return result;
} catch (err) {
- let channel = getOutputChannel();
+ const channel = getOutputChannel();
if (err.stderr) {
channel.appendLine(err.stderr);
}
@@ -279,7 +279,7 @@ class TaskDetector {
}
public start(): void {
- let folders = vscode.workspace.workspaceFolders;
+ const folders = vscode.workspace.workspaceFolders;
if (folders) {
this.updateWorkspaceFolders(folders, []);
}
@@ -296,15 +296,15 @@ class TaskDetector {
}
private updateWorkspaceFolders(added: readonly vscode.WorkspaceFolder[], removed: readonly vscode.WorkspaceFolder[]): void {
- for (let remove of removed) {
- let detector = this.detectors.get(remove.uri.toString());
+ for (const remove of removed) {
+ const detector = this.detectors.get(remove.uri.toString());
if (detector) {
detector.dispose();
this.detectors.delete(remove.uri.toString());
}
}
- for (let add of added) {
- let detector = new FolderDetector(add, findGulpCommand(add.uri.fsPath));
+ for (const add of added) {
+ const detector = new FolderDetector(add, findGulpCommand(add.uri.fsPath));
this.detectors.set(add.uri.toString(), detector);
if (detector.isEnabled()) {
detector.start();
@@ -314,15 +314,15 @@ class TaskDetector {
}
private updateConfiguration(): void {
- for (let detector of this.detectors.values()) {
+ for (const detector of this.detectors.values()) {
detector.dispose();
this.detectors.delete(detector.workspaceFolder.uri.toString());
}
- let folders = vscode.workspace.workspaceFolders;
+ const folders = vscode.workspace.workspaceFolders;
if (folders) {
- for (let folder of folders) {
+ for (const folder of folders) {
if (!this.detectors.has(folder.uri.toString())) {
- let detector = new FolderDetector(folder, findGulpCommand(folder.uri.fsPath));
+ const detector = new FolderDetector(folder, findGulpCommand(folder.uri.fsPath));
this.detectors.set(folder.uri.toString(), detector);
if (detector.isEnabled()) {
detector.start();
@@ -361,13 +361,13 @@ class TaskDetector {
} else if (this.detectors.size === 1) {
return this.detectors.values().next().value.getTasks();
} else {
- let promises: Promise<vscode.Task[]>[] = [];
- for (let detector of this.detectors.values()) {
+ const promises: Promise<vscode.Task[]>[] = [];
+ for (const detector of this.detectors.values()) {
promises.push(detector.getTasks().then((value) => value, () => []));
}
return Promise.all(promises).then((values) => {
- let result: vscode.Task[] = [];
- for (let tasks of values) {
+ const result: vscode.Task[] = [];
+ for (const tasks of values) {
if (tasks && tasks.length > 0) {
result.push(...tasks);
}
diff --git a/extensions/html-language-features/client/src/htmlClient.ts b/extensions/html-language-features/client/src/htmlClient.ts
index 6c44ceb72a8..60accb3870b 100644
--- a/extensions/html-language-features/client/src/htmlClient.ts
+++ b/extensions/html-language-features/client/src/htmlClient.ts
@@ -131,7 +131,7 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
};
// Create the language client and start the client.
- let client = newLanguageClient('html', localize('htmlserver.name', 'HTML Language Server'), clientOptions);
+ const client = newLanguageClient('html', localize('htmlserver.name', 'HTML Language Server'), clientOptions);
client.registerProposedFeatures();
await client.start();
@@ -208,7 +208,7 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
trimFinalNewlines: filesConfig.get<boolean>('trimFinalNewlines'),
insertFinalNewline: filesConfig.get<boolean>('insertFinalNewline'),
};
- let params: DocumentRangeFormattingParams = {
+ const params: DocumentRangeFormattingParams = {
textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
range: client.code2ProtocolConverter.asRange(range),
options: client.code2ProtocolConverter.asFormattingOptions(options, fileFormattingOptions)
@@ -230,18 +230,18 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
toDispose.push(languages.registerCompletionItemProvider(documentSelector, {
provideCompletionItems(doc, pos) {
const results: CompletionItem[] = [];
- let lineUntilPos = doc.getText(new Range(new Position(pos.line, 0), pos));
- let match = lineUntilPos.match(regionCompletionRegExpr);
+ const lineUntilPos = doc.getText(new Range(new Position(pos.line, 0), pos));
+ const match = lineUntilPos.match(regionCompletionRegExpr);
if (match) {
- let range = new Range(new Position(pos.line, match[1].length), pos);
- let beginProposal = new CompletionItem('#region', CompletionItemKind.Snippet);
+ const range = new Range(new Position(pos.line, match[1].length), pos);
+ const beginProposal = new CompletionItem('#region', CompletionItemKind.Snippet);
beginProposal.range = range;
beginProposal.insertText = new SnippetString('<!-- #region $1-->');
beginProposal.documentation = localize('folding.start', 'Folding Region Start');
beginProposal.filterText = match[2];
beginProposal.sortText = 'za';
results.push(beginProposal);
- let endProposal = new CompletionItem('#endregion', CompletionItemKind.Snippet);
+ const endProposal = new CompletionItem('#endregion', CompletionItemKind.Snippet);
endProposal.range = range;
endProposal.insertText = new SnippetString('<!-- #endregion -->');
endProposal.documentation = localize('folding.end', 'Folding Region End');
@@ -249,10 +249,10 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
endProposal.sortText = 'zb';
results.push(endProposal);
}
- let match2 = lineUntilPos.match(htmlSnippetCompletionRegExpr);
+ const match2 = lineUntilPos.match(htmlSnippetCompletionRegExpr);
if (match2 && doc.getText(new Range(new Position(0, 0), pos)).match(htmlSnippetCompletionRegExpr)) {
- let range = new Range(new Position(pos.line, match2[1].length), pos);
- let snippetProposal = new CompletionItem('HTML sample', CompletionItemKind.Snippet);
+ const range = new Range(new Position(pos.line, match2[1].length), pos);
+ const snippetProposal = new CompletionItem('HTML sample', CompletionItemKind.Snippet);
snippetProposal.range = range;
const content = ['<!DOCTYPE html>',
'<html>',
diff --git a/extensions/html-language-features/client/src/node/htmlClientMain.ts b/extensions/html-language-features/client/src/node/htmlClientMain.ts
index f460d0c1524..11ca6f254f9 100644
--- a/extensions/html-language-features/client/src/node/htmlClientMain.ts
+++ b/extensions/html-language-features/client/src/node/htmlClientMain.ts
@@ -18,7 +18,7 @@ let client: BaseLanguageClient | undefined;
// this method is called when vs code is activated
export async function activate(context: ExtensionContext) {
- let clientPackageJSON = getPackageInfo(context);
+ const clientPackageJSON = getPackageInfo(context);
telemetry = new TelemetryReporter(clientPackageJSON.name, clientPackageJSON.version, clientPackageJSON.aiKey);
const serverMain = `./server/${clientPackageJSON.main.indexOf('/dist/') !== -1 ? 'dist' : 'out'}/node/htmlServerMain`;
diff --git a/extensions/html-language-features/server/src/modes/cssMode.ts b/extensions/html-language-features/server/src/modes/cssMode.ts
index 6bc02acb510..789ac5c287c 100644
--- a/extensions/html-language-features/server/src/modes/cssMode.ts
+++ b/extensions/html-language-features/server/src/modes/cssMode.ts
@@ -9,56 +9,56 @@ import { LanguageMode, Workspace, Color, TextDocument, Position, Range, Completi
import { HTMLDocumentRegions, CSS_STYLE_RULE } from './embeddedSupport';
export function getCSSMode(cssLanguageService: CSSLanguageService, documentRegions: LanguageModelCache<HTMLDocumentRegions>, workspace: Workspace): LanguageMode {
- let embeddedCSSDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument('css'));
- let cssStylesheets = getLanguageModelCache<Stylesheet>(10, 60, document => cssLanguageService.parseStylesheet(document));
+ const embeddedCSSDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument('css'));
+ const cssStylesheets = getLanguageModelCache<Stylesheet>(10, 60, document => cssLanguageService.parseStylesheet(document));
return {
getId() {
return 'css';
},
async doValidation(document: TextDocument, settings = workspace.settings) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return (cssLanguageService.doValidation(embedded, cssStylesheets.get(embedded), settings && settings.css) as Diagnostic[]);
},
async doComplete(document: TextDocument, position: Position, documentContext: DocumentContext, _settings = workspace.settings) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
const stylesheet = cssStylesheets.get(embedded);
return cssLanguageService.doComplete2(embedded, position, stylesheet, documentContext, _settings?.css?.completion) || CompletionList.create();
},
async doHover(document: TextDocument, position: Position, settings = workspace.settings) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.doHover(embedded, position, cssStylesheets.get(embedded), settings?.css?.hover);
},
async findDocumentHighlight(document: TextDocument, position: Position) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.findDocumentHighlights(embedded, position, cssStylesheets.get(embedded));
},
async findDocumentSymbols(document: TextDocument) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.findDocumentSymbols(embedded, cssStylesheets.get(embedded)).filter(s => s.name !== CSS_STYLE_RULE);
},
async findDefinition(document: TextDocument, position: Position) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.findDefinition(embedded, position, cssStylesheets.get(embedded));
},
async findReferences(document: TextDocument, position: Position) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.findReferences(embedded, position, cssStylesheets.get(embedded));
},
async findDocumentColors(document: TextDocument) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.findDocumentColors(embedded, cssStylesheets.get(embedded));
},
async getColorPresentations(document: TextDocument, color: Color, range: Range) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.getColorPresentations(embedded, cssStylesheets.get(embedded), color, range);
},
async getFoldingRanges(document: TextDocument) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.getFoldingRanges(embedded, {});
},
async getSelectionRange(document: TextDocument, position: Position) {
- let embedded = embeddedCSSDocuments.get(document);
+ const embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.getSelectionRanges(embedded, [position], cssStylesheets.get(embedded))[0];
},
onDocumentRemoved(document: TextDocument) {
diff --git a/extensions/html-language-features/server/src/modes/embeddedSupport.ts b/extensions/html-language-features/server/src/modes/embeddedSupport.ts
index 941510d3deb..9cc401fdf38 100644
--- a/extensions/html-language-features/server/src/modes/embeddedSupport.ts
+++ b/extensions/html-language-features/server/src/modes/embeddedSupport.ts
@@ -24,12 +24,12 @@ interface EmbeddedRegion { languageId: string | undefined; start: number; end: n
export function getDocumentRegions(languageService: LanguageService, document: TextDocument): HTMLDocumentRegions {
- let regions: EmbeddedRegion[] = [];
- let scanner = languageService.createScanner(document.getText());
+ const regions: EmbeddedRegion[] = [];
+ const scanner = languageService.createScanner(document.getText());
let lastTagName: string = '';
let lastAttributeName: string | null = null;
let languageIdFromType: string | undefined = undefined;
- let importedScripts: string[] = [];
+ const importedScripts: string[] = [];
let token = scanner.scan();
while (token !== TokenType.EOS) {
@@ -64,11 +64,11 @@ export function getDocumentRegions(languageService: LanguageService, document: T
languageIdFromType = undefined;
}
} else {
- let attributeLanguageId = getAttributeLanguage(lastAttributeName!);
+ const attributeLanguageId = getAttributeLanguage(lastAttributeName!);
if (attributeLanguageId) {
let start = scanner.getTokenOffset();
let end = scanner.getTokenEnd();
- let firstChar = document.getText()[start];
+ const firstChar = document.getText()[start];
if (firstChar === '\'' || firstChar === '"') {
start++;
end--;
@@ -92,14 +92,14 @@ export function getDocumentRegions(languageService: LanguageService, document: T
function getLanguageRanges(document: TextDocument, regions: EmbeddedRegion[], range: Range): LanguageRange[] {
- let result: LanguageRange[] = [];
+ const result: LanguageRange[] = [];
let currentPos = range ? range.start : Position.create(0, 0);
let currentOffset = range ? document.offsetAt(range.start) : 0;
- let endOffset = range ? document.offsetAt(range.end) : document.getText().length;
- for (let region of regions) {
+ const endOffset = range ? document.offsetAt(range.end) : document.getText().length;
+ for (const region of regions) {
if (region.end > currentOffset && region.start < endOffset) {
- let start = Math.max(region.start, currentOffset);
- let startPos = document.positionAt(start);
+ const start = Math.max(region.start, currentOffset);
+ const startPos = document.positionAt(start);
if (currentOffset < region.start) {
result.push({
start: currentPos,
@@ -107,8 +107,8 @@ function getLanguageRanges(document: TextDocument, regions: EmbeddedRegion[], ra
languageId: 'html'
});
}
- let end = Math.min(region.end, endOffset);
- let endPos = document.positionAt(end);
+ const end = Math.min(region.end, endOffset);
+ const endPos = document.positionAt(end);
if (end > region.start) {
result.push({
start: startPos,
@@ -122,7 +122,7 @@ function getLanguageRanges(document: TextDocument, regions: EmbeddedRegion[], ra
}
}
if (currentOffset < endOffset) {
- let endPos = range ? range.end : document.positionAt(endOffset);
+ const endPos = range ? range.end : document.positionAt(endOffset);
result.push({
start: currentPos,
end: endPos,
@@ -133,8 +133,8 @@ function getLanguageRanges(document: TextDocument, regions: EmbeddedRegion[], ra
}
function getLanguagesInDocument(_document: TextDocument, regions: EmbeddedRegion[]): string[] {
- let result = [];
- for (let region of regions) {
+ const result = [];
+ for (const region of regions) {
if (region.languageId && result.indexOf(region.languageId) === -1) {
result.push(region.languageId);
if (result.length === 3) {
@@ -147,8 +147,8 @@ function getLanguagesInDocument(_document: TextDocument, regions: EmbeddedRegion
}
function getLanguageAtPosition(document: TextDocument, regions: EmbeddedRegion[], position: Position): string | undefined {
- let offset = document.offsetAt(position);
- for (let region of regions) {
+ const offset = document.offsetAt(position);
+ for (const region of regions) {
if (region.start <= offset) {
if (offset <= region.end) {
return region.languageId;
@@ -162,10 +162,10 @@ function getLanguageAtPosition(document: TextDocument, regions: EmbeddedRegion[]
function getEmbeddedDocument(document: TextDocument, contents: EmbeddedRegion[], languageId: string, ignoreAttributeValues: boolean): TextDocument {
let currentPos = 0;
- let oldContent = document.getText();
+ const oldContent = document.getText();
let result = '';
let lastSuffix = '';
- for (let c of contents) {
+ for (const c of contents) {
if (c.languageId === languageId && (!ignoreAttributeValues || !c.attributeValue)) {
result = substituteWithWhitespace(result, currentPos, c.start, oldContent, lastSuffix, getPrefix(c));
result += oldContent.substring(c.start, c.end);
@@ -199,7 +199,7 @@ function substituteWithWhitespace(result: string, start: number, end: number, ol
let accumulatedWS = 0;
result += before;
for (let i = start + before.length; i < end; i++) {
- let ch = oldContent[i];
+ const ch = oldContent[i];
if (ch === '\n' || ch === '\r') {
// only write new lines, skip the whitespace
accumulatedWS = 0;
@@ -225,7 +225,7 @@ function append(result: string, str: string, n: number): string {
}
function getAttributeLanguage(attributeName: string): string | null {
- let match = attributeName.match(/^(style)$|^(on\w+)$/i);
+ const match = attributeName.match(/^(style)$|^(on\w+)$/i);
if (!match) {
return null;
}
diff --git a/extensions/html-language-features/server/src/modes/formatting.ts b/extensions/html-language-features/server/src/modes/formatting.ts
index 49c3a0dd68e..aca8ee3b3c2 100644
--- a/extensions/html-language-features/server/src/modes/formatting.ts
+++ b/extensions/html-language-features/server/src/modes/formatting.ts
@@ -8,14 +8,14 @@ import { pushAll } from '../utils/arrays';
import { isEOL } from '../utils/strings';
export async function format(languageModes: LanguageModes, document: TextDocument, formatRange: Range, formattingOptions: FormattingOptions, settings: Settings | undefined, enabledModes: { [mode: string]: boolean }) {
- let result: TextEdit[] = [];
+ const result: TextEdit[] = [];
- let endPos = formatRange.end;
+ const endPos = formatRange.end;
let endOffset = document.offsetAt(endPos);
- let content = document.getText();
+ const content = document.getText();
if (endPos.character === 0 && endPos.line > 0 && endOffset !== content.length) {
// if selection ends after a new line, exclude that new line
- let prevLineStart = document.offsetAt(Position.create(endPos.line - 1, 0));
+ const prevLineStart = document.offsetAt(Position.create(endPos.line - 1, 0));
while (isEOL(content, endOffset - 1) && endOffset > prevLineStart) {
endOffset--;
}
@@ -31,15 +31,15 @@ export async function format(languageModes: LanguageModes, document: TextDocumen
// - no worrying of overlapping edits
// make sure we start in html
- let allRanges = languageModes.getModesInRange(document, formatRange);
+ const allRanges = languageModes.getModesInRange(document, formatRange);
let i = 0;
let startPos = formatRange.start;
- let isHTML = (range: LanguageModeRange) => range.mode && range.mode.getId() === 'html';
+ const isHTML = (range: LanguageModeRange) => range.mode && range.mode.getId() === 'html';
while (i < allRanges.length && !isHTML(allRanges[i])) {
- let range = allRanges[i];
+ const range = allRanges[i];
if (!range.attributeValue && range.mode && range.mode.format) {
- let edits = await range.mode.format(document, Range.create(startPos, range.end), formattingOptions, settings);
+ const edits = await range.mode.format(document, Range.create(startPos, range.end), formattingOptions, settings);
pushAll(result, edits);
}
startPos = range.end;
@@ -52,23 +52,23 @@ export async function format(languageModes: LanguageModes, document: TextDocumen
formatRange = Range.create(startPos, formatRange.end);
// perform a html format and apply changes to a new document
- let htmlMode = languageModes.getMode('html')!;
- let htmlEdits = await htmlMode.format!(document, formatRange, formattingOptions, settings);
- let htmlFormattedContent = TextDocument.applyEdits(document, htmlEdits);
- let newDocument = TextDocument.create(document.uri + '.tmp', document.languageId, document.version, htmlFormattedContent);
+ const htmlMode = languageModes.getMode('html')!;
+ const htmlEdits = await htmlMode.format!(document, formatRange, formattingOptions, settings);
+ const htmlFormattedContent = TextDocument.applyEdits(document, htmlEdits);
+ const newDocument = TextDocument.create(document.uri + '.tmp', document.languageId, document.version, htmlFormattedContent);
try {
// run embedded formatters on html formatted content: - formatters see correct initial indent
- let afterFormatRangeLength = document.getText().length - document.offsetAt(formatRange.end); // length of unchanged content after replace range
- let newFormatRange = Range.create(formatRange.start, newDocument.positionAt(htmlFormattedContent.length - afterFormatRangeLength));
- let embeddedRanges = languageModes.getModesInRange(newDocument, newFormatRange);
+ const afterFormatRangeLength = document.getText().length - document.offsetAt(formatRange.end); // length of unchanged content after replace range
+ const newFormatRange = Range.create(formatRange.start, newDocument.positionAt(htmlFormattedContent.length - afterFormatRangeLength));
+ const embeddedRanges = languageModes.getModesInRange(newDocument, newFormatRange);
- let embeddedEdits: TextEdit[] = [];
+ const embeddedEdits: TextEdit[] = [];
- for (let r of embeddedRanges) {
- let mode = r.mode;
+ for (const r of embeddedRanges) {
+ const mode = r.mode;
if (mode && mode.format && enabledModes[mode.getId()] && !r.attributeValue) {
- let edits = await mode.format(newDocument, r, formattingOptions, settings);
- for (let edit of edits) {
+ const edits = await mode.format(newDocument, r, formattingOptions, settings);
+ for (const edit of edits) {
embeddedEdits.push(edit);
}
}
@@ -80,8 +80,8 @@ export async function format(languageModes: LanguageModes, document: TextDocumen
}
// apply all embedded format edits and create a single edit for all changes
- let resultContent = TextDocument.applyEdits(newDocument, embeddedEdits);
- let resultReplaceText = resultContent.substring(document.offsetAt(formatRange.start), resultContent.length - afterFormatRangeLength);
+ const resultContent = TextDocument.applyEdits(newDocument, embeddedEdits);
+ const resultReplaceText = resultContent.substring(document.offsetAt(formatRange.start), resultContent.length - afterFormatRangeLength);
result.push(TextEdit.replace(formatRange, resultReplaceText));
return result;
diff --git a/extensions/html-language-features/server/src/modes/htmlFolding.ts b/extensions/html-language-features/server/src/modes/htmlFolding.ts
index 78674fb0bc4..38a84e5048a 100644
--- a/extensions/html-language-features/server/src/modes/htmlFolding.ts
+++ b/extensions/html-language-features/server/src/modes/htmlFolding.ts
@@ -7,16 +7,16 @@ import { TextDocument, FoldingRange, Position, Range, LanguageModes, LanguageMod
import { CancellationToken } from 'vscode-languageserver';
export async function getFoldingRanges(languageModes: LanguageModes, document: TextDocument, maxRanges: number | undefined, _cancellationToken: CancellationToken | null): Promise<FoldingRange[]> {
- let htmlMode = languageModes.getMode('html');
- let range = Range.create(Position.create(0, 0), Position.create(document.lineCount, 0));
+ const htmlMode = languageModes.getMode('html');
+ const range = Range.create(Position.create(0, 0), Position.create(document.lineCount, 0));
let result: FoldingRange[] = [];
if (htmlMode && htmlMode.getFoldingRanges) {
result.push(... await htmlMode.getFoldingRanges(document));
}
// cache folding ranges per mode
- let rangesPerMode: { [mode: string]: FoldingRange[] } = Object.create(null);
- let getRangesForMode = async (mode: LanguageMode) => {
+ const rangesPerMode: { [mode: string]: FoldingRange[] } = Object.create(null);
+ const getRangesForMode = async (mode: LanguageMode) => {
if (mode.getFoldingRanges) {
let ranges = rangesPerMode[mode.getId()];
if (!Array.isArray(ranges)) {
@@ -28,9 +28,9 @@ export async function getFoldingRanges(languageModes: LanguageModes, document: T
return [];
};
- let modeRanges = languageModes.getModesInRange(document, range);
- for (let modeRange of modeRanges) {
- let mode = modeRange.mode;
+ const modeRanges = languageModes.getModesInRange(document, range);
+ for (const modeRange of modeRanges) {
+ const mode = modeRange.mode;
if (mode && mode !== htmlMode && !modeRange.attributeValue) {
const ranges = await getRangesForMode(mode);
result.push(...ranges.filter(r => r.startLine >= modeRange.start.line && r.endLine < modeRange.end.line));
@@ -54,11 +54,11 @@ function limitRanges(ranges: FoldingRange[], maxRanges: number) {
// compute each range's nesting level in 'nestingLevels'.
// count the number of ranges for each level in 'nestingLevelCounts'
let top: FoldingRange | undefined = undefined;
- let previous: FoldingRange[] = [];
- let nestingLevels: number[] = [];
- let nestingLevelCounts: number[] = [];
+ const previous: FoldingRange[] = [];
+ const nestingLevels: number[] = [];
+ const nestingLevelCounts: number[] = [];
- let setNestingLevel = (index: number, level: number) => {
+ const setNestingLevel = (index: number, level: number) => {
nestingLevels[index] = level;
if (level < 30) {
nestingLevelCounts[level] = (nestingLevelCounts[level] || 0) + 1;
@@ -67,7 +67,7 @@ function limitRanges(ranges: FoldingRange[], maxRanges: number) {
// compute nesting levels and sanitize
for (let i = 0; i < ranges.length; i++) {
- let entry = ranges[i];
+ const entry = ranges[i];
if (!top) {
top = entry;
setNestingLevel(i, 0);
@@ -93,7 +93,7 @@ function limitRanges(ranges: FoldingRange[], maxRanges: number) {
let entries = 0;
let maxLevel = 0;
for (let i = 0; i < nestingLevelCounts.length; i++) {
- let n = nestingLevelCounts[i];
+ const n = nestingLevelCounts[i];
if (n) {
if (n + entries > maxRanges) {
maxLevel = i;
@@ -102,9 +102,9 @@ function limitRanges(ranges: FoldingRange[], maxRanges: number) {
entries += n;
}
}
- let result = [];
+ const result = [];
for (let i = 0; i < ranges.length; i++) {
- let level = nestingLevels[i];
+ const level = nestingLevels[i];
if (typeof level === 'number') {
if (level < maxLevel || (level === maxLevel && entries++ < maxRanges)) {
result.push(ranges[i]);
diff --git a/extensions/html-language-features/server/src/modes/javascriptMode.ts b/extensions/html-language-features/server/src/modes/javascriptMode.ts
index a119a9248ae..10a70dbe99a 100644
--- a/extensions/html-language-features/server/src/modes/javascriptMode.ts
+++ b/extensions/html-language-features/server/src/modes/javascriptMode.ts
@@ -95,10 +95,10 @@ function getLanguageServiceHost(scriptKind: ts.ScriptKind) {
export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>, languageId: 'javascript' | 'typescript', workspace: Workspace): LanguageMode {
- let jsDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument(languageId));
+ const jsDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument(languageId));
const host = getLanguageServiceHost(languageId === 'javascript' ? ts.ScriptKind.JS : ts.ScriptKind.TS);
- let globalSettings: Settings = {};
+ const globalSettings: Settings = {};
return {
getId() {
@@ -122,12 +122,12 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
async doComplete(document: TextDocument, position: Position, _documentContext: DocumentContext): Promise<CompletionList> {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let offset = jsDocument.offsetAt(position);
- let completions = jsLanguageService.getCompletionsAtPosition(jsDocument.uri, offset, { includeExternalModuleExports: false, includeInsertTextCompletions: false });
+ const offset = jsDocument.offsetAt(position);
+ const completions = jsLanguageService.getCompletionsAtPosition(jsDocument.uri, offset, { includeExternalModuleExports: false, includeInsertTextCompletions: false });
if (!completions) {
return { isIncomplete: false, items: [] };
}
- let replaceRange = convertRange(jsDocument, getWordAtText(jsDocument.getText(), offset, JS_WORD_REGEX));
+ const replaceRange = convertRange(jsDocument, getWordAtText(jsDocument.getText(), offset, JS_WORD_REGEX));
return {
isIncomplete: false,
items: completions.entries.map(entry => {
@@ -152,7 +152,7 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
if (isCompletionItemData(item.data)) {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let details = jsLanguageService.getCompletionEntryDetails(jsDocument.uri, item.data.offset, item.label, undefined, undefined, undefined, undefined);
+ const details = jsLanguageService.getCompletionEntryDetails(jsDocument.uri, item.data.offset, item.label, undefined, undefined, undefined, undefined);
if (details) {
item.detail = ts.displayPartsToString(details.displayParts);
item.documentation = ts.displayPartsToString(details.documentation);
@@ -164,7 +164,7 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
async doHover(document: TextDocument, position: Position): Promise<Hover | null> {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let info = jsLanguageService.getQuickInfoAtPosition(jsDocument.uri, jsDocument.offsetAt(position));
+ const info = jsLanguageService.getQuickInfoAtPosition(jsDocument.uri, jsDocument.offsetAt(position));
if (info) {
const contents = ts.displayPartsToString(info.displayParts);
return {
@@ -177,16 +177,16 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
async doSignatureHelp(document: TextDocument, position: Position): Promise<SignatureHelp | null> {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let signHelp = jsLanguageService.getSignatureHelpItems(jsDocument.uri, jsDocument.offsetAt(position), undefined);
+ const signHelp = jsLanguageService.getSignatureHelpItems(jsDocument.uri, jsDocument.offsetAt(position), undefined);
if (signHelp) {
- let ret: SignatureHelp = {
+ const ret: SignatureHelp = {
activeSignature: signHelp.selectedItemIndex,
activeParameter: signHelp.argumentIndex,
signatures: []
};
signHelp.items.forEach(item => {
- let signature: SignatureInformation = {
+ const signature: SignatureInformation = {
label: '',
documentation: undefined,
parameters: []
@@ -194,8 +194,8 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
signature.label += ts.displayPartsToString(item.prefixDisplayParts);
item.parameters.forEach((p, i, a) => {
- let label = ts.displayPartsToString(p.displayParts);
- let parameter: ParameterInformation = {
+ const label = ts.displayPartsToString(p.displayParts);
+ const parameter: ParameterInformation = {
label: label,
documentation: ts.displayPartsToString(p.documentation)
};
@@ -252,14 +252,14 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
async findDocumentSymbols(document: TextDocument): Promise<SymbolInformation[]> {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let items = jsLanguageService.getNavigationBarItems(jsDocument.uri);
+ const items = jsLanguageService.getNavigationBarItems(jsDocument.uri);
if (items) {
- let result: SymbolInformation[] = [];
- let existing = Object.create(null);
- let collectSymbols = (item: ts.NavigationBarItem, containerLabel?: string) => {
- let sig = item.text + item.kind + item.spans[0].start;
+ const result: SymbolInformation[] = [];
+ const existing = Object.create(null);
+ const collectSymbols = (item: ts.NavigationBarItem, containerLabel?: string) => {
+ const sig = item.text + item.kind + item.spans[0].start;
if (item.kind !== 'script' && !existing[sig]) {
- let symbol: SymbolInformation = {
+ const symbol: SymbolInformation = {
name: item.text,
kind: convertSymbolKind(item.kind),
location: {
@@ -274,7 +274,7 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
}
if (item.childItems && item.childItems.length > 0) {
- for (let child of item.childItems) {
+ for (const child of item.childItems) {
collectSymbols(child, containerLabel);
}
}
@@ -289,7 +289,7 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
async findDefinition(document: TextDocument, position: Position): Promise<Definition | null> {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let definition = jsLanguageService.getDefinitionAtPosition(jsDocument.uri, jsDocument.offsetAt(position));
+ const definition = jsLanguageService.getDefinitionAtPosition(jsDocument.uri, jsDocument.offsetAt(position));
if (definition) {
return definition.filter(d => d.fileName === jsDocument.uri).map(d => {
return {
@@ -303,7 +303,7 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
async findReferences(document: TextDocument, position: Position): Promise<Location[]> {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let references = jsLanguageService.getReferencesAtPosition(jsDocument.uri, jsDocument.offsetAt(position));
+ const references = jsLanguageService.getReferencesAtPosition(jsDocument.uri, jsDocument.offsetAt(position));
if (references) {
return references.filter(d => d.fileName === jsDocument.uri).map(d => {
return {
@@ -328,21 +328,21 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
const jsDocument = documentRegions.get(document).getEmbeddedDocument('javascript', true);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let formatterSettings = settings && settings.javascript && settings.javascript.format;
+ const formatterSettings = settings && settings.javascript && settings.javascript.format;
- let initialIndentLevel = computeInitialIndent(document, range, formatParams);
- let formatSettings = convertOptions(formatParams, formatterSettings, initialIndentLevel + 1);
- let start = jsDocument.offsetAt(range.start);
+ const initialIndentLevel = computeInitialIndent(document, range, formatParams);
+ const formatSettings = convertOptions(formatParams, formatterSettings, initialIndentLevel + 1);
+ const start = jsDocument.offsetAt(range.start);
let end = jsDocument.offsetAt(range.end);
let lastLineRange = null;
if (range.end.line > range.start.line && (range.end.character === 0 || isWhitespaceOnly(jsDocument.getText().substr(end - range.end.character, range.end.character)))) {
end -= range.end.character;
lastLineRange = Range.create(Position.create(range.end.line, 0), range.end);
}
- let edits = jsLanguageService.getFormattingEditsForRange(jsDocument.uri, start, end, formatSettings);
+ const edits = jsLanguageService.getFormattingEditsForRange(jsDocument.uri, start, end, formatSettings);
if (edits) {
- let result = [];
- for (let edit of edits) {
+ const result = [];
+ for (const edit of edits) {
if (edit.span.start >= start && edit.span.start + edit.span.length <= end) {
result.push({
range: convertRange(jsDocument, edit.span),
@@ -363,15 +363,15 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocume
async getFoldingRanges(document: TextDocument): Promise<FoldingRange[]> {
const jsDocument = jsDocuments.get(document);
const jsLanguageService = await host.getLanguageService(jsDocument);
- let spans = jsLanguageService.getOutliningSpans(jsDocument.uri);
- let ranges: FoldingRange[] = [];
- for (let span of spans) {
- let curr = convertRange(jsDocument, span.textSpan);
- let startLine = curr.start.line;
- let endLine = curr.end.line;
+ const spans = jsLanguageService.getOutliningSpans(jsDocument.uri);
+ const ranges: FoldingRange[] = [];
+ for (const span of spans) {
+ const curr = convertRange(jsDocument, span.textSpan);
+ const startLine = curr.start.line;
+ const endLine = curr.end.line;
if (startLine < endLine) {
- let foldingRange: FoldingRange = { startLine, endLine };
- let match = document.getText(curr).match(/^\s*\/(?:(\/\s*#(?:end)?region\b)|(\*|\/))/);
+ const foldingRange: FoldingRange = { startLine, endLine };
+ const match = document.getText(curr).match(/^\s*\/(?:(\/\s*#(?:end)?region\b)|(\*|\/))/);
if (match) {
foldingRange.kind = match[1] ? FoldingRangeKind.Region : FoldingRangeKind.Comment;
}
@@ -563,14 +563,14 @@ function convertOptions(options: FormattingOptions, formatSettings: any, initial
}
function computeInitialIndent(document: TextDocument, range: Range, options: FormattingOptions) {
- let lineStart = document.offsetAt(Position.create(range.start.line, 0));
- let content = document.getText();
+ const lineStart = document.offsetAt(Position.create(range.start.line, 0));
+ const content = document.getText();
let i = lineStart;
let nChars = 0;
- let tabSize = options.tabSize || 4;
+ const tabSize = options.tabSize || 4;
while (i < content.length) {
- let ch = content.charAt(i);
+ const ch = content.charAt(i);
if (ch === ' ') {
nChars++;
} else if (ch === '\t') {
diff --git a/extensions/html-language-features/server/src/modes/languageModes.ts b/extensions/html-language-features/server/src/modes/languageModes.ts
index 59cc742b2b8..620b0914b1b 100644
--- a/extensions/html-language-features/server/src/modes/languageModes.ts
+++ b/extensions/html-language-features/server/src/modes/languageModes.ts
@@ -111,7 +111,7 @@ export function getLanguageModes(supportedLanguages: { [languageId: string]: boo
const htmlLanguageService = getHTMLLanguageService({ clientCapabilities, fileSystemProvider: requestService });
const cssLanguageService = getCSSLanguageService({ clientCapabilities, fileSystemProvider: requestService });
- let documentRegions = getLanguageModelCache<HTMLDocumentRegions>(10, 60, document => getDocumentRegions(htmlLanguageService, document));
+ const documentRegions = getLanguageModelCache<HTMLDocumentRegions>(10, 60, document => getDocumentRegions(htmlLanguageService, document));
let modelCaches: LanguageModelCache<any>[] = [];
modelCaches.push(documentRegions);
@@ -130,7 +130,7 @@ export function getLanguageModes(supportedLanguages: { [languageId: string]: boo
htmlLanguageService.setDataProviders(true, dataProviders);
},
getModeAtPosition(document: TextDocument, position: Position): LanguageMode | undefined {
- let languageId = documentRegions.get(document).getLanguageAtPosition(position);
+ const languageId = documentRegions.get(document).getLanguageAtPosition(position);
if (languageId) {
return modes[languageId];
}
@@ -147,9 +147,9 @@ export function getLanguageModes(supportedLanguages: { [languageId: string]: boo
});
},
getAllModesInDocument(document: TextDocument): LanguageMode[] {
- let result = [];
- for (let languageId of documentRegions.get(document).getLanguagesInDocument()) {
- let mode = modes[languageId];
+ const result = [];
+ for (const languageId of documentRegions.get(document).getLanguagesInDocument()) {
+ const mode = modes[languageId];
if (mode) {
result.push(mode);
}
@@ -157,9 +157,9 @@ export function getLanguageModes(supportedLanguages: { [languageId: string]: boo
return result;
},
getAllModes(): LanguageMode[] {
- let result = [];
- for (let languageId in modes) {
- let mode = modes[languageId];
+ const result = [];
+ for (const languageId in modes) {
+ const mode = modes[languageId];
if (mode) {
result.push(mode);
}
@@ -171,14 +171,14 @@ export function getLanguageModes(supportedLanguages: { [languageId: string]: boo
},
onDocumentRemoved(document: TextDocument) {
modelCaches.forEach(mc => mc.onDocumentRemoved(document));
- for (let mode in modes) {
+ for (const mode in modes) {
modes[mode].onDocumentRemoved(document);
}
},
dispose(): void {
modelCaches.forEach(mc => mc.dispose());
modelCaches = [];
- for (let mode in modes) {
+ for (const mode in modes) {
modes[mode].dispose();
}
modes = {};
diff --git a/extensions/html-language-features/server/src/modes/selectionRanges.ts b/extensions/html-language-features/server/src/modes/selectionRanges.ts
index 1db5cb4d15c..8624f103e04 100644
--- a/extensions/html-language-features/server/src/modes/selectionRanges.ts
+++ b/extensions/html-language-features/server/src/modes/selectionRanges.ts
@@ -12,7 +12,7 @@ export async function getSelectionRanges(languageModes: LanguageModes, document:
const htmlRange = await htmlMode!.getSelectionRange!(document, position);
const mode = languageModes.getModeAtPosition(document, position);
if (mode && mode.getSelectionRange) {
- let range = await mode.getSelectionRange(document, position);
+ const range = await mode.getSelectionRange(document, position);
let top = range;
while (top.parent && insideRangeButNotSame(htmlRange.range, top.parent.range)) {
top = top.parent;
diff --git a/extensions/html-language-features/server/src/modes/semanticTokens.ts b/extensions/html-language-features/server/src/modes/semanticTokens.ts
index 38b0b23c519..dbfffcabdf5 100644
--- a/extensions/html-language-features/server/src/modes/semanticTokens.ts
+++ b/extensions/html-language-features/server/src/modes/semanticTokens.ts
@@ -23,7 +23,7 @@ export function newSemanticTokenProvider(languageModes: LanguageModes): Semantic
const legend: { types: string[]; modifiers: string[] } = { types: [], modifiers: [] };
const legendMappings: { [modeId: string]: LegendMapping } = {};
- for (let mode of languageModes.getAllModes()) {
+ for (const mode of languageModes.getAllModes()) {
if (mode.getSemanticTokenLegend && mode.getSemanticTokens) {
const modeLegend = mode.getSemanticTokenLegend();
legendMappings[mode.getId()] = { types: createMapping(modeLegend.types, legend.types), modifiers: createMapping(modeLegend.modifiers, legend.modifiers) };
@@ -34,13 +34,13 @@ export function newSemanticTokenProvider(languageModes: LanguageModes): Semantic
legend,
async getSemanticTokens(document: TextDocument, ranges?: Range[]): Promise<number[]> {
const allTokens: SemanticTokenData[] = [];
- for (let mode of languageModes.getAllModesInDocument(document)) {
+ for (const mode of languageModes.getAllModesInDocument(document)) {
if (mode.getSemanticTokens) {
const mapping = legendMappings[mode.getId()];
const tokens = await mode.getSemanticTokens(document);
applyTypesMapping(tokens, mapping.types);
applyModifiersMapping(tokens, mapping.modifiers);
- for (let token of tokens) {
+ for (const token of tokens) {
allTokens.push(token);
}
}
@@ -68,7 +68,7 @@ function createMapping(origLegend: string[], newLegend: string[]): number[] | un
function applyTypesMapping(tokens: SemanticTokenData[], typesMapping: number[] | undefined): void {
if (typesMapping) {
- for (let token of tokens) {
+ for (const token of tokens) {
token.typeIdx = typesMapping[token.typeIdx];
}
}
@@ -76,7 +76,7 @@ function applyTypesMapping(tokens: SemanticTokenData[], typesMapping: number[] |
function applyModifiersMapping(tokens: SemanticTokenData[], modifiersMapping: number[] | undefined): void {
if (modifiersMapping) {
- for (let token of tokens) {
+ for (const token of tokens) {
let modifierSet = token.modifierSet;
if (modifierSet) {
let index = 0;
@@ -109,7 +109,7 @@ function encodeTokens(tokens: SemanticTokenData[], ranges: Range[] | undefined,
let prefLine = 0;
let prevChar = 0;
- let encodedResult: number[] = [];
+ const encodedResult: number[] = [];
for (let k = 0; k < resultTokens.length && currRange; k++) {
const curr = resultTokens[k];
diff --git a/extensions/html-language-features/server/src/requests.ts b/extensions/html-language-features/server/src/requests.ts
index 9ece22ac66e..3899cf9eff5 100644
--- a/extensions/html-language-features/server/src/requests.ts
+++ b/extensions/html-language-features/server/src/requests.ts
@@ -149,7 +149,7 @@ export function normalizePath(parts: string[]): string {
export function joinPath(uriString: string, ...paths: string[]): string {
const uri = URI.parse(uriString);
const parts = uri.path.split('/');
- for (let path of paths) {
+ for (const path of paths) {
parts.push(...path.split('/'));
}
return uri.with({ path: normalizePath(parts) }).toString();
diff --git a/extensions/html-language-features/server/src/test/completions.test.ts b/extensions/html-language-features/server/src/test/completions.test.ts
index 223234ec5fa..fbad266e2de 100644
--- a/extensions/html-language-features/server/src/test/completions.test.ts
+++ b/extensions/html-language-features/server/src/test/completions.test.ts
@@ -19,7 +19,7 @@ export interface ItemDescription {
}
export function assertCompletion(completions: CompletionList, expected: ItemDescription, document: TextDocument) {
- let matches = completions.items.filter(completion => {
+ const matches = completions.items.filter(completion => {
return completion.label === expected.label;
});
if (expected.notAvailable) {
@@ -28,7 +28,7 @@ export function assertCompletion(completions: CompletionList, expected: ItemDesc
}
assert.strictEqual(matches.length, 1, `${expected.label} should only existing once: Actual: ${completions.items.map(c => c.label).join(', ')}`);
- let match = matches[0];
+ const match = matches[0];
if (expected.documentation) {
assert.strictEqual(match.documentation, expected.documentation);
}
@@ -47,28 +47,28 @@ export function assertCompletion(completions: CompletionList, expected: ItemDesc
const testUri = 'test://test/test.html';
export async function testCompletionFor(value: string, expected: { count?: number; items?: ItemDescription[] }, uri = testUri, workspaceFolders?: WorkspaceFolder[]): Promise<void> {
- let offset = value.indexOf('|');
+ const offset = value.indexOf('|');
value = value.substr(0, offset) + value.substr(offset + 1);
- let workspace = {
+ const workspace = {
settings: {},
folders: workspaceFolders || [{ name: 'x', uri: uri.substr(0, uri.lastIndexOf('/')) }]
};
- let document = TextDocument.create(uri, 'html', 0, value);
- let position = document.positionAt(offset);
+ const document = TextDocument.create(uri, 'html', 0, value);
+ const position = document.positionAt(offset);
const context = getDocumentContext(uri, workspace.folders);
const languageModes = getLanguageModes({ css: true, javascript: true }, workspace, ClientCapabilities.LATEST, getNodeFileFS());
const mode = languageModes.getModeAtPosition(document, position)!;
- let list = await mode.doComplete!(document, position, context);
+ const list = await mode.doComplete!(document, position, context);
if (expected.count) {
assert.strictEqual(list.items.length, expected.count);
}
if (expected.items) {
- for (let item of expected.items) {
+ for (const item of expected.items) {
assertCompletion(list, item, document);
}
}
diff --git a/extensions/html-language-features/server/src/test/documentContext.test.ts b/extensions/html-language-features/server/src/test/documentContext.test.ts
index 29ba6880972..2bddeda0eb3 100644
--- a/extensions/html-language-features/server/src/test/documentContext.test.ts
+++ b/extensions/html-language-features/server/src/test/documentContext.test.ts
@@ -11,7 +11,7 @@ suite('HTML Document Context', () => {
const docURI = 'file:///users/test/folder/test.html';
const rootFolders = [{ name: '', uri: 'file:///users/test/' }];
- let context = getDocumentContext(docURI, rootFolders);
+ const context = getDocumentContext(docURI, rootFolders);
assert.strictEqual(context.resolveReference('/', docURI), 'file:///users/test/');
assert.strictEqual(context.resolveReference('/message.html', docURI), 'file:///users/test/message.html');
assert.strictEqual(context.resolveReference('message.html', docURI), 'file:///users/test/folder/message.html');
diff --git a/extensions/html-language-features/server/src/test/formatting.test.ts b/extensions/html-language-features/server/src/test/formatting.test.ts
index 140942868e4..775a7b260fd 100644
--- a/extensions/html-language-features/server/src/test/formatting.test.ts
+++ b/extensions/html-language-features/server/src/test/formatting.test.ts
@@ -15,7 +15,7 @@ import { getNodeFileFS } from '../node/nodeFs';
suite('HTML Embedded Formatting', () => {
async function assertFormat(value: string, expected: string, options?: any, formatOptions?: FormattingOptions, message?: string): Promise<void> {
- let workspace = {
+ const workspace = {
settings: options,
folders: [{ name: 'foo', uri: 'test://foo' }]
};
@@ -32,21 +32,21 @@ suite('HTML Embedded Formatting', () => {
rangeStartOffset = 0;
rangeEndOffset = value.length;
}
- let document = TextDocument.create('test://test/test.html', 'html', 0, value);
- let range = Range.create(document.positionAt(rangeStartOffset), document.positionAt(rangeEndOffset));
+ const document = TextDocument.create('test://test/test.html', 'html', 0, value);
+ const range = Range.create(document.positionAt(rangeStartOffset), document.positionAt(rangeEndOffset));
if (!formatOptions) {
formatOptions = FormattingOptions.create(2, true);
}
- let result = await format(languageModes, document, range, formatOptions, undefined, { css: true, javascript: true });
+ const result = await format(languageModes, document, range, formatOptions, undefined, { css: true, javascript: true });
- let actual = TextDocument.applyEdits(document, result);
+ const actual = TextDocument.applyEdits(document, result);
assert.strictEqual(actual, expected, message);
}
async function assertFormatWithFixture(fixtureName: string, expectedPath: string, options?: any, formatOptions?: FormattingOptions): Promise<void> {
- let input = fs.readFileSync(path.join(__dirname, '..', '..', 'src', 'test', 'fixtures', 'inputs', fixtureName)).toString().replace(/\r\n/mg, '\n');
- let expected = fs.readFileSync(path.join(__dirname, '..', '..', 'src', 'test', 'fixtures', 'expected', expectedPath)).toString().replace(/\r\n/mg, '\n');
+ const input = fs.readFileSync(path.join(__dirname, '..', '..', 'src', 'test', 'fixtures', 'inputs', fixtureName)).toString().replace(/\r\n/mg, '\n');
+ const expected = fs.readFileSync(path.join(__dirname, '..', '..', 'src', 'test', 'fixtures', 'expected', expectedPath)).toString().replace(/\r\n/mg, '\n');
await assertFormat(input, expected, options, formatOptions, expectedPath);
}
@@ -85,7 +85,7 @@ suite('HTML Embedded Formatting', () => {
});
test('EndWithNewline', async () => {
- let options = {
+ const options = {
html: {
format: {
endWithNewline: true
@@ -160,7 +160,7 @@ suite('HTML Embedded Formatting', () => {
);
});
test('#58435', async () => {
- let options = {
+ const options = {
html: {
format: {
contentUnformatted: 'textarea'
diff --git a/extensions/html-language-features/server/src/test/selectionRanges.test.ts b/extensions/html-language-features/server/src/test/selectionRanges.test.ts
index afd286e3db5..28e32dc2903 100644
--- a/extensions/html-language-features/server/src/test/selectionRanges.test.ts
+++ b/extensions/html-language-features/server/src/test/selectionRanges.test.ts
@@ -15,7 +15,7 @@ async function assertRanges(content: string, expected: (number | string)[][]): P
const offset = content.indexOf('|');
content = content.substr(0, offset) + content.substr(offset + 1);
- let workspace = {
+ const workspace = {
settings: {},
folders: [{ name: 'foo', uri: 'test://foo' }]
};
diff --git a/extensions/html-language-features/server/src/test/semanticTokens.test.ts b/extensions/html-language-features/server/src/test/semanticTokens.test.ts
index 2db27dd9f17..4f479d9163d 100644
--- a/extensions/html-language-features/server/src/test/semanticTokens.test.ts
+++ b/extensions/html-language-features/server/src/test/semanticTokens.test.ts
@@ -28,7 +28,7 @@ async function assertTokens(lines: string[], expected: ExpectedToken[], ranges?:
const legend = semanticTokensProvider.legend;
const actual = await semanticTokensProvider.getSemanticTokens(document, ranges);
- let actualRanges = [];
+ const actualRanges = [];
let lastLine = 0;
let lastCharacter = 0;
for (let i = 0; i < actual.length; i += 5) {
diff --git a/extensions/html-language-features/server/src/utils/arrays.ts b/extensions/html-language-features/server/src/utils/arrays.ts
index 16b5b46475d..265e8bd4d0a 100644
--- a/extensions/html-language-features/server/src/utils/arrays.ts
+++ b/extensions/html-language-features/server/src/utils/arrays.ts
@@ -40,7 +40,7 @@ function _divideAndMerge<T>(data: T[], compare: (a: T, b: T) => number): void {
let rightIdx = 0;
let i = 0;
while (leftIdx < left.length && rightIdx < right.length) {
- let ret = compare(left[leftIdx], right[rightIdx]);
+ const ret = compare(left[leftIdx], right[rightIdx]);
if (ret <= 0) {
// smaller_equal -> take left to preserve order
data[i++] = left[leftIdx++];
@@ -62,8 +62,8 @@ export function binarySearch<T>(array: T[], key: T, comparator: (op1: T, op2: T)
high = array.length - 1;
while (low <= high) {
- let mid = ((low + high) / 2) | 0;
- let comp = comparator(array[mid], key);
+ const mid = ((low + high) / 2) | 0;
+ const comp = comparator(array[mid], key);
if (comp < 0) {
low = mid + 1;
} else if (comp > 0) {
diff --git a/extensions/html-language-features/server/src/utils/documentContext.ts b/extensions/html-language-features/server/src/utils/documentContext.ts
index f8bc67f8b10..fb1a6622674 100644
--- a/extensions/html-language-features/server/src/utils/documentContext.ts
+++ b/extensions/html-language-features/server/src/utils/documentContext.ts
@@ -10,7 +10,7 @@ import { resolvePath } from '../requests';
export function getDocumentContext(documentUri: string, workspaceFolders: WorkspaceFolder[]): DocumentContext {
function getRootFolder(): string | undefined {
- for (let folder of workspaceFolders) {
+ for (const folder of workspaceFolders) {
let folderURI = folder.uri;
if (!endsWith(folderURI, '/')) {
folderURI = folderURI + '/';
@@ -25,7 +25,7 @@ export function getDocumentContext(documentUri: string, workspaceFolders: Worksp
return {
resolveReference: (ref: string, base = documentUri) => {
if (ref[0] === '/') { // resolve absolute path against the current workspace folder
- let folderUri = getRootFolder();
+ const folderUri = getRootFolder();
if (folderUri) {
return folderUri + ref.substr(1);
}
diff --git a/extensions/html-language-features/server/src/utils/runner.ts b/extensions/html-language-features/server/src/utils/runner.ts
index 69e5c05e61f..6be8c9f2128 100644
--- a/extensions/html-language-features/server/src/utils/runner.ts
+++ b/extensions/html-language-features/server/src/utils/runner.ts
@@ -8,7 +8,7 @@ import { RuntimeEnvironment } from '../htmlServer';
export function formatError(message: string, err: any): string {
if (err instanceof Error) {
- let error = <Error>err;
+ const error = <Error>err;
return `${message}: ${error.message}\n${error.stack}`;
} else if (typeof err === 'string') {
return `${message}: ${err}`;
diff --git a/extensions/html-language-features/server/src/utils/strings.ts b/extensions/html-language-features/server/src/utils/strings.ts
index 00a2ddcbd51..c79f41df8f2 100644
--- a/extensions/html-language-features/server/src/utils/strings.ts
+++ b/extensions/html-language-features/server/src/utils/strings.ts
@@ -8,11 +8,11 @@ export function getWordAtText(text: string, offset: number, wordDefinition: RegE
while (lineStart > 0 && !isNewlineCharacter(text.charCodeAt(lineStart - 1))) {
lineStart--;
}
- let offsetInLine = offset - lineStart;
- let lineText = text.substr(lineStart);
+ const offsetInLine = offset - lineStart;
+ const lineText = text.substr(lineStart);
// make a copy of the regex as to not keep the state
- let flags = wordDefinition.ignoreCase ? 'gi' : 'g';
+ const flags = wordDefinition.ignoreCase ? 'gi' : 'g';
wordDefinition = new RegExp(wordDefinition.source, flags);
let match = wordDefinition.exec(lineText);
@@ -41,7 +41,7 @@ export function startsWith(haystack: string, needle: string): boolean {
}
export function endsWith(haystack: string, needle: string): boolean {
- let diff = haystack.length - needle.length;
+ const diff = haystack.length - needle.length;
if (diff > 0) {
return haystack.indexOf(needle, diff) === diff;
} else if (diff === 0) {
diff --git a/extensions/image-preview/media/main.js b/extensions/image-preview/media/main.js
index 984e586c0f6..fffdb7f6971 100644
--- a/extensions/image-preview/media/main.js
+++ b/extensions/image-preview/media/main.js
@@ -259,7 +259,7 @@
firstZoom();
}
- let delta = e.deltaY > 0 ? 1 : -1;
+ const delta = e.deltaY > 0 ? 1 : -1;
updateScale(scale * (1 - delta * SCALE_PINCH_FACTOR));
}, { passive: false });
diff --git a/extensions/ipynb/src/test/serializers.test.ts b/extensions/ipynb/src/test/serializers.test.ts
index d945d1f4223..15ef1185f94 100644
--- a/extensions/ipynb/src/test/serializers.test.ts
+++ b/extensions/ipynb/src/test/serializers.test.ts
@@ -9,7 +9,7 @@ import * as vscode from 'vscode';
import { jupyterCellOutputToCellOutput, jupyterNotebookModelToNotebookData } from '../deserializers';
function deepStripProperties(obj: any, props: string[]) {
- for (let prop in obj) {
+ for (const prop in obj) {
if (obj[prop]) {
delete obj[prop];
} else if (typeof obj[prop] === 'object') {
diff --git a/extensions/jake/src/main.ts b/extensions/jake/src/main.ts
index 93fa1aa285b..eba135e1530 100644
--- a/extensions/jake/src/main.ts
+++ b/extensions/jake/src/main.ts
@@ -33,7 +33,7 @@ function exec(command: string, options: cp.ExecOptions): Promise<{ stdout: strin
const buildNames: string[] = ['build', 'compile', 'watch'];
function isBuildTask(name: string): boolean {
- for (let buildName of buildNames) {
+ for (const buildName of buildNames) {
if (name.indexOf(buildName) !== -1) {
return true;
}
@@ -43,7 +43,7 @@ function isBuildTask(name: string): boolean {
const testNames: string[] = ['test'];
function isTestTask(name: string): boolean {
- for (let testName of testNames) {
+ for (const testName of testNames) {
if (name.indexOf(testName) !== -1) {
return true;
}
@@ -68,7 +68,7 @@ function showError() {
async function findJakeCommand(rootPath: string): Promise<string> {
let jakeCommand: string;
- let platform = process.platform;
+ const platform = process.platform;
if (platform === 'win32' && await exists(path.join(rootPath!, 'node_modules', '.bin', 'jake.cmd'))) {
jakeCommand = path.join('.', 'node_modules', '.bin', 'jake.cmd');
} else if ((platform === 'linux' || platform === 'darwin') && await exists(path.join(rootPath!, 'node_modules', '.bin', 'jake'))) {
@@ -103,7 +103,7 @@ class FolderDetector {
}
public start(): void {
- let pattern = path.join(this._workspaceFolder.uri.fsPath, '{node_modules,Jakefile,Jakefile.js}');
+ const pattern = path.join(this._workspaceFolder.uri.fsPath, '{node_modules,Jakefile,Jakefile.js}');
this.fileWatcher = vscode.workspace.createFileSystemWatcher(pattern);
this.fileWatcher.onDidChange(() => this.promise = undefined);
this.fileWatcher.onDidCreate(() => this.promise = undefined);
@@ -124,17 +124,17 @@ class FolderDetector {
public async getTask(_task: vscode.Task): Promise<vscode.Task | undefined> {
const jakeTask = (<any>_task.definition).task;
if (jakeTask) {
- let kind: JakeTaskDefinition = (<any>_task.definition);
- let options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
- let task = new vscode.Task(kind, this.workspaceFolder, jakeTask, 'jake', new vscode.ShellExecution(await this._jakeCommand, [jakeTask], options));
+ const kind: JakeTaskDefinition = (<any>_task.definition);
+ const options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
+ const task = new vscode.Task(kind, this.workspaceFolder, jakeTask, 'jake', new vscode.ShellExecution(await this._jakeCommand, [jakeTask], options));
return task;
}
return undefined;
}
private async computeTasks(): Promise<vscode.Task[]> {
- let rootPath = this._workspaceFolder.uri.scheme === 'file' ? this._workspaceFolder.uri.fsPath : undefined;
- let emptyTasks: vscode.Task[] = [];
+ const rootPath = this._workspaceFolder.uri.scheme === 'file' ? this._workspaceFolder.uri.fsPath : undefined;
+ const emptyTasks: vscode.Task[] = [];
if (!rootPath) {
return emptyTasks;
}
@@ -146,32 +146,32 @@ class FolderDetector {
}
}
- let commandLine = `${await this._jakeCommand} --tasks`;
+ const commandLine = `${await this._jakeCommand} --tasks`;
try {
- let { stdout, stderr } = await exec(commandLine, { cwd: rootPath });
+ const { stdout, stderr } = await exec(commandLine, { cwd: rootPath });
if (stderr) {
getOutputChannel().appendLine(stderr);
showError();
}
- let result: vscode.Task[] = [];
+ const result: vscode.Task[] = [];
if (stdout) {
- let lines = stdout.split(/\r{0,1}\n/);
- for (let line of lines) {
+ const lines = stdout.split(/\r{0,1}\n/);
+ for (const line of lines) {
if (line.length === 0) {
continue;
}
- let regExp = /^jake\s+([^\s]+)\s/g;
- let matches = regExp.exec(line);
+ const regExp = /^jake\s+([^\s]+)\s/g;
+ const matches = regExp.exec(line);
if (matches && matches.length === 2) {
- let taskName = matches[1];
- let kind: JakeTaskDefinition = {
+ const taskName = matches[1];
+ const kind: JakeTaskDefinition = {
type: 'jake',
task: taskName
};
- let options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
- let task = new vscode.Task(kind, taskName, 'jake', new vscode.ShellExecution(`${await this._jakeCommand} ${taskName}`, options));
+ const options: vscode.ShellExecutionOptions = { cwd: this.workspaceFolder.uri.fsPath };
+ const task = new vscode.Task(kind, taskName, 'jake', new vscode.ShellExecution(`${await this._jakeCommand} ${taskName}`, options));
result.push(task);
- let lowerCaseLine = line.toLowerCase();
+ const lowerCaseLine = line.toLowerCase();
if (isBuildTask(lowerCaseLine)) {
task.group = vscode.TaskGroup.Build;
} else if (isTestTask(lowerCaseLine)) {
@@ -182,7 +182,7 @@ class FolderDetector {
}
return result;
} catch (err) {
- let channel = getOutputChannel();
+ const channel = getOutputChannel();
if (err.stderr) {
channel.appendLine(err.stderr);
}
@@ -212,7 +212,7 @@ class TaskDetector {
}
public start(): void {
- let folders = vscode.workspace.workspaceFolders;
+ const folders = vscode.workspace.workspaceFolders;
if (folders) {
this.updateWorkspaceFolders(folders, []);
}
@@ -229,15 +229,15 @@ class TaskDetector {
}
private updateWorkspaceFolders(added: readonly vscode.WorkspaceFolder[], removed: readonly vscode.WorkspaceFolder[]): void {
- for (let remove of removed) {
- let detector = this.detectors.get(remove.uri.toString());
+ for (const remove of removed) {
+ const detector = this.detectors.get(remove.uri.toString());
if (detector) {
detector.dispose();
this.detectors.delete(remove.uri.toString());
}
}
- for (let add of added) {
- let detector = new FolderDetector(add, findJakeCommand(add.uri.fsPath));
+ for (const add of added) {
+ const detector = new FolderDetector(add, findJakeCommand(add.uri.fsPath));
this.detectors.set(add.uri.toString(), detector);
if (detector.isEnabled()) {
detector.start();
@@ -247,15 +247,15 @@ class TaskDetector {
}
private updateConfiguration(): void {
- for (let detector of this.detectors.values()) {
+ for (const detector of this.detectors.values()) {
detector.dispose();
this.detectors.delete(detector.workspaceFolder.uri.toString());
}
- let folders = vscode.workspace.workspaceFolders;
+ const folders = vscode.workspace.workspaceFolders;
if (folders) {
- for (let folder of folders) {
+ for (const folder of folders) {
if (!this.detectors.has(folder.uri.toString())) {
- let detector = new FolderDetector(folder, findJakeCommand(folder.uri.fsPath));
+ const detector = new FolderDetector(folder, findJakeCommand(folder.uri.fsPath));
this.detectors.set(folder.uri.toString(), detector);
if (detector.isEnabled()) {
detector.start();
@@ -294,13 +294,13 @@ class TaskDetector {
} else if (this.detectors.size === 1) {
return this.detectors.values().next().value.getTasks();
} else {
- let promises: Promise<vscode.Task[]>[] = [];
- for (let detector of this.detectors.values()) {
+ const promises: Promise<vscode.Task[]>[] = [];
+ for (const detector of this.detectors.values()) {
promises.push(detector.getTasks().then((value) => value, () => []));
}
return Promise.all(promises).then((values) => {
- let result: vscode.Task[] = [];
- for (let tasks of values) {
+ const result: vscode.Task[] = [];
+ for (const tasks of values) {
if (tasks && tasks.length > 0) {
result.push(...tasks);
}
diff --git a/extensions/json-language-features/server/src/jsonServer.ts b/extensions/json-language-features/server/src/jsonServer.ts
index 9594d242f51..3fb9603a230 100644
--- a/extensions/json-language-features/server/src/jsonServer.ts
+++ b/extensions/json-language-features/server/src/jsonServer.ts
@@ -69,7 +69,7 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
function getSchemaRequestService(handledSchemas: string[] = ['https', 'http', 'file']) {
const builtInHandlers: { [protocol: string]: RequestService | undefined } = {};
- for (let protocol of handledSchemas) {
+ for (const protocol of handledSchemas) {
if (protocol === 'file') {
builtInHandlers[protocol] = runtime.file;
} else if (protocol === 'http' || protocol === 'https') {
@@ -250,7 +250,7 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
// The settings have changed. Is send on server activation as well.
connection.onDidChangeConfiguration((change) => {
- let settings = <Settings>change.settings;
+ const settings = <Settings>change.settings;
if (runtime.configureHttpRequests) {
runtime.configureHttpRequests(settings?.http?.proxy, !!settings.http?.proxyStrictSSL);
}
diff --git a/extensions/json-language-features/server/src/languageModelCache.ts b/extensions/json-language-features/server/src/languageModelCache.ts
index 6deac59515e..17ffe2add4f 100644
--- a/extensions/json-language-features/server/src/languageModelCache.ts
+++ b/extensions/json-language-features/server/src/languageModelCache.ts
@@ -18,10 +18,10 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
let cleanupInterval: NodeJS.Timer | undefined = undefined;
if (cleanupIntervalTimeInSec > 0) {
cleanupInterval = setInterval(() => {
- let cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000;
- let uris = Object.keys(languageModels);
- for (let uri of uris) {
- let languageModelInfo = languageModels[uri];
+ const cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000;
+ const uris = Object.keys(languageModels);
+ for (const uri of uris) {
+ const languageModelInfo = languageModels[uri];
if (languageModelInfo.cTime < cutoffTime) {
delete languageModels[uri];
nModels--;
@@ -32,14 +32,14 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
return {
get(document: TextDocument): T {
- let version = document.version;
- let languageId = document.languageId;
- let languageModelInfo = languageModels[document.uri];
+ const version = document.version;
+ const languageId = document.languageId;
+ const languageModelInfo = languageModels[document.uri];
if (languageModelInfo && languageModelInfo.version === version && languageModelInfo.languageId === languageId) {
languageModelInfo.cTime = Date.now();
return languageModelInfo.languageModel;
}
- let languageModel = parse(document);
+ const languageModel = parse(document);
languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now() };
if (!languageModelInfo) {
nModels++;
@@ -48,8 +48,8 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
if (nModels === maxEntries) {
let oldestTime = Number.MAX_VALUE;
let oldestUri = null;
- for (let uri in languageModels) {
- let languageModelInfo = languageModels[uri];
+ for (const uri in languageModels) {
+ const languageModelInfo = languageModels[uri];
if (languageModelInfo.cTime < oldestTime) {
oldestUri = uri;
oldestTime = languageModelInfo.cTime;
@@ -64,7 +64,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
},
onDocumentRemoved(document: TextDocument) {
- let uri = document.uri;
+ const uri = document.uri;
if (languageModels[uri]) {
delete languageModels[uri];
nModels--;
diff --git a/extensions/json-language-features/server/src/utils/runner.ts b/extensions/json-language-features/server/src/utils/runner.ts
index 2d3cfaef51a..f7762f6ff31 100644
--- a/extensions/json-language-features/server/src/utils/runner.ts
+++ b/extensions/json-language-features/server/src/utils/runner.ts
@@ -8,7 +8,7 @@ import { RuntimeEnvironment } from '../jsonServer';
export function formatError(message: string, err: any): string {
if (err instanceof Error) {
- let error = <Error>err;
+ const error = <Error>err;
return `${message}: ${error.message}\n${error.stack}`;
} else if (typeof err === 'string') {
return `${message}: ${err}`;
@@ -47,7 +47,7 @@ export function runSafe<T, E>(runtime: RuntimeEnvironment, func: () => T, errorV
resolve(cancelValue());
} else {
try {
- let result = func();
+ const result = func();
if (token.isCancellationRequested) {
resolve(cancelValue());
return;
diff --git a/extensions/json-language-features/server/src/utils/strings.ts b/extensions/json-language-features/server/src/utils/strings.ts
index 42a617f8a8a..f706b150a18 100644
--- a/extensions/json-language-features/server/src/utils/strings.ts
+++ b/extensions/json-language-features/server/src/utils/strings.ts
@@ -7,7 +7,7 @@
* Determines if haystack ends with needle.
*/
export function endsWith(haystack: string, needle: string): boolean {
- let diff = haystack.length - needle.length;
+ const diff = haystack.length - needle.length;
if (diff > 0) {
return haystack.lastIndexOf(needle) === diff;
} else if (diff === 0) {
diff --git a/extensions/markdown-language-features/src/languageFeatures/smartSelect.ts b/extensions/markdown-language-features/src/languageFeatures/smartSelect.ts
index 74b1d8e1b98..3f69ea546d7 100644
--- a/extensions/markdown-language-features/src/languageFeatures/smartSelect.ts
+++ b/extensions/markdown-language-features/src/languageFeatures/smartSelect.ts
@@ -240,7 +240,7 @@ function isBlockElement(token: Token): boolean {
function getFirstChildHeader(document: SkinnyTextDocument, header?: TocEntry, toc?: readonly TocEntry[]): vscode.Position | undefined {
let childRange: vscode.Position | undefined;
if (header && toc) {
- let children = toc.filter(t => header.sectionLocation.range.contains(t.sectionLocation.range) && t.sectionLocation.range.start.line > header.sectionLocation.range.start.line).sort((t1, t2) => t1.line - t2.line);
+ const children = toc.filter(t => header.sectionLocation.range.contains(t.sectionLocation.range) && t.sectionLocation.range.start.line > header.sectionLocation.range.start.line).sort((t1, t2) => t1.line - t2.line);
if (children.length > 0) {
childRange = children[0].sectionLocation.range.start;
const lineText = document.lineAt(childRange.line - 1).text;
diff --git a/extensions/markdown-language-features/src/test/util.ts b/extensions/markdown-language-features/src/test/util.ts
index d2b4760e9d7..99369ae091f 100644
--- a/extensions/markdown-language-features/src/test/util.ts
+++ b/extensions/markdown-language-features/src/test/util.ts
@@ -14,7 +14,7 @@ export const joinLines = (...args: string[]) =>
export const CURSOR = '$$CURSOR$$';
export function getCursorPositions(contents: string, doc: InMemoryDocument): vscode.Position[] {
- let positions: vscode.Position[] = [];
+ const positions: vscode.Position[] = [];
let index = 0;
let wordLength = 0;
while (index !== -1) {
diff --git a/extensions/markdown-language-features/src/util/openDocumentLink.ts b/extensions/markdown-language-features/src/util/openDocumentLink.ts
index 18b8e5f4c79..376fe548ec4 100644
--- a/extensions/markdown-language-features/src/util/openDocumentLink.ts
+++ b/extensions/markdown-language-features/src/util/openDocumentLink.ts
@@ -22,7 +22,7 @@ enum OpenMarkdownLinks {
}
export function resolveDocumentLink(href: string, markdownFile: vscode.Uri): vscode.Uri {
- let [hrefPath, fragment] = href.split('#').map(c => decodeURIComponent(c));
+ const [hrefPath, fragment] = href.split('#').map(c => decodeURIComponent(c));
if (hrefPath[0] === '/') {
// Absolute path. Try to resolve relative to the workspace
diff --git a/extensions/merge-conflict/src/codelensProvider.ts b/extensions/merge-conflict/src/codelensProvider.ts
index bd5242b8e00..da82a57ac80 100644
--- a/extensions/merge-conflict/src/codelensProvider.ts
+++ b/extensions/merge-conflict/src/codelensProvider.ts
@@ -52,7 +52,7 @@ export default class MergeConflictCodeLensProvider implements vscode.CodeLensPro
return null;
}
- let conflicts = await this.tracker.getConflicts(document);
+ const conflicts = await this.tracker.getConflicts(document);
const conflictsCount = conflicts?.length ?? 0;
vscode.commands.executeCommand('setContext', 'mergeConflictsCount', conflictsCount);
@@ -60,28 +60,28 @@ export default class MergeConflictCodeLensProvider implements vscode.CodeLensPro
return null;
}
- let items: vscode.CodeLens[] = [];
+ const items: vscode.CodeLens[] = [];
conflicts.forEach(conflict => {
- let acceptCurrentCommand: vscode.Command = {
+ const acceptCurrentCommand: vscode.Command = {
command: 'merge-conflict.accept.current',
title: localize('acceptCurrentChange', 'Accept Current Change'),
arguments: ['known-conflict', conflict]
};
- let acceptIncomingCommand: vscode.Command = {
+ const acceptIncomingCommand: vscode.Command = {
command: 'merge-conflict.accept.incoming',
title: localize('acceptIncomingChange', 'Accept Incoming Change'),
arguments: ['known-conflict', conflict]
};
- let acceptBothCommand: vscode.Command = {
+ const acceptBothCommand: vscode.Command = {
command: 'merge-conflict.accept.both',
title: localize('acceptBothChanges', 'Accept Both Changes'),
arguments: ['known-conflict', conflict]
};
- let diffCommand: vscode.Command = {
+ const diffCommand: vscode.Command = {
command: 'merge-conflict.compare',
title: localize('compareChanges', 'Compare Changes'),
arguments: [conflict]
diff --git a/extensions/merge-conflict/src/commandHandler.ts b/extensions/merge-conflict/src/commandHandler.ts
index e20660bd74a..920875ed6ac 100644
--- a/extensions/merge-conflict/src/commandHandler.ts
+++ b/extensions/merge-conflict/src/commandHandler.ts
@@ -107,8 +107,8 @@ export default class CommandHandler implements vscode.Disposable {
const scheme = editor.document.uri.scheme;
let range = conflict.current.content;
- let leftRanges = conflicts.map(conflict => [conflict.current.content, conflict.range]);
- let rightRanges = conflicts.map(conflict => [conflict.incoming.content, conflict.range]);
+ const leftRanges = conflicts.map(conflict => [conflict.current.content, conflict.range]);
+ const rightRanges = conflicts.map(conflict => [conflict.incoming.content, conflict.range]);
const leftUri = editor.document.uri.with({
scheme: ContentProvider.scheme,
@@ -120,7 +120,7 @@ export default class CommandHandler implements vscode.Disposable {
const rightUri = leftUri.with({ query: JSON.stringify({ scheme, ranges: rightRanges }) });
let mergeConflictLineOffsets = 0;
- for (let nextconflict of conflicts) {
+ for (const nextconflict of conflicts) {
if (nextconflict.range.isEqual(conflict.range)) {
break;
} else {
@@ -158,7 +158,7 @@ export default class CommandHandler implements vscode.Disposable {
}
async acceptSelection(editor: vscode.TextEditor): Promise<void> {
- let conflict = await this.findConflictContainingSelection(editor);
+ const conflict = await this.findConflictContainingSelection(editor);
if (!conflict) {
vscode.window.showWarningMessage(localize('cursorNotInConflict', 'Editor cursor is not within a merge conflict'));
@@ -202,7 +202,7 @@ export default class CommandHandler implements vscode.Disposable {
}
private async navigate(editor: vscode.TextEditor, direction: NavigationDirection): Promise<void> {
- let navigationResult = await this.findConflictForNavigation(editor, direction);
+ const navigationResult = await this.findConflictForNavigation(editor, direction);
if (!navigationResult) {
// Check for autoNavigateNextConflict, if it's enabled(which indicating no conflict remain), then do not show warning
@@ -258,7 +258,7 @@ export default class CommandHandler implements vscode.Disposable {
}
private async acceptAll(type: interfaces.CommitType, editor: vscode.TextEditor): Promise<void> {
- let conflicts = await this.tracker.getConflicts(editor.document);
+ const conflicts = await this.tracker.getConflicts(editor.document);
if (!conflicts || conflicts.length === 0) {
vscode.window.showWarningMessage(localize('noConflicts', 'No merge conflicts found in this file'));
@@ -323,7 +323,7 @@ export default class CommandHandler implements vscode.Disposable {
return null;
}
- let selection = editor.selection.active;
+ const selection = editor.selection.active;
if (conflicts.length === 1) {
if (conflicts[0].range.contains(selection)) {
return {
diff --git a/extensions/merge-conflict/src/contentProvider.ts b/extensions/merge-conflict/src/contentProvider.ts
index 5c24854b00e..155bac08d40 100644
--- a/extensions/merge-conflict/src/contentProvider.ts
+++ b/extensions/merge-conflict/src/contentProvider.ts
@@ -32,7 +32,7 @@ export default class MergeConflictContentProvider implements vscode.TextDocument
let lastPosition = new vscode.Position(0, 0);
ranges.forEach(rangeObj => {
- let [conflictRange, fullRange] = rangeObj;
+ const [conflictRange, fullRange] = rangeObj;
const [start, end] = conflictRange;
const [fullStart, fullEnd] = fullRange;
@@ -41,7 +41,7 @@ export default class MergeConflictContentProvider implements vscode.TextDocument
lastPosition = new vscode.Position(fullEnd.line, fullEnd.character);
});
- let documentEnd = document.lineAt(document.lineCount - 1).range.end;
+ const documentEnd = document.lineAt(document.lineCount - 1).range.end;
text += document.getText(new vscode.Range(lastPosition.line, lastPosition.character, documentEnd.line, documentEnd.character));
return text;
diff --git a/extensions/merge-conflict/src/delayer.ts b/extensions/merge-conflict/src/delayer.ts
index e4ef18e09c9..8609ff6abe4 100644
--- a/extensions/merge-conflict/src/delayer.ts
+++ b/extensions/merge-conflict/src/delayer.ts
@@ -35,7 +35,7 @@ export class Delayer<T> {
}).then(() => {
this.completionPromise = null;
this.onSuccess = null;
- let result = this.task!();
+ const result = this.task!();
this.task = null;
return result;
});
@@ -56,7 +56,7 @@ export class Delayer<T> {
return null;
}
this.cancelTimeout();
- let result = this.completionPromise;
+ const result = this.completionPromise;
this.onSuccess!(undefined);
return result;
}
diff --git a/extensions/merge-conflict/src/documentMergeConflict.ts b/extensions/merge-conflict/src/documentMergeConflict.ts
index 3e8b44ba87d..4448c25356b 100644
--- a/extensions/merge-conflict/src/documentMergeConflict.ts
+++ b/extensions/merge-conflict/src/documentMergeConflict.ts
@@ -45,11 +45,11 @@ export class DocumentMergeConflict implements interfaces.IDocumentMergeConflict
// ]
if (type === interfaces.CommitType.Current) {
// Replace [ Conflict Range ] with [ Current Content ]
- let content = document.getText(this.current.content);
+ const content = document.getText(this.current.content);
this.replaceRangeWithContent(content, edit);
}
else if (type === interfaces.CommitType.Incoming) {
- let content = document.getText(this.incoming.content);
+ const content = document.getText(this.incoming.content);
this.replaceRangeWithContent(content, edit);
}
else if (type === interfaces.CommitType.Both) {
diff --git a/extensions/merge-conflict/src/documentTracker.ts b/extensions/merge-conflict/src/documentTracker.ts
index 7d2f57be3cb..d6247b20671 100644
--- a/extensions/merge-conflict/src/documentTracker.ts
+++ b/extensions/merge-conflict/src/documentTracker.ts
@@ -50,7 +50,7 @@ export default class DocumentMergeConflictTracker implements vscode.Disposable,
getConflicts(document: vscode.TextDocument, origin: string): PromiseLike<interfaces.IDocumentMergeConflict[]> {
// Attempt from cache
- let key = this.getCacheKey(document);
+ const key = this.getCacheKey(document);
if (!key) {
// Document doesn't have a uri, can't cache it, so return
@@ -67,7 +67,7 @@ export default class DocumentMergeConflictTracker implements vscode.Disposable,
}
return cacheItem.delayTask.trigger(() => {
- let conflicts = this.getConflictsOrEmpty(document, Array.from(cacheItem!.origins));
+ const conflicts = this.getConflictsOrEmpty(document, Array.from(cacheItem!.origins));
if (this.cache) {
this.cache.delete(key!);
@@ -82,7 +82,7 @@ export default class DocumentMergeConflictTracker implements vscode.Disposable,
return false;
}
- let key = this.getCacheKey(document);
+ const key = this.getCacheKey(document);
if (!key) {
return false;
}
@@ -100,7 +100,7 @@ export default class DocumentMergeConflictTracker implements vscode.Disposable,
}
forget(document: vscode.TextDocument) {
- let key = this.getCacheKey(document);
+ const key = this.getCacheKey(document);
if (key) {
this.cache.delete(key);
diff --git a/extensions/merge-conflict/src/mergeConflictParser.ts b/extensions/merge-conflict/src/mergeConflictParser.ts
index 06e4237fea7..cb925f82301 100644
--- a/extensions/merge-conflict/src/mergeConflictParser.ts
+++ b/extensions/merge-conflict/src/mergeConflictParser.ts
@@ -67,7 +67,7 @@ export class MergeConflictParser {
// Create a full descriptor from the lines that we matched. This can return
// null if the descriptor could not be completed.
- let completeDescriptor = MergeConflictParser.scanItemTolMergeConflictDescriptor(document, currentConflict);
+ const completeDescriptor = MergeConflictParser.scanItemTolMergeConflictDescriptor(document, currentConflict);
if (completeDescriptor !== null) {
conflictDescriptors.push(completeDescriptor);
@@ -90,7 +90,7 @@ export class MergeConflictParser {
return null;
}
- let tokenAfterCurrentBlock: vscode.TextLine = scanned.commonAncestors[0] || scanned.splitter;
+ const tokenAfterCurrentBlock: vscode.TextLine = scanned.commonAncestors[0] || scanned.splitter;
// Assume that descriptor.current.header, descriptor.incoming.header and descriptor.splitter
// have valid ranges, fill in content and total ranges from these parts.
@@ -110,7 +110,7 @@ export class MergeConflictParser {
name: scanned.startHeader.text.substring(startHeaderMarker.length + 1)
},
commonAncestors: scanned.commonAncestors.map((currentTokenLine, index, commonAncestors) => {
- let nextTokenLine = commonAncestors[index + 1] || scanned.splitter;
+ const nextTokenLine = commonAncestors[index + 1] || scanned.splitter;
return {
header: currentTokenLine.range,
decoratorContent: new vscode.Range(
@@ -146,7 +146,7 @@ export class MergeConflictParser {
return false;
}
- let text = document.getText();
+ const text = document.getText();
return text.includes(startHeaderMarker) && text.includes(endFooterMarker);
}
diff --git a/extensions/merge-conflict/src/mergeDecorator.ts b/extensions/merge-conflict/src/mergeDecorator.ts
index b3d24bed81d..769ac0b8214 100644
--- a/extensions/merge-conflict/src/mergeDecorator.ts
+++ b/extensions/merge-conflict/src/mergeDecorator.ts
@@ -137,7 +137,7 @@ export default class MergeDecorator implements vscode.Disposable {
private generateBlockRenderOptions(backgroundColor: string, overviewRulerColor: string, config: interfaces.IExtensionConfiguration): vscode.DecorationRenderOptions {
- let renderOptions: vscode.DecorationRenderOptions = {};
+ const renderOptions: vscode.DecorationRenderOptions = {};
if (config.enableDecorations) {
renderOptions.backgroundColor = new vscode.ThemeColor(backgroundColor);
@@ -176,7 +176,7 @@ export default class MergeDecorator implements vscode.Disposable {
try {
this.updating.set(editor, true);
- let conflicts = await this.tracker.getConflicts(editor.document);
+ const conflicts = await this.tracker.getConflicts(editor.document);
if (vscode.window.visibleTextEditors.indexOf(editor) === -1) {
return;
}
@@ -188,9 +188,9 @@ export default class MergeDecorator implements vscode.Disposable {
// Store decorations keyed by the type of decoration, set decoration wants a "style"
// to go with it, which will match this key (see constructor);
- let matchDecorations: { [key: string]: vscode.Range[] } = {};
+ const matchDecorations: { [key: string]: vscode.Range[] } = {};
- let pushDecoration = (key: string, d: vscode.Range) => {
+ const pushDecoration = (key: string, d: vscode.Range) => {
matchDecorations[key] = matchDecorations[key] || [];
matchDecorations[key].push(d);
};
@@ -224,7 +224,7 @@ export default class MergeDecorator implements vscode.Disposable {
// For each match we've generated, apply the generated decoration with the matching decoration type to the
// editor instance. Keys in both matches and decorations should match.
Object.keys(matchDecorations).forEach(decorationKey => {
- let decorationType = this.decorations[decorationKey];
+ const decorationType = this.decorations[decorationKey];
if (decorationType) {
editor.setDecorations(decorationType, matchDecorations[decorationKey]);
@@ -242,7 +242,7 @@ export default class MergeDecorator implements vscode.Disposable {
// Race condition, while editing the settings, it's possible to
// generate regions before the configuration has been refreshed
- let decorationType = this.decorations[decorationKey];
+ const decorationType = this.decorations[decorationKey];
if (decorationType) {
editor.setDecorations(decorationType, []);
diff --git a/extensions/merge-conflict/src/services.ts b/extensions/merge-conflict/src/services.ts
index 30fb478c6f8..b8b256aa9f7 100644
--- a/extensions/merge-conflict/src/services.ts
+++ b/extensions/merge-conflict/src/services.ts
@@ -21,7 +21,7 @@ export default class ServiceWrapper implements vscode.Disposable {
begin() {
- let configuration = this.createExtensionConfiguration();
+ const configuration = this.createExtensionConfiguration();
const documentTracker = new DocumentTracker();
this.services.push(
diff --git a/extensions/microsoft-authentication/src/AADHelper.ts b/extensions/microsoft-authentication/src/AADHelper.ts
index 6d02e2472b7..bb22142e584 100644
--- a/extensions/microsoft-authentication/src/AADHelper.ts
+++ b/extensions/microsoft-authentication/src/AADHelper.ts
@@ -109,7 +109,7 @@ export class AzureActiveDirectoryService {
public async initialize(): Promise<void> {
Logger.info('Reading sessions from secret storage...');
- let sessions = await this._tokenStorage.getAll();
+ const sessions = await this._tokenStorage.getAll();
Logger.info(`Got ${sessions.length} stored sessions`);
const refreshes = sessions.map(async session => {
@@ -352,7 +352,7 @@ export class AzureActiveDirectoryService {
code_challenge_method: 'S256',
code_challenge: codeChallenge,
});
- let uri = vscode.Uri.parse(`${signInUrl}?${oauthStartQuery.toString()}`);
+ const uri = vscode.Uri.parse(`${signInUrl}?${oauthStartQuery.toString()}`);
vscode.env.openExternal(uri);
const timeoutPromise = new Promise((_: (value: vscode.AuthenticationSession) => void, reject) => {
diff --git a/extensions/notebook-renderers/src/ansi.ts b/extensions/notebook-renderers/src/ansi.ts
index 185dd27276b..2a89d8d4b29 100644
--- a/extensions/notebook-renderers/src/ansi.ts
+++ b/extensions/notebook-renderers/src/ansi.ts
@@ -9,7 +9,7 @@ import { linkify } from './linkify';
export function handleANSIOutput(text: string): HTMLSpanElement {
- let workspaceFolder = undefined;
+ const workspaceFolder = undefined;
const root: HTMLSpanElement = document.createElement('span');
const textLength: number = text.length;
diff --git a/extensions/notebook-renderers/src/textHelper.ts b/extensions/notebook-renderers/src/textHelper.ts
index 9daafb721f8..49ba465f6c4 100644
--- a/extensions/notebook-renderers/src/textHelper.ts
+++ b/extensions/notebook-renderers/src/textHelper.ts
@@ -25,8 +25,8 @@ function generateViewMoreElement(outputId: string) {
}
export function truncatedArrayOfString(id: string, outputs: string[], linesLimit: number, container: HTMLElement) {
- let buffer = outputs.join('\n').split(/\r\n|\r|\n/g);
- let lineCount = buffer.length;
+ const buffer = outputs.join('\n').split(/\r\n|\r|\n/g);
+ const lineCount = buffer.length;
if (lineCount < linesLimit) {
const spanElement = handleANSIOutput(buffer.slice(0, linesLimit).join('\n'));
diff --git a/extensions/npm/src/commands.ts b/extensions/npm/src/commands.ts
index 295ae306c3f..e2489a7a58a 100644
--- a/extensions/npm/src/commands.ts
+++ b/extensions/npm/src/commands.ts
@@ -16,17 +16,17 @@ import {
const localize = nls.loadMessageBundle();
export function runSelectedScript(context: vscode.ExtensionContext) {
- let editor = vscode.window.activeTextEditor;
+ const editor = vscode.window.activeTextEditor;
if (!editor) {
return;
}
- let document = editor.document;
- let contents = document.getText();
- let script = findScriptAtPosition(editor.document, contents, editor.selection.anchor);
+ const document = editor.document;
+ const contents = document.getText();
+ const script = findScriptAtPosition(editor.document, contents, editor.selection.anchor);
if (script) {
runScript(context, script, document);
} else {
- let message = localize('noScriptFound', 'Could not find a valid npm script at the selection.');
+ const message = localize('noScriptFound', 'Could not find a valid npm script at the selection.');
vscode.window.showErrorMessage(message);
}
}
@@ -37,7 +37,7 @@ export async function selectAndRunScriptFromFolder(context: vscode.ExtensionCont
}
const selectedFolder = selectedFolders[0];
- let taskList: IFolderTaskItem[] = await detectNpmScriptsForFolder(context, selectedFolder);
+ const taskList: IFolderTaskItem[] = await detectNpmScriptsForFolder(context, selectedFolder);
if (taskList && taskList.length > 0) {
const quickPick = vscode.window.createQuickPick<IFolderTaskItem>();
@@ -47,7 +47,7 @@ export async function selectAndRunScriptFromFolder(context: vscode.ExtensionCont
const toDispose: vscode.Disposable[] = [];
- let pickPromise = new Promise<IFolderTaskItem | undefined>((c) => {
+ const pickPromise = new Promise<IFolderTaskItem | undefined>((c) => {
toDispose.push(quickPick.onDidAccept(() => {
toDispose.forEach(d => d.dispose());
c(quickPick.selectedItems[0]);
@@ -58,7 +58,7 @@ export async function selectAndRunScriptFromFolder(context: vscode.ExtensionCont
}));
});
quickPick.show();
- let result = await pickPromise;
+ const result = await pickPromise;
quickPick.dispose();
if (result) {
vscode.tasks.executeTask(result.task);
diff --git a/extensions/npm/src/features/packageJSONContribution.ts b/extensions/npm/src/features/packageJSONContribution.ts
index ad638d7d4c2..a14f157b309 100644
--- a/extensions/npm/src/features/packageJSONContribution.ts
+++ b/extensions/npm/src/features/packageJSONContribution.ts
@@ -78,7 +78,7 @@ export class PackageJSONContribution implements IJSONContribution {
if (currentWord.indexOf('/') !== -1) {
return this.collectScopedPackages(currentWord, addValue, isLast, collector);
}
- for (let scope of this.knownScopes) {
+ for (const scope of this.knownScopes) {
const proposal = new CompletionItem(scope);
proposal.kind = CompletionItemKind.Property;
proposal.insertText = new SnippetString().appendText(`"${scope}/`).appendTabstop().appendText('"');
@@ -146,14 +146,14 @@ export class PackageJSONContribution implements IJSONContribution {
}
private collectScopedPackages(currentWord: string, addValue: boolean, isLast: boolean, collector: ISuggestionsCollector): Thenable<any> {
- let segments = currentWord.split('/');
+ const segments = currentWord.split('/');
if (segments.length === 2 && segments[0].length > 1) {
- let scope = segments[0].substr(1);
+ const scope = segments[0].substr(1);
let name = segments[1];
if (name.length < 4) {
name = '';
}
- let queryUrl = `https://registry.npmjs.com/-/v1/search?text=scope:${scope}%20${name}&size=250`;
+ const queryUrl = `https://registry.npmjs.com/-/v1/search?text=scope:${scope}%20${name}&size=250`;
return this.xhr({
url: queryUrl,
headers: { agent: USER_AGENT }
@@ -163,7 +163,7 @@ export class PackageJSONContribution implements IJSONContribution {
const obj = JSON.parse(success.responseText);
if (obj && Array.isArray(obj.objects)) {
const objects = <{ package: SearchPackageInfo }[]>obj.objects;
- for (let object of objects) {
+ for (const object of objects) {
this.processPackage(object.package, addValue, isLast, collector);
}
}
@@ -286,7 +286,7 @@ export class PackageJSONContribution implements IJSONContribution {
private npmView(npmCommandPath: string, pack: string, resource: Uri | undefined): Promise<ViewPackageInfo | undefined> {
return new Promise((resolve, _reject) => {
const args = ['view', '--json', pack, 'description', 'dist-tags.latest', 'homepage', 'version'];
- let cwd = resource && resource.scheme === 'file' ? dirname(resource.fsPath) : undefined;
+ const cwd = resource && resource.scheme === 'file' ? dirname(resource.fsPath) : undefined;
cp.execFile(npmCommandPath, args, { cwd }, (error, stdout) => {
if (!error) {
try {
diff --git a/extensions/npm/src/npmMain.ts b/extensions/npm/src/npmMain.ts
index 3788c94ea45..a8289599917 100644
--- a/extensions/npm/src/npmMain.ts
+++ b/extensions/npm/src/npmMain.ts
@@ -93,17 +93,17 @@ function canRunNpmInCurrentWorkspace() {
let taskProvider: NpmTaskProvider;
function registerTaskProvider(context: vscode.ExtensionContext): vscode.Disposable | undefined {
if (vscode.workspace.workspaceFolders) {
- let watcher = vscode.workspace.createFileSystemWatcher('**/package.json');
+ const watcher = vscode.workspace.createFileSystemWatcher('**/package.json');
watcher.onDidChange((_e) => invalidateScriptCaches());
watcher.onDidDelete((_e) => invalidateScriptCaches());
watcher.onDidCreate((_e) => invalidateScriptCaches());
context.subscriptions.push(watcher);
- let workspaceWatcher = vscode.workspace.onDidChangeWorkspaceFolders((_e) => invalidateScriptCaches());
+ const workspaceWatcher = vscode.workspace.onDidChangeWorkspaceFolders((_e) => invalidateScriptCaches());
context.subscriptions.push(workspaceWatcher);
taskProvider = new NpmTaskProvider(context);
- let disposable = vscode.tasks.registerTaskProvider('npm', taskProvider);
+ const disposable = vscode.tasks.registerTaskProvider('npm', taskProvider);
context.subscriptions.push(disposable);
return disposable;
}
@@ -112,7 +112,7 @@ function registerTaskProvider(context: vscode.ExtensionContext): vscode.Disposab
function registerExplorer(context: vscode.ExtensionContext): NpmScriptsTreeDataProvider | undefined {
if (vscode.workspace.workspaceFolders) {
- let treeDataProvider = new NpmScriptsTreeDataProvider(context, taskProvider!);
+ const treeDataProvider = new NpmScriptsTreeDataProvider(context, taskProvider!);
const view = vscode.window.createTreeView('npm', { treeDataProvider: treeDataProvider, showCollapseAll: true });
context.subscriptions.push(view);
return treeDataProvider;
@@ -122,12 +122,12 @@ function registerExplorer(context: vscode.ExtensionContext): NpmScriptsTreeDataP
function registerHoverProvider(context: vscode.ExtensionContext): NpmScriptHoverProvider | undefined {
if (vscode.workspace.workspaceFolders) {
- let npmSelector: vscode.DocumentSelector = {
+ const npmSelector: vscode.DocumentSelector = {
language: 'json',
scheme: 'file',
pattern: '**/package.json'
};
- let provider = new NpmScriptHoverProvider(context);
+ const provider = new NpmScriptHoverProvider(context);
context.subscriptions.push(vscode.languages.registerHoverProvider(npmSelector, provider));
return provider;
}
diff --git a/extensions/npm/src/npmView.ts b/extensions/npm/src/npmView.ts
index e7bfd08bd7c..3ed572a06f9 100644
--- a/extensions/npm/src/npmView.ts
+++ b/extensions/npm/src/npmView.ts
@@ -180,7 +180,7 @@ export class NpmScriptsTreeDataProvider implements TreeDataProvider<TreeItem> {
if (!uri) {
return;
}
- let task = await createTask(await getPackageManager(this.context, selection.folder.workspaceFolder.uri, true), 'install', ['install'], selection.folder.workspaceFolder, uri, undefined, []);
+ const task = await createTask(await getPackageManager(this.context, selection.folder.workspaceFolder.uri, true), 'install', ['install'], selection.folder.workspaceFolder, uri, undefined, []);
tasks.executeTask(task);
}
@@ -194,8 +194,8 @@ export class NpmScriptsTreeDataProvider implements TreeDataProvider<TreeItem> {
if (!uri) {
return;
}
- let document: TextDocument = await workspace.openTextDocument(uri);
- let position = this.findScriptPosition(document, selection instanceof NpmScript ? selection : undefined) || new Position(0, 0);
+ const document: TextDocument = await workspace.openTextDocument(uri);
+ const position = this.findScriptPosition(document, selection instanceof NpmScript ? selection : undefined) || new Position(0, 0);
await window.showTextDocument(document, { preserveFocus: true, selection: new Selection(position, position) });
}
@@ -260,7 +260,7 @@ export class NpmScriptsTreeDataProvider implements TreeDataProvider<TreeItem> {
}
private isInstallTask(task: Task): boolean {
- let fullName = getTaskName('install', task.definition.path);
+ const fullName = getTaskName('install', task.definition.path);
return fullName === task.name;
}
@@ -285,8 +285,8 @@ export class NpmScriptsTreeDataProvider implements TreeDataProvider<TreeItem> {
}
private buildTaskTree(tasks: ITaskWithLocation[]): TaskTree {
- let folders: Map<String, Folder> = new Map();
- let packages: Map<String, PackageJSON> = new Map();
+ const folders: Map<String, Folder> = new Map();
+ const packages: Map<String, PackageJSON> = new Map();
let folder = null;
let packageJson = null;
@@ -311,16 +311,16 @@ export class NpmScriptsTreeDataProvider implements TreeDataProvider<TreeItem> {
folder = new Folder(each.task.scope);
folders.set(each.task.scope.name, folder);
}
- let definition: INpmTaskDefinition = <INpmTaskDefinition>each.task.definition;
- let relativePath = definition.path ? definition.path : '';
- let fullPath = path.join(each.task.scope.name, relativePath);
+ const definition: INpmTaskDefinition = <INpmTaskDefinition>each.task.definition;
+ const relativePath = definition.path ? definition.path : '';
+ const fullPath = path.join(each.task.scope.name, relativePath);
packageJson = packages.get(fullPath);
if (!packageJson) {
packageJson = new PackageJSON(folder, relativePath);
folder.addPackage(packageJson);
packages.set(fullPath, packageJson);
}
- let script = new NpmScript(this.extensionContext, packageJson, each);
+ const script = new NpmScript(this.extensionContext, packageJson, each);
packageJson.addScript(script);
}
});
diff --git a/extensions/npm/src/scriptHover.ts b/extensions/npm/src/scriptHover.ts
index 02a2d4d5781..b8924bb25df 100644
--- a/extensions/npm/src/scriptHover.ts
+++ b/extensions/npm/src/scriptHover.ts
@@ -52,7 +52,7 @@ export class NpmScriptHoverProvider implements HoverProvider {
cachedScripts?.scripts.forEach(({ name, nameRange }) => {
if (nameRange.contains(position)) {
- let contents: MarkdownString = new MarkdownString();
+ const contents: MarkdownString = new MarkdownString();
contents.isTrusted = true;
contents.appendMarkdown(this.createRunScriptMarkdown(name, document.uri));
contents.appendMarkdown(this.createDebugScriptMarkdown(name, document.uri));
@@ -63,7 +63,7 @@ export class NpmScriptHoverProvider implements HoverProvider {
}
private createRunScriptMarkdown(script: string, documentUri: Uri): string {
- let args = {
+ const args = {
documentUri: documentUri,
script: script,
};
@@ -90,7 +90,7 @@ export class NpmScriptHoverProvider implements HoverProvider {
}
private createMarkdownLink(label: string, cmd: string, args: any, tooltip: string, separator?: string): string {
- let encodedArgs = encodeURIComponent(JSON.stringify(args));
+ const encodedArgs = encodeURIComponent(JSON.stringify(args));
let prefix = '';
if (separator) {
prefix = ` ${separator} `;
@@ -99,19 +99,19 @@ export class NpmScriptHoverProvider implements HoverProvider {
}
public async runScriptFromHover(args: any) {
- let script = args.script;
- let documentUri = args.documentUri;
- let folder = workspace.getWorkspaceFolder(documentUri);
+ const script = args.script;
+ const documentUri = args.documentUri;
+ const folder = workspace.getWorkspaceFolder(documentUri);
if (folder) {
- let task = await createTask(await getPackageManager(this.context, folder.uri), script, ['run', script], folder, documentUri);
+ const task = await createTask(await getPackageManager(this.context, folder.uri), script, ['run', script], folder, documentUri);
await tasks.executeTask(task);
}
}
public debugScriptFromHover(args: { script: string; documentUri: Uri }) {
- let script = args.script;
- let documentUri = args.documentUri;
- let folder = workspace.getWorkspaceFolder(documentUri);
+ const script = args.script;
+ const documentUri = args.documentUri;
+ const folder = workspace.getWorkspaceFolder(documentUri);
if (folder) {
startDebugging(this.context, script, dirname(documentUri.fsPath), folder);
}
diff --git a/extensions/npm/src/tasks.ts b/extensions/npm/src/tasks.ts
index 47237442d98..dc28ed7f4ed 100644
--- a/extensions/npm/src/tasks.ts
+++ b/extensions/npm/src/tasks.ts
@@ -87,7 +87,7 @@ export function invalidateTasksCache() {
const buildNames: string[] = ['build', 'compile', 'watch'];
function isBuildTask(name: string): boolean {
- for (let buildName of buildNames) {
+ for (const buildName of buildNames) {
if (name.indexOf(buildName) !== -1) {
return true;
}
@@ -97,7 +97,7 @@ function isBuildTask(name: string): boolean {
const testNames: string[] = ['test'];
function isTestTask(name: string): boolean {
- for (let testName of testNames) {
+ for (const testName of testNames) {
if (name === testName) {
return true;
}
@@ -150,15 +150,15 @@ export async function getPackageManager(extensionContext: ExtensionContext, fold
}
export async function hasNpmScripts(): Promise<boolean> {
- let folders = workspace.workspaceFolders;
+ const folders = workspace.workspaceFolders;
if (!folders) {
return false;
}
try {
for (const folder of folders) {
if (isAutoDetectionEnabled(folder)) {
- let relativePattern = new RelativePattern(folder, '**/package.json');
- let paths = await workspace.findFiles(relativePattern, '**/node_modules/**');
+ const relativePattern = new RelativePattern(folder, '**/package.json');
+ const paths = await workspace.findFiles(relativePattern, '**/node_modules/**');
if (paths.length > 0) {
return true;
}
@@ -172,22 +172,22 @@ export async function hasNpmScripts(): Promise<boolean> {
async function detectNpmScripts(context: ExtensionContext, showWarning: boolean): Promise<ITaskWithLocation[]> {
- let emptyTasks: ITaskWithLocation[] = [];
- let allTasks: ITaskWithLocation[] = [];
- let visitedPackageJsonFiles: Set<string> = new Set();
+ const emptyTasks: ITaskWithLocation[] = [];
+ const allTasks: ITaskWithLocation[] = [];
+ const visitedPackageJsonFiles: Set<string> = new Set();
- let folders = workspace.workspaceFolders;
+ const folders = workspace.workspaceFolders;
if (!folders) {
return emptyTasks;
}
try {
for (const folder of folders) {
if (isAutoDetectionEnabled(folder)) {
- let relativePattern = new RelativePattern(folder, '**/package.json');
- let paths = await workspace.findFiles(relativePattern, '**/{node_modules,.vscode-test}/**');
+ const relativePattern = new RelativePattern(folder, '**/package.json');
+ const paths = await workspace.findFiles(relativePattern, '**/{node_modules,.vscode-test}/**');
for (const path of paths) {
if (!isExcluded(folder, path) && !visitedPackageJsonFiles.has(path.fsPath)) {
- let tasks = await provideNpmScriptsForFolder(context, path, showWarning);
+ const tasks = await provideNpmScriptsForFolder(context, path, showWarning);
visitedPackageJsonFiles.add(path.fsPath);
allTasks.push(...tasks);
}
@@ -203,16 +203,16 @@ async function detectNpmScripts(context: ExtensionContext, showWarning: boolean)
export async function detectNpmScriptsForFolder(context: ExtensionContext, folder: Uri): Promise<IFolderTaskItem[]> {
- let folderTasks: IFolderTaskItem[] = [];
+ const folderTasks: IFolderTaskItem[] = [];
try {
- let relativePattern = new RelativePattern(folder.fsPath, '**/package.json');
- let paths = await workspace.findFiles(relativePattern, '**/node_modules/**');
+ const relativePattern = new RelativePattern(folder.fsPath, '**/package.json');
+ const paths = await workspace.findFiles(relativePattern, '**/node_modules/**');
- let visitedPackageJsonFiles: Set<string> = new Set();
+ const visitedPackageJsonFiles: Set<string> = new Set();
for (const path of paths) {
if (!visitedPackageJsonFiles.has(path.fsPath)) {
- let tasks = await provideNpmScriptsForFolder(context, path, true);
+ const tasks = await provideNpmScriptsForFolder(context, path, true);
visitedPackageJsonFiles.add(path.fsPath);
folderTasks.push(...tasks.map(t => ({ label: t.task.name, task: t.task })));
}
@@ -239,12 +239,12 @@ function isExcluded(folder: WorkspaceFolder, packageJsonUri: Uri) {
return minimatch(path, pattern, { dot: true });
}
- let exclude = workspace.getConfiguration('npm', folder.uri).get<string | string[]>('exclude');
- let packageJsonFolder = path.dirname(packageJsonUri.fsPath);
+ const exclude = workspace.getConfiguration('npm', folder.uri).get<string | string[]>('exclude');
+ const packageJsonFolder = path.dirname(packageJsonUri.fsPath);
if (exclude) {
if (Array.isArray(exclude)) {
- for (let pattern of exclude) {
+ for (const pattern of exclude) {
if (testForExclusionPattern(packageJsonFolder, pattern)) {
return true;
}
@@ -257,18 +257,18 @@ function isExcluded(folder: WorkspaceFolder, packageJsonUri: Uri) {
}
function isDebugScript(script: string): boolean {
- let match = script.match(/--(inspect|debug)(-brk)?(=((\[[0-9a-fA-F:]*\]|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z0-9\.]*):)?(\d+))?/);
+ const match = script.match(/--(inspect|debug)(-brk)?(=((\[[0-9a-fA-F:]*\]|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z0-9\.]*):)?(\d+))?/);
return match !== null;
}
async function provideNpmScriptsForFolder(context: ExtensionContext, packageJsonUri: Uri, showWarning: boolean): Promise<ITaskWithLocation[]> {
- let emptyTasks: ITaskWithLocation[] = [];
+ const emptyTasks: ITaskWithLocation[] = [];
- let folder = workspace.getWorkspaceFolder(packageJsonUri);
+ const folder = workspace.getWorkspaceFolder(packageJsonUri);
if (!folder) {
return emptyTasks;
}
- let scripts = await getScripts(packageJsonUri);
+ const scripts = await getScripts(packageJsonUri);
if (!scripts) {
return emptyTasks;
}
@@ -318,17 +318,17 @@ export async function createTask(packageManager: string, script: INpmTaskDefinit
}
function getRelativePath(packageJsonUri: Uri): string {
- let rootUri = folder.uri;
- let absolutePath = packageJsonUri.path.substring(0, packageJsonUri.path.length - 'package.json'.length);
+ const rootUri = folder.uri;
+ const absolutePath = packageJsonUri.path.substring(0, packageJsonUri.path.length - 'package.json'.length);
return absolutePath.substring(rootUri.path.length + 1);
}
- let relativePackageJson = getRelativePath(packageJsonUri);
+ const relativePackageJson = getRelativePath(packageJsonUri);
if (relativePackageJson.length && !kind.path) {
kind.path = relativePackageJson.substring(0, relativePackageJson.length - 1);
}
- let taskName = getTaskName(kind.script, relativePackageJson);
- let cwd = path.dirname(packageJsonUri.fsPath);
+ const taskName = getTaskName(kind.script, relativePackageJson);
+ const cwd = path.dirname(packageJsonUri.fsPath);
const task = new Task(kind, folder, taskName, 'npm', new ShellExecution(packageManager, getCommandLine(cmd), { cwd: cwd }), matcher);
task.detail = scriptValue;
@@ -368,13 +368,13 @@ export async function hasPackageJson(): Promise<boolean> {
}
async function hasRootPackageJson(): Promise<boolean> {
- let folders = workspace.workspaceFolders;
+ const folders = workspace.workspaceFolders;
if (!folders) {
return false;
}
for (const folder of folders) {
if (folder.uri.scheme === 'file') {
- let packageJson = path.join(folder.uri.fsPath, 'package.json');
+ const packageJson = path.join(folder.uri.fsPath, 'package.json');
if (await exists(packageJson)) {
return true;
}
@@ -392,8 +392,8 @@ async function exists(file: string): Promise<boolean> {
}
export async function runScript(context: ExtensionContext, script: string, document: TextDocument) {
- let uri = document.uri;
- let folder = workspace.getWorkspaceFolder(uri);
+ const uri = document.uri;
+ const folder = workspace.getWorkspaceFolder(uri);
if (folder) {
const task = await createTask(await getPackageManager(context, folder.uri), script, ['run', script], folder, uri);
tasks.executeTask(task);
@@ -432,7 +432,7 @@ export async function getScripts(packageJsonUri: Uri) {
return undefined;
}
- let packageJson = packageJsonUri.fsPath;
+ const packageJson = packageJsonUri.fsPath;
if (!await exists(packageJson)) {
return undefined;
}
@@ -441,7 +441,7 @@ export async function getScripts(packageJsonUri: Uri) {
const document: TextDocument = await workspace.openTextDocument(packageJsonUri);
return readScripts(document);
} catch (e) {
- let localizedParseError = localize('npm.parseError', 'Npm task detection: failed to parse the file {0}', packageJsonUri.fsPath);
+ const localizedParseError = localize('npm.parseError', 'Npm task detection: failed to parse the file {0}', packageJsonUri.fsPath);
throw new Error(localizedParseError);
}
}
diff --git a/extensions/php-language-features/src/features/completionItemProvider.ts b/extensions/php-language-features/src/features/completionItemProvider.ts
index c57085c3fc8..205c59d77b8 100644
--- a/extensions/php-language-features/src/features/completionItemProvider.ts
+++ b/extensions/php-language-features/src/features/completionItemProvider.ts
@@ -10,15 +10,15 @@ import phpGlobalFunctions = require('./phpGlobalFunctions');
export default class PHPCompletionItemProvider implements CompletionItemProvider {
public provideCompletionItems(document: TextDocument, position: Position, _token: CancellationToken, context: CompletionContext): Promise<CompletionItem[]> {
- let result: CompletionItem[] = [];
+ const result: CompletionItem[] = [];
- let shouldProvideCompletionItems = workspace.getConfiguration('php').get<boolean>('suggest.basic', true);
+ const shouldProvideCompletionItems = workspace.getConfiguration('php').get<boolean>('suggest.basic', true);
if (!shouldProvideCompletionItems) {
return Promise.resolve(result);
}
let range = document.getWordRangeAtPosition(position);
- let prefix = range ? document.getText(range) : '';
+ const prefix = range ? document.getText(range) : '';
if (!range) {
range = new Range(position, position);
}
@@ -31,9 +31,9 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
}
}
- let added: any = {};
- let createNewProposal = function (kind: CompletionItemKind, name: string, entry: phpGlobals.IEntry | null): CompletionItem {
- let proposal: CompletionItem = new CompletionItem(name);
+ const added: any = {};
+ const createNewProposal = function (kind: CompletionItemKind, name: string, entry: phpGlobals.IEntry | null): CompletionItem {
+ const proposal: CompletionItem = new CompletionItem(name);
proposal.kind = kind;
if (entry) {
if (entry.description) {
@@ -46,63 +46,63 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
return proposal;
};
- let matches = (name: string) => {
+ const matches = (name: string) => {
return prefix.length === 0 || name.length >= prefix.length && name.substr(0, prefix.length) === prefix;
};
if (matches('php') && range.start.character >= 2) {
- let twoBeforePosition = new Position(range.start.line, range.start.character - 2);
- let beforeWord = document.getText(new Range(twoBeforePosition, range.start));
+ const twoBeforePosition = new Position(range.start.line, range.start.character - 2);
+ const beforeWord = document.getText(new Range(twoBeforePosition, range.start));
if (beforeWord === '<?') {
- let proposal = createNewProposal(CompletionItemKind.Class, '<?php', null);
+ const proposal = createNewProposal(CompletionItemKind.Class, '<?php', null);
proposal.textEdit = new TextEdit(new Range(twoBeforePosition, position), '<?php');
result.push(proposal);
return Promise.resolve(result);
}
}
- for (let globalvariables in phpGlobals.globalvariables) {
+ for (const globalvariables in phpGlobals.globalvariables) {
if (phpGlobals.globalvariables.hasOwnProperty(globalvariables) && matches(globalvariables)) {
added[globalvariables] = true;
result.push(createNewProposal(CompletionItemKind.Variable, globalvariables, phpGlobals.globalvariables[globalvariables]));
}
}
- for (let globalfunctions in phpGlobalFunctions.globalfunctions) {
+ for (const globalfunctions in phpGlobalFunctions.globalfunctions) {
if (phpGlobalFunctions.globalfunctions.hasOwnProperty(globalfunctions) && matches(globalfunctions)) {
added[globalfunctions] = true;
result.push(createNewProposal(CompletionItemKind.Function, globalfunctions, phpGlobalFunctions.globalfunctions[globalfunctions]));
}
}
- for (let compiletimeconstants in phpGlobals.compiletimeconstants) {
+ for (const compiletimeconstants in phpGlobals.compiletimeconstants) {
if (phpGlobals.compiletimeconstants.hasOwnProperty(compiletimeconstants) && matches(compiletimeconstants)) {
added[compiletimeconstants] = true;
result.push(createNewProposal(CompletionItemKind.Field, compiletimeconstants, phpGlobals.compiletimeconstants[compiletimeconstants]));
}
}
- for (let keywords in phpGlobals.keywords) {
+ for (const keywords in phpGlobals.keywords) {
if (phpGlobals.keywords.hasOwnProperty(keywords) && matches(keywords)) {
added[keywords] = true;
result.push(createNewProposal(CompletionItemKind.Keyword, keywords, phpGlobals.keywords[keywords]));
}
}
- let text = document.getText();
+ const text = document.getText();
if (prefix[0] === '$') {
- let variableMatch = /\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/g;
+ const variableMatch = /\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/g;
let match: RegExpExecArray | null = null;
while (match = variableMatch.exec(text)) {
- let word = match[0];
+ const word = match[0];
if (!added[word]) {
added[word] = true;
result.push(createNewProposal(CompletionItemKind.Variable, word, null));
}
}
}
- let functionMatch = /function\s+([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\(/g;
+ const functionMatch = /function\s+([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\(/g;
let match2: RegExpExecArray | null = null;
while (match2 = functionMatch.exec(text)) {
- let word2 = match2[1];
+ const word2 = match2[1];
if (!added[word2]) {
added[word2] = true;
result.push(createNewProposal(CompletionItemKind.Function, word2, null));
diff --git a/extensions/php-language-features/src/features/hoverProvider.ts b/extensions/php-language-features/src/features/hoverProvider.ts
index a79da4073a9..fdf489187e1 100644
--- a/extensions/php-language-features/src/features/hoverProvider.ts
+++ b/extensions/php-language-features/src/features/hoverProvider.ts
@@ -11,22 +11,22 @@ import phpGlobalFunctions = require('./phpGlobalFunctions');
export default class PHPHoverProvider implements HoverProvider {
public provideHover(document: TextDocument, position: Position, _token: CancellationToken): Hover | undefined {
- let enable = workspace.getConfiguration('php').get<boolean>('suggest.basic', true);
+ const enable = workspace.getConfiguration('php').get<boolean>('suggest.basic', true);
if (!enable) {
return undefined;
}
- let wordRange = document.getWordRangeAtPosition(position);
+ const wordRange = document.getWordRangeAtPosition(position);
if (!wordRange) {
return undefined;
}
- let name = document.getText(wordRange);
+ const name = document.getText(wordRange);
- let entry = phpGlobalFunctions.globalfunctions[name] || phpGlobals.compiletimeconstants[name] || phpGlobals.globalvariables[name] || phpGlobals.keywords[name];
+ const entry = phpGlobalFunctions.globalfunctions[name] || phpGlobals.compiletimeconstants[name] || phpGlobals.globalvariables[name] || phpGlobals.keywords[name];
if (entry && entry.description) {
- let signature = name + (entry.signature || '');
- let contents: MarkedString[] = [textToMarkedString(entry.description), { language: 'php', value: signature }];
+ const signature = name + (entry.signature || '');
+ const contents: MarkedString[] = [textToMarkedString(entry.description), { language: 'php', value: signature }];
return new Hover(contents, wordRange);
}
diff --git a/extensions/php-language-features/src/features/signatureHelpProvider.ts b/extensions/php-language-features/src/features/signatureHelpProvider.ts
index 09db65929da..bf56516caf0 100644
--- a/extensions/php-language-features/src/features/signatureHelpProvider.ts
+++ b/extensions/php-language-features/src/features/signatureHelpProvider.ts
@@ -58,7 +58,7 @@ class BackwardIterator {
this.lineNumber = -1;
return BOF;
}
- let ch = this.line.charCodeAt(this.offset);
+ const ch = this.line.charCodeAt(this.offset);
this.offset--;
return ch;
}
@@ -69,36 +69,36 @@ class BackwardIterator {
export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
public provideSignatureHelp(document: TextDocument, position: Position, _token: CancellationToken): Promise<SignatureHelp> | null {
- let enable = workspace.getConfiguration('php').get<boolean>('suggest.basic', true);
+ const enable = workspace.getConfiguration('php').get<boolean>('suggest.basic', true);
if (!enable) {
return null;
}
- let iterator = new BackwardIterator(document, position.character - 1, position.line);
+ const iterator = new BackwardIterator(document, position.character - 1, position.line);
- let paramCount = this.readArguments(iterator);
+ const paramCount = this.readArguments(iterator);
if (paramCount < 0) {
return null;
}
- let ident = this.readIdent(iterator);
+ const ident = this.readIdent(iterator);
if (!ident) {
return null;
}
- let entry = phpGlobalFunctions.globalfunctions[ident] || phpGlobals.keywords[ident];
+ const entry = phpGlobalFunctions.globalfunctions[ident] || phpGlobals.keywords[ident];
if (!entry || !entry.signature) {
return null;
}
- let paramsString = entry.signature.substring(0, entry.signature.lastIndexOf(')') + 1);
- let signatureInfo = new SignatureInformation(ident + paramsString, entry.description);
+ const paramsString = entry.signature.substring(0, entry.signature.lastIndexOf(')') + 1);
+ const signatureInfo = new SignatureInformation(ident + paramsString, entry.description);
- let re = /\w*\s+\&?\$[\w_\.]+|void/g;
+ const re = /\w*\s+\&?\$[\w_\.]+|void/g;
let match: RegExpExecArray | null = null;
while ((match = re.exec(paramsString)) !== null) {
signatureInfo.parameters.push({ label: match[0], documentation: '' });
}
- let ret = new SignatureHelp();
+ const ret = new SignatureHelp();
ret.signatures.push(signatureInfo);
ret.activeSignature = 0;
ret.activeParameter = Math.min(paramCount, signatureInfo.parameters.length - 1);
@@ -111,7 +111,7 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
let curlyNesting = 0;
let paramCount = 0;
while (iterator.hasNext()) {
- let ch = iterator.next();
+ const ch = iterator.next();
switch (ch) {
case _LParent:
parentNesting--;
@@ -156,7 +156,7 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
let identStarted = false;
let ident = '';
while (iterator.hasNext()) {
- let ch = iterator.next();
+ const ch = iterator.next();
if (!identStarted && (ch === _WSB || ch === _TAB || ch === _NL)) {
continue;
}
diff --git a/extensions/php-language-features/src/features/utils/async.ts b/extensions/php-language-features/src/features/utils/async.ts
index 7364553e081..84a54c4fcd1 100644
--- a/extensions/php-language-features/src/features/utils/async.ts
+++ b/extensions/php-language-features/src/features/utils/async.ts
@@ -44,10 +44,10 @@ export class Throttler<T> {
this.queuedPromiseFactory = promiseFactory;
if (!this.queuedPromise) {
- let onComplete = () => {
+ const onComplete = () => {
this.queuedPromise = null;
- let result = this.queue(this.queuedPromiseFactory!);
+ const result = this.queue(this.queuedPromiseFactory!);
this.queuedPromiseFactory = null;
return result;
@@ -127,7 +127,7 @@ export class Delayer<T> {
this.completionPromise = null;
this.onResolve = null;
- let result = this.task!();
+ const result = this.task!();
this.task = null;
return result;
diff --git a/extensions/php-language-features/src/features/validationProvider.ts b/extensions/php-language-features/src/features/validationProvider.ts
index 6a494b3231a..b50e2e8e779 100644
--- a/extensions/php-language-features/src/features/validationProvider.ts
+++ b/extensions/php-language-features/src/features/validationProvider.ts
@@ -10,7 +10,7 @@ import * as path from 'path';
import * as vscode from 'vscode';
import { ThrottledDelayer } from './utils/async';
import * as nls from 'vscode-nls';
-let localize = nls.loadMessageBundle();
+const localize = nls.loadMessageBundle();
const enum Setting {
Run = 'php.validate.run',
@@ -28,8 +28,8 @@ export class LineDecoder {
}
public write(buffer: Buffer): string[] {
- let result: string[] = [];
- let value = this.remaining
+ const result: string[] = [];
+ const value = this.remaining
? this.remaining + this.stringDecoder.write(buffer)
: this.stringDecoder.write(buffer);
@@ -70,11 +70,11 @@ enum RunTrigger {
}
namespace RunTrigger {
- export let strings = {
+ export const strings = {
onSave: 'onSave',
onType: 'onType'
};
- export let from = function (value: string): RunTrigger {
+ export const from = function (value: string): RunTrigger {
if (value === 'onType') {
return RunTrigger.onType;
} else {
@@ -165,7 +165,7 @@ export default class PHPValidationProvider {
}
if (vscode.workspace.isTrusted) {
- let key = textDocument.uri.toString();
+ const key = textDocument.uri.toString();
let delayer = this.delayers![key];
if (!delayer) {
delayer = new ThrottledDelayer<void>(this.config?.trigger === RunTrigger.onType ? 250 : 0);
@@ -191,14 +191,14 @@ export default class PHPValidationProvider {
return;
}
- let decoder = new LineDecoder();
- let diagnostics: vscode.Diagnostic[] = [];
- let processLine = (line: string) => {
- let matches = line.match(PHPValidationProvider.MatchExpression);
+ const decoder = new LineDecoder();
+ const diagnostics: vscode.Diagnostic[] = [];
+ const processLine = (line: string) => {
+ const matches = line.match(PHPValidationProvider.MatchExpression);
if (matches) {
- let message = matches[1];
- let line = parseInt(matches[3]) - 1;
- let diagnostic: vscode.Diagnostic = new vscode.Diagnostic(
+ const message = matches[1];
+ const line = parseInt(matches[3]) - 1;
+ const diagnostic: vscode.Diagnostic = new vscode.Diagnostic(
new vscode.Range(line, 0, line, Number.MAX_VALUE),
message
);
@@ -206,7 +206,7 @@ export default class PHPValidationProvider {
}
};
- let options = (vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders[0]) ? { cwd: vscode.workspace.workspaceFolders[0].uri.fsPath } : undefined;
+ const options = (vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders[0]) ? { cwd: vscode.workspace.workspaceFolders[0].uri.fsPath } : undefined;
let args: string[];
if (this.config!.trigger === RunTrigger.onSave) {
args = PHPValidationProvider.FileArgs.slice(0);
@@ -215,7 +215,7 @@ export default class PHPValidationProvider {
args = PHPValidationProvider.BufferArgs;
}
try {
- let childProcess = cp.spawn(executable, args, options);
+ const childProcess = cp.spawn(executable, args, options);
childProcess.on('error', (error: Error) => {
if (this.pauseValidation) {
resolve();
@@ -234,7 +234,7 @@ export default class PHPValidationProvider {
decoder.write(data).forEach(processLine);
});
childProcess.stdout.on('end', () => {
- let line = decoder.end();
+ const line = decoder.end();
if (line) {
processLine(line);
}
diff --git a/extensions/php-language-features/src/phpMain.ts b/extensions/php-language-features/src/phpMain.ts
index 554b2f6613b..b35d523b350 100644
--- a/extensions/php-language-features/src/phpMain.ts
+++ b/extensions/php-language-features/src/phpMain.ts
@@ -12,7 +12,7 @@ import PHPValidationProvider from './features/validationProvider';
export function activate(context: vscode.ExtensionContext): any {
- let validator = new PHPValidationProvider();
+ const validator = new PHPValidationProvider();
validator.activate(context.subscriptions);
// add providers
diff --git a/extensions/references-view/src/references/model.ts b/extensions/references-view/src/references/model.ts
index 9814f3ec32f..d9716d72dd6 100644
--- a/extensions/references-view/src/references/model.ts
+++ b/extensions/references-view/src/references/model.ts
@@ -78,8 +78,8 @@ export class ReferencesModel implements SymbolItemNavigation<FileItem | Referenc
}
private static _compareUriIgnoreFragment(a: vscode.Uri, b: vscode.Uri): number {
- let aStr = a.with({ fragment: '' }).toString();
- let bStr = b.with({ fragment: '' }).toString();
+ const aStr = a.with({ fragment: '' }).toString();
+ const bStr = b.with({ fragment: '' }).toString();
if (aStr < bStr) {
return -1;
} else if (aStr > bStr) {
@@ -89,16 +89,16 @@ export class ReferencesModel implements SymbolItemNavigation<FileItem | Referenc
}
private static _compareLocations(a: vscode.Location | vscode.LocationLink, b: vscode.Location | vscode.LocationLink): number {
- let aUri = a instanceof vscode.Location ? a.uri : a.targetUri;
- let bUri = b instanceof vscode.Location ? b.uri : b.targetUri;
+ const aUri = a instanceof vscode.Location ? a.uri : a.targetUri;
+ const bUri = b instanceof vscode.Location ? b.uri : b.targetUri;
if (aUri.toString() < bUri.toString()) {
return -1;
} else if (aUri.toString() > bUri.toString()) {
return 1;
}
- let aRange = a instanceof vscode.Location ? a.range : a.targetRange;
- let bRange = b instanceof vscode.Location ? b.range : b.targetRange;
+ const aRange = a instanceof vscode.Location ? a.range : a.targetRange;
+ const bRange = b instanceof vscode.Location ? b.range : b.targetRange;
if (aRange.start.isBefore(bRange.start)) {
return -1;
} else if (aRange.start.isAfter(bRange.start)) {
@@ -163,10 +163,10 @@ export class ReferencesModel implements SymbolItemNavigation<FileItem | Referenc
// (3) pick the file with the longest common prefix
let best = 0;
- let bestValue = ReferencesModel._prefixLen(this.items[best].toString(), uri.toString());
+ const bestValue = ReferencesModel._prefixLen(this.items[best].toString(), uri.toString());
for (let i = 1; i < this.items.length; i++) {
- let value = ReferencesModel._prefixLen(this.items[i].uri.toString(), uri.toString());
+ const value = ReferencesModel._prefixLen(this.items[i].uri.toString(), uri.toString());
if (value > bestValue) {
best = i;
}
@@ -340,7 +340,7 @@ export class FileItem {
async asCopyText() {
let result = `${vscode.workspace.asRelativePath(this.uri)}\n`;
- for (let ref of this.references) {
+ for (const ref of this.references) {
result += ` ${await ref.asCopyText()}\n`;
}
return result;
@@ -379,8 +379,8 @@ export class ReferenceItem {
}
async asCopyText() {
- let doc = await this.getDocument();
- let chunks = getPreviewChunks(doc, this.location.range, 21, false);
+ const doc = await this.getDocument();
+ const chunks = getPreviewChunks(doc, this.location.range, 21, false);
return `${this.location.range.start.line + 1}, ${this.location.range.start.character + 1}: ${chunks.before + chunks.inside + chunks.after}`;
}
}
diff --git a/extensions/references-view/src/tree.ts b/extensions/references-view/src/tree.ts
index 8eb533cc5da..df38d11407e 100644
--- a/extensions/references-view/src/tree.ts
+++ b/extensions/references-view/src/tree.ts
@@ -206,7 +206,7 @@ class TreeDndDelegate implements vscode.TreeDragAndDropController<undefined> {
handleDrag(source: undefined[], data: vscode.DataTransfer) {
if (this._delegate) {
const urls: string[] = [];
- for (let item of source) {
+ for (const item of source) {
const uri = this._delegate.getDragUri(item);
if (uri) {
urls.push(uri.toString());
diff --git a/extensions/references-view/src/utils.ts b/extensions/references-view/src/utils.ts
index 2948aab0bc4..cd25e549e17 100644
--- a/extensions/references-view/src/utils.ts
+++ b/extensions/references-view/src/utils.ts
@@ -30,11 +30,11 @@ export async function isValidRequestPosition(uri: vscode.Uri, position: vscode.P
}
export function getPreviewChunks(doc: vscode.TextDocument, range: vscode.Range, beforeLen: number = 8, trim: boolean = true) {
- let previewStart = range.start.with({ character: Math.max(0, range.start.character - beforeLen) });
- let wordRange = doc.getWordRangeAtPosition(previewStart);
+ const previewStart = range.start.with({ character: Math.max(0, range.start.character - beforeLen) });
+ const wordRange = doc.getWordRangeAtPosition(previewStart);
let before = doc.getText(new vscode.Range(wordRange ? wordRange.start : previewStart, range.start));
- let inside = doc.getText(range);
- let previewEnd = range.end.translate(0, 331);
+ const inside = doc.getText(range);
+ const previewEnd = range.end.translate(0, 331);
let after = doc.getText(new vscode.Range(range.end, previewEnd));
if (trim) {
before = before.replace(/^\s*/g, '');
@@ -99,7 +99,7 @@ export class WordAnchor {
line = startLine + i;
if (line < this._doc.lineCount) {
checked = true;
- let ch = this._doc.lineAt(line).text.indexOf(this._word);
+ const ch = this._doc.lineAt(line).text.indexOf(this._word);
if (ch >= 0) {
return new vscode.Position(line, ch);
}
@@ -109,7 +109,7 @@ export class WordAnchor {
line = startLine - i;
if (line >= 0) {
checked = true;
- let ch = this._doc.lineAt(line).text.indexOf(this._word);
+ const ch = this._doc.lineAt(line).text.indexOf(this._word);
if (ch >= 0) {
return new vscode.Position(line, ch);
}
@@ -131,6 +131,6 @@ const _themeIconIds = [
];
export function getThemeIcon(kind: vscode.SymbolKind): vscode.ThemeIcon | undefined {
- let id = _themeIconIds[kind];
+ const id = _themeIconIds[kind];
return id ? new vscode.ThemeIcon(id) : undefined;
}
diff --git a/extensions/search-result/src/extension.ts b/extensions/search-result/src/extension.ts
index 3c397453d04..90443f16771 100644
--- a/extensions/search-result/src/extension.ts
+++ b/extensions/search-result/src/extension.ts
@@ -225,7 +225,7 @@ function parseSearchResults(document: vscode.TextDocument, token?: vscode.Cancel
const metadataOffset = (indentation + _lineNumber + separator).length;
const targetRange = new vscode.Range(Math.max(lineNumber - 3, 0), 0, lineNumber + 3, line.length);
- let locations: Required<vscode.LocationLink>[] = [];
+ const locations: Required<vscode.LocationLink>[] = [];
let lastEnd = metadataOffset;
let offset = 0;
@@ -256,7 +256,7 @@ function parseSearchResults(document: vscode.TextDocument, token?: vscode.Cancel
}
// Allow line number, indentation, etc to take you to definition as well.
- let convenienceLocation: Required<vscode.LocationLink> = {
+ const convenienceLocation: Required<vscode.LocationLink> = {
targetRange,
targetSelectionRange: new vscode.Range(lineNumber, 0, lineNumber, 1),
targetUri: currentTarget,
diff --git a/extensions/shared.webpack.config.js b/extensions/shared.webpack.config.js
index 3ebb9c62b52..a33fa89ce30 100644
--- a/extensions/shared.webpack.config.js
+++ b/extensions/shared.webpack.config.js
@@ -17,7 +17,7 @@ const { DefinePlugin } = require('webpack');
function withNodeDefaults(/**@type WebpackConfig*/extConfig) {
/** @type WebpackConfig */
- let defaultConfig = {
+ const defaultConfig = {
mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production')
target: 'node', // extensions run in a node context
node: {
@@ -93,7 +93,7 @@ function nodePlugins(context) {
function withBrowserDefaults(/**@type WebpackConfig*/extConfig, /** @type AdditionalBrowserConfig */ additionalOptions = {}) {
/** @type WebpackConfig */
- let defaultConfig = {
+ const defaultConfig = {
mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production')
target: 'webworker', // extensions run in a webworker context
resolve: {
diff --git a/extensions/vscode-api-tests/src/memfs.ts b/extensions/vscode-api-tests/src/memfs.ts
index 4f0129da6cb..b7392ae7195 100644
--- a/extensions/vscode-api-tests/src/memfs.ts
+++ b/extensions/vscode-api-tests/src/memfs.ts
@@ -65,7 +65,7 @@ export class TestFS implements vscode.FileSystemProvider {
readDirectory(uri: vscode.Uri): [string, vscode.FileType][] {
const entry = this._lookupAsDirectory(uri, false);
- let result: [string, vscode.FileType][] = [];
+ const result: [string, vscode.FileType][] = [];
for (const [name, child] of entry.entries) {
result.push([name, child.type]);
}
@@ -83,8 +83,8 @@ export class TestFS implements vscode.FileSystemProvider {
}
writeFile(uri: vscode.Uri, content: Uint8Array, options: { create: boolean; overwrite: boolean }): void {
- let basename = path.posix.basename(uri.path);
- let parent = this._lookupParentDirectory(uri);
+ const basename = path.posix.basename(uri.path);
+ const parent = this._lookupParentDirectory(uri);
let entry = parent.entries.get(basename);
if (entry instanceof Directory) {
throw vscode.FileSystemError.FileIsADirectory(uri);
@@ -115,11 +115,11 @@ export class TestFS implements vscode.FileSystemProvider {
throw vscode.FileSystemError.FileExists(newUri);
}
- let entry = this._lookup(oldUri, false);
- let oldParent = this._lookupParentDirectory(oldUri);
+ const entry = this._lookup(oldUri, false);
+ const oldParent = this._lookupParentDirectory(oldUri);
- let newParent = this._lookupParentDirectory(newUri);
- let newName = path.posix.basename(newUri.path);
+ const newParent = this._lookupParentDirectory(newUri);
+ const newName = path.posix.basename(newUri.path);
oldParent.entries.delete(entry.name);
entry.name = newName;
@@ -132,9 +132,9 @@ export class TestFS implements vscode.FileSystemProvider {
}
delete(uri: vscode.Uri): void {
- let dirname = uri.with({ path: path.posix.dirname(uri.path) });
- let basename = path.posix.basename(uri.path);
- let parent = this._lookupAsDirectory(dirname, false);
+ const dirname = uri.with({ path: path.posix.dirname(uri.path) });
+ const basename = path.posix.basename(uri.path);
+ const parent = this._lookupAsDirectory(dirname, false);
if (!parent.entries.has(basename)) {
throw vscode.FileSystemError.FileNotFound(uri);
}
@@ -145,11 +145,11 @@ export class TestFS implements vscode.FileSystemProvider {
}
createDirectory(uri: vscode.Uri): void {
- let basename = path.posix.basename(uri.path);
- let dirname = uri.with({ path: path.posix.dirname(uri.path) });
- let parent = this._lookupAsDirectory(dirname, false);
+ const basename = path.posix.basename(uri.path);
+ const dirname = uri.with({ path: path.posix.dirname(uri.path) });
+ const parent = this._lookupAsDirectory(dirname, false);
- let entry = new Directory(basename);
+ const entry = new Directory(basename);
parent.entries.set(entry.name, entry);
parent.mtime = Date.now();
parent.size += 1;
@@ -161,7 +161,7 @@ export class TestFS implements vscode.FileSystemProvider {
private _lookup(uri: vscode.Uri, silent: false): Entry;
private _lookup(uri: vscode.Uri, silent: boolean): Entry | undefined;
private _lookup(uri: vscode.Uri, silent: boolean): Entry | undefined {
- let parts = uri.path.split('/');
+ const parts = uri.path.split('/');
let entry: Entry = this.root;
for (const part of parts) {
const partLow = part.toLowerCase();
@@ -173,7 +173,7 @@ export class TestFS implements vscode.FileSystemProvider {
if (this.isCaseSensitive) {
child = entry.entries.get(part);
} else {
- for (let [key, value] of entry.entries) {
+ for (const [key, value] of entry.entries) {
if (key.toLowerCase() === partLow) {
child = value;
break;
@@ -194,7 +194,7 @@ export class TestFS implements vscode.FileSystemProvider {
}
private _lookupAsDirectory(uri: vscode.Uri, silent: boolean): Directory {
- let entry = this._lookup(uri, silent);
+ const entry = this._lookup(uri, silent);
if (entry instanceof Directory) {
return entry;
}
@@ -202,7 +202,7 @@ export class TestFS implements vscode.FileSystemProvider {
}
private _lookupAsFile(uri: vscode.Uri, silent: boolean): File {
- let entry = this._lookup(uri, silent);
+ const entry = this._lookup(uri, silent);
if (entry instanceof File) {
return entry;
}
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/commands.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/commands.test.ts
index b241b7170ec..874d69541e7 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/commands.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/commands.test.ts
@@ -15,9 +15,9 @@ suite('vscode API - commands', () => {
test('getCommands', function (done) {
- let p1 = commands.getCommands().then(commands => {
+ const p1 = commands.getCommands().then(commands => {
let hasOneWithUnderscore = false;
- for (let command of commands) {
+ for (const command of commands) {
if (command[0] === '_') {
hasOneWithUnderscore = true;
break;
@@ -26,9 +26,9 @@ suite('vscode API - commands', () => {
assert.ok(hasOneWithUnderscore);
}, done);
- let p2 = commands.getCommands(true).then(commands => {
+ const p2 = commands.getCommands(true).then(commands => {
let hasOneWithUnderscore = false;
- for (let command of commands) {
+ for (const command of commands) {
if (command[0] === '_') {
hasOneWithUnderscore = true;
break;
@@ -45,7 +45,7 @@ suite('vscode API - commands', () => {
test('command with args', async function () {
let args: IArguments;
- let registration = commands.registerCommand('t1', function () {
+ const registration = commands.registerCommand('t1', function () {
args = arguments;
});
@@ -59,7 +59,7 @@ suite('vscode API - commands', () => {
test('editorCommand with extra args', function () {
let args: IArguments;
- let registration = commands.registerTextEditorCommand('t1', function () {
+ const registration = commands.registerTextEditorCommand('t1', function () {
args = arguments;
});
@@ -79,36 +79,36 @@ suite('vscode API - commands', () => {
test('api-command: vscode.diff', function () {
- let registration = workspace.registerTextDocumentContentProvider('sc', {
+ const registration = workspace.registerTextDocumentContentProvider('sc', {
provideTextDocumentContent(uri) {
return `content of URI <b>${uri.toString()}</b>#${Math.random()}`;
}
});
- let a = commands.executeCommand('vscode.diff', Uri.parse('sc:a'), Uri.parse('sc:b'), 'DIFF').then(value => {
+ const a = commands.executeCommand('vscode.diff', Uri.parse('sc:a'), Uri.parse('sc:b'), 'DIFF').then(value => {
assert.ok(value === undefined);
registration.dispose();
});
- let b = commands.executeCommand('vscode.diff', Uri.parse('sc:a'), Uri.parse('sc:b')).then(value => {
+ const b = commands.executeCommand('vscode.diff', Uri.parse('sc:a'), Uri.parse('sc:b')).then(value => {
assert.ok(value === undefined);
registration.dispose();
});
- let c = commands.executeCommand('vscode.diff', Uri.parse('sc:a'), Uri.parse('sc:b'), 'Title', { selection: new Range(new Position(1, 1), new Position(1, 2)) }).then(value => {
+ const c = commands.executeCommand('vscode.diff', Uri.parse('sc:a'), Uri.parse('sc:b'), 'Title', { selection: new Range(new Position(1, 1), new Position(1, 2)) }).then(value => {
assert.ok(value === undefined);
registration.dispose();
});
- let d = commands.executeCommand('vscode.diff').then(() => assert.ok(false), () => assert.ok(true));
- let e = commands.executeCommand('vscode.diff', 1, 2, 3).then(() => assert.ok(false), () => assert.ok(true));
+ const d = commands.executeCommand('vscode.diff').then(() => assert.ok(false), () => assert.ok(true));
+ const e = commands.executeCommand('vscode.diff', 1, 2, 3).then(() => assert.ok(false), () => assert.ok(true));
return Promise.all([a, b, c, d, e]);
});
test('api-command: vscode.open', async function () {
- let uri = Uri.parse(workspace.workspaceFolders![0].uri.toString() + '/far.js');
+ const uri = Uri.parse(workspace.workspaceFolders![0].uri.toString() + '/far.js');
await commands.executeCommand('vscode.open', uri);
assert.strictEqual(window.activeTextEditor?.viewColumn, ViewColumn.One);
@@ -151,7 +151,7 @@ suite('vscode API - commands', () => {
});
test('api-command: vscode.open with untitled supports associated resource (#138925)', async function () {
- let uri = Uri.parse(workspace.workspaceFolders![0].uri.toString() + '/untitled-file.txt').with({ scheme: 'untitled' });
+ const uri = Uri.parse(workspace.workspaceFolders![0].uri.toString() + '/untitled-file.txt').with({ scheme: 'untitled' });
await commands.executeCommand('vscode.open', uri).then(() => assert.ok(true), () => assert.ok(false));
// untitled with associated resource are dirty from the beginning
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/languages.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/languages.test.ts
index d0594904374..16a000969fb 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/languages.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/languages.test.ts
@@ -33,7 +33,7 @@ suite('vscode API - languages', () => {
let clock = 0;
const disposables: vscode.Disposable[] = [];
- let close = new Promise<void>(resolve => {
+ const close = new Promise<void>(resolve => {
disposables.push(vscode.workspace.onDidCloseTextDocument(e => {
if (e === doc) {
assert.strictEqual(doc.languageId, langIdNow);
@@ -43,7 +43,7 @@ suite('vscode API - languages', () => {
}
}));
});
- let open = new Promise<void>(resolve => {
+ const open = new Promise<void>(resolve => {
disposables.push(vscode.workspace.onDidOpenTextDocument(e => {
if (e === doc) { // same instance!
assert.strictEqual(doc.languageId, 'json');
@@ -53,7 +53,7 @@ suite('vscode API - languages', () => {
}
}));
});
- let change = vscode.languages.setTextDocumentLanguage(doc, 'json');
+ const change = vscode.languages.setTextDocumentLanguage(doc, 'json');
await Promise.all([change, close, open]);
assert.strictEqual(clock, 2);
assert.strictEqual(doc.languageId, 'json');
@@ -74,19 +74,19 @@ suite('vscode API - languages', () => {
});
test('diagnostics, read & event', function () {
- let uri = vscode.Uri.file('/foo/bar.txt');
- let col1 = vscode.languages.createDiagnosticCollection('foo1');
+ const uri = vscode.Uri.file('/foo/bar.txt');
+ const col1 = vscode.languages.createDiagnosticCollection('foo1');
col1.set(uri, [new vscode.Diagnostic(new vscode.Range(0, 0, 0, 12), 'error1')]);
- let col2 = vscode.languages.createDiagnosticCollection('foo2');
+ const col2 = vscode.languages.createDiagnosticCollection('foo2');
col2.set(uri, [new vscode.Diagnostic(new vscode.Range(0, 0, 0, 12), 'error1')]);
- let diag = vscode.languages.getDiagnostics(uri);
+ const diag = vscode.languages.getDiagnostics(uri);
assert.strictEqual(diag.length, 2);
- let tuples = vscode.languages.getDiagnostics();
+ const tuples = vscode.languages.getDiagnostics();
let found = false;
- for (let [thisUri,] of tuples) {
+ for (const [thisUri,] of tuples) {
if (thisUri.toString() === uri.toString()) {
found = true;
break;
@@ -114,7 +114,7 @@ suite('vscode API - languages', () => {
const links = await vscode.commands.executeCommand<vscode.DocumentLink[]>('vscode.executeLinkProvider', doc.uri);
assert.strictEqual(links && links.length, 2, links.map(l => !l.target).join(', '));
- let [link1, link2] = links!.sort((l1, l2) => l1.range.start.compareTo(l2.range.start));
+ const [link1, link2] = links!.sort((l1, l2) => l1.range.start.compareTo(l2.range.start));
assert.strictEqual(link1.target && link1.target.toString(), target.toString());
assertEqualRange(link1.range, range);
@@ -132,17 +132,17 @@ suite('vscode API - languages', () => {
}
}
- let diag1 = new vscode.Diagnostic(new vscode.Range(0, 0, 0, 5), 'montag');
- let diag2 = new D2();
+ const diag1 = new vscode.Diagnostic(new vscode.Range(0, 0, 0, 5), 'montag');
+ const diag2 = new D2();
let ran = false;
- let uri = vscode.Uri.parse('ttt:path.far');
+ const uri = vscode.Uri.parse('ttt:path.far');
- let r1 = vscode.languages.registerCodeActionsProvider({ pattern: '*.far', scheme: 'ttt' }, {
+ const r1 = vscode.languages.registerCodeActionsProvider({ pattern: '*.far', scheme: 'ttt' }, {
provideCodeActions(_document, _range, ctx): vscode.Command[] {
assert.strictEqual(ctx.diagnostics.length, 2);
- let [first, second] = ctx.diagnostics;
+ const [first, second] = ctx.diagnostics;
assert.ok(first === diag1);
assert.ok(second === diag2);
assert.ok(diag2 instanceof D2);
@@ -151,16 +151,16 @@ suite('vscode API - languages', () => {
}
});
- let r2 = vscode.workspace.registerTextDocumentContentProvider('ttt', {
+ const r2 = vscode.workspace.registerTextDocumentContentProvider('ttt', {
provideTextDocumentContent() {
return 'this is some text';
}
});
- let r3 = vscode.languages.createDiagnosticCollection();
+ const r3 = vscode.languages.createDiagnosticCollection();
r3.set(uri, [diag1]);
- let r4 = vscode.languages.createDiagnosticCollection();
+ const r4 = vscode.languages.createDiagnosticCollection();
r4.set(uri, [diag2]);
await vscode.workspace.openTextDocument(uri);
@@ -171,13 +171,13 @@ suite('vscode API - languages', () => {
test('completions with document filters', async function () {
let ran = false;
- let uri = vscode.Uri.file(join(vscode.workspace.rootPath || '', './bower.json'));
+ const uri = vscode.Uri.file(join(vscode.workspace.rootPath || '', './bower.json'));
- let jsonDocumentFilter = [{ language: 'json', pattern: '**/package.json' }, { language: 'json', pattern: '**/bower.json' }, { language: 'json', pattern: '**/.bower.json' }];
+ const jsonDocumentFilter = [{ language: 'json', pattern: '**/package.json' }, { language: 'json', pattern: '**/bower.json' }, { language: 'json', pattern: '**/.bower.json' }];
- let r1 = vscode.languages.registerCompletionItemProvider(jsonDocumentFilter, {
+ const r1 = vscode.languages.registerCompletionItemProvider(jsonDocumentFilter, {
provideCompletionItems: (_document: vscode.TextDocument, _position: vscode.Position, _token: vscode.CancellationToken): vscode.CompletionItem[] => {
- let proposal = new vscode.CompletionItem('foo');
+ const proposal = new vscode.CompletionItem('foo');
proposal.kind = vscode.CompletionItemKind.Property;
ran = true;
return [proposal];
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.document.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.document.test.ts
index a35824f058b..9fb4248687e 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.document.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.document.test.ts
@@ -124,7 +124,7 @@ suite.skip('Notebook Document', function () {
const p = utils.asPromise(vscode.workspace.onDidOpenNotebookDocument).then(notebook => {
for (let i = 0; i < notebook.cellCount; i++) {
- let cell = notebook.cellAt(i);
+ const cell = notebook.cellAt(i);
const doc = vscode.workspace.textDocuments.find(doc => doc.uri.toString() === cell.document.uri.toString());
assert.ok(doc);
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts
index eeffb282f91..21b798dfbfd 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts
@@ -51,7 +51,7 @@ import * as utils from '../utils';
utils.disposeAll(disposables);
disposables.length = 0;
- for (let doc of vscode.workspace.notebookDocuments) {
+ for (const doc of vscode.workspace.notebookDocuments) {
assert.strictEqual(doc.isDirty, false, doc.uri.toString());
}
});
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts
index e1bf968ada9..3fa4ed05599 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts
@@ -30,7 +30,7 @@ import { assertNoRpc, poll } from '../utils';
});
suite('Terminal', () => {
- let disposables: Disposable[] = [];
+ const disposables: Disposable[] = [];
teardown(async () => {
assertNoRpc();
@@ -132,7 +132,7 @@ import { assertNoRpc, poll } from '../utils';
}));
});
equal(result, terminal);
- let pid = await result.processId;
+ const pid = await result.processId;
equal(true, pid && pid > 0);
await new Promise<void>(r => {
disposables.push(window.onDidCloseTerminal(t => {
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts
index 5d004bb6db7..fd3c9a0d226 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts
@@ -40,13 +40,13 @@ suite('vscode API - window', () => {
test('editor, assign and check view columns', async () => {
const doc = await workspace.openTextDocument(join(workspace.rootPath || '', './far.js'));
- let p1 = window.showTextDocument(doc, ViewColumn.One).then(editor => {
+ const p1 = window.showTextDocument(doc, ViewColumn.One).then(editor => {
assert.strictEqual(editor.viewColumn, ViewColumn.One);
});
- let p2 = window.showTextDocument(doc, ViewColumn.Two).then(editor_1 => {
+ const p2 = window.showTextDocument(doc, ViewColumn.Two).then(editor_1 => {
assert.strictEqual(editor_1.viewColumn, ViewColumn.Two);
});
- let p3 = window.showTextDocument(doc, ViewColumn.Three).then(editor_2 => {
+ const p3 = window.showTextDocument(doc, ViewColumn.Three).then(editor_2 => {
assert.strictEqual(editor_2.viewColumn, ViewColumn.Three);
});
return Promise.all([p1, p2, p3]);
@@ -54,7 +54,7 @@ suite('vscode API - window', () => {
test('editor, onDidChangeVisibleTextEditors', async () => {
let eventCounter = 0;
- let reg = window.onDidChangeVisibleTextEditors(_editor => {
+ const reg = window.onDidChangeVisibleTextEditors(_editor => {
eventCounter += 1;
});
@@ -75,7 +75,7 @@ suite('vscode API - window', () => {
let actualEvent: TextEditorViewColumnChangeEvent;
- let registration1 = workspace.registerTextDocumentContentProvider('bikes', {
+ const registration1 = workspace.registerTextDocumentContentProvider('bikes', {
provideTextDocumentContent() {
return 'mountainbiking,roadcycling';
}
@@ -86,10 +86,10 @@ suite('vscode API - window', () => {
workspace.openTextDocument(Uri.parse('bikes://testing/two')).then(doc => window.showTextDocument(doc, ViewColumn.Two))
]).then(async editors => {
- let [one, two] = editors;
+ const [one, two] = editors;
await new Promise<void>(resolve => {
- let registration2 = window.onDidChangeTextEditorViewColumn(event => {
+ const registration2 = window.onDidChangeTextEditorViewColumn(event => {
actualEvent = event;
registration2.dispose();
resolve();
@@ -107,9 +107,9 @@ suite('vscode API - window', () => {
test('editor, onDidChangeTextEditorViewColumn (move editor group)', () => {
- let actualEvents: TextEditorViewColumnChangeEvent[] = [];
+ const actualEvents: TextEditorViewColumnChangeEvent[] = [];
- let registration1 = workspace.registerTextDocumentContentProvider('bikes', {
+ const registration1 = workspace.registerTextDocumentContentProvider('bikes', {
provideTextDocumentContent() {
return 'mountainbiking,roadcycling';
}
@@ -120,12 +120,12 @@ suite('vscode API - window', () => {
workspace.openTextDocument(Uri.parse('bikes://testing/two')).then(doc => window.showTextDocument(doc, ViewColumn.Two))
]).then(editors => {
- let [, two] = editors;
+ const [, two] = editors;
two.show();
return new Promise<void>(resolve => {
- let registration2 = window.onDidChangeTextEditorViewColumn(event => {
+ const registration2 = window.onDidChangeTextEditorViewColumn(event => {
actualEvents.push(event);
if (actualEvents.length === 2) {
@@ -182,10 +182,10 @@ suite('vscode API - window', () => {
workspace.openTextDocument(randomFile2)
]);
for (let c = 0; c < 4; c++) {
- let editorA = await window.showTextDocument(docA, ViewColumn.One);
+ const editorA = await window.showTextDocument(docA, ViewColumn.One);
assertActiveEditor(editorA);
- let editorB = await window.showTextDocument(docB, ViewColumn.Two);
+ const editorB = await window.showTextDocument(docB, ViewColumn.Two);
assertActiveEditor(editorB);
}
});
@@ -311,7 +311,7 @@ suite('vscode API - window', () => {
const file30Path = join(workspace.rootPath || '', './30linefile.ts');
let finished = false;
- let failOncePlease = (err: Error) => {
+ const failOncePlease = (err: Error) => {
if (finished) {
return;
}
@@ -319,7 +319,7 @@ suite('vscode API - window', () => {
done(err);
};
- let passOncePlease = () => {
+ const passOncePlease = () => {
if (finished) {
return;
}
@@ -327,10 +327,10 @@ suite('vscode API - window', () => {
done(null);
};
- let subscription = window.onDidChangeTextEditorSelection((e) => {
- let lineCount = e.textEditor.document.lineCount;
- let pos1 = e.textEditor.selections[0].active.line;
- let pos2 = e.selections[0].active.line;
+ const subscription = window.onDidChangeTextEditorSelection((e) => {
+ const lineCount = e.textEditor.document.lineCount;
+ const pos1 = e.textEditor.selections[0].active.line;
+ const pos2 = e.selections[0].active.line;
if (pos1 !== pos2) {
failOncePlease(new Error('received invalid selection changed event!'));
@@ -714,7 +714,7 @@ suite('vscode API - window', () => {
test('#7013 - input without options', function () {
const source = new CancellationTokenSource();
- let p = window.showInputBox(undefined, source.token);
+ const p = window.showInputBox(undefined, source.token);
assert.ok(typeof p === 'object');
source.dispose();
});
@@ -990,7 +990,7 @@ suite('vscode API - window', () => {
return new Promise<void>((resolve, _reject) => {
- let subscription = window.onDidChangeTextEditorSelection(e => {
+ const subscription = window.onDidChangeTextEditorSelection(e => {
assert.ok(e.textEditor === editor);
assert.strictEqual(e.kind, TextEditorSelectionChangeKind.Command);
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.tasks.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.tasks.test.ts
index 4167e15ce00..2f99cd84a07 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.tasks.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.tasks.test.ts
@@ -24,7 +24,7 @@ import { assertNoRpc } from '../utils';
});
suite('Tasks', () => {
- let disposables: Disposable[] = [];
+ const disposables: Disposable[] = [];
teardown(() => {
assertNoRpc();
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
index 4337e8043c8..a055cf45520 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
@@ -132,7 +132,7 @@ suite('vscode API - workspace', () => {
assert.ok(doc.isDirty);
let closed: vscode.TextDocument;
- let d0 = vscode.workspace.onDidCloseTextDocument(e => closed = e);
+ const d0 = vscode.workspace.onDidCloseTextDocument(e => closed = e);
return vscode.window.showTextDocument(doc).then(() => {
return doc.save().then((didSave: boolean) => {
@@ -153,7 +153,7 @@ suite('vscode API - workspace', () => {
test('openTextDocument, uri scheme/auth/path', function () {
- let registration = vscode.workspace.registerTextDocumentContentProvider('sc', {
+ const registration = vscode.workspace.registerTextDocumentContentProvider('sc', {
provideTextDocumentContent() {
return 'SC';
}
@@ -182,28 +182,28 @@ suite('vscode API - workspace', () => {
const fs = new TestFS('this-fs', false);
const reg = vscode.workspace.registerFileSystemProvider(fs.scheme, fs, { isCaseSensitive: fs.isCaseSensitive });
- let uriOne = vscode.Uri.parse('this-fs:/one');
- let uriTwo = vscode.Uri.parse('this-fs:/two');
- let uriONE = vscode.Uri.parse('this-fs:/ONE'); // same resource, different uri
- let uriTWO = vscode.Uri.parse('this-fs:/TWO');
+ const uriOne = vscode.Uri.parse('this-fs:/one');
+ const uriTwo = vscode.Uri.parse('this-fs:/two');
+ const uriONE = vscode.Uri.parse('this-fs:/ONE'); // same resource, different uri
+ const uriTWO = vscode.Uri.parse('this-fs:/TWO');
fs.writeFile(uriOne, Buffer.from('one'), { create: true, overwrite: true });
fs.writeFile(uriTwo, Buffer.from('two'), { create: true, overwrite: true });
// lower case (actual case) comes first
- let docOne = await vscode.workspace.openTextDocument(uriOne);
+ const docOne = await vscode.workspace.openTextDocument(uriOne);
assert.strictEqual(docOne.uri.toString(), uriOne.toString());
- let docONE = await vscode.workspace.openTextDocument(uriONE);
+ const docONE = await vscode.workspace.openTextDocument(uriONE);
assert.strictEqual(docONE === docOne, true);
assert.strictEqual(docONE.uri.toString(), uriOne.toString());
assert.strictEqual(docONE.uri.toString() !== uriONE.toString(), true); // yep
// upper case (NOT the actual case) comes first
- let docTWO = await vscode.workspace.openTextDocument(uriTWO);
+ const docTWO = await vscode.workspace.openTextDocument(uriTWO);
assert.strictEqual(docTWO.uri.toString(), uriTWO.toString());
- let docTwo = await vscode.workspace.openTextDocument(uriTwo);
+ const docTwo = await vscode.workspace.openTextDocument(uriTwo);
assert.strictEqual(docTWO === docTwo, true);
assert.strictEqual(docTwo.uri.toString(), uriTWO.toString());
assert.strictEqual(docTwo.uri.toString() !== uriTwo.toString(), true); // yep
@@ -264,7 +264,7 @@ suite('vscode API - workspace', () => {
test('eol, change via onWillSave', async function () {
let called = false;
- let sub = vscode.workspace.onWillSaveTextDocument(e => {
+ const sub = vscode.workspace.onWillSaveTextDocument(e => {
called = true;
e.waitUntil(Promise.resolve([vscode.TextEdit.setEndOfLine(vscode.EndOfLine.LF)]));
});
@@ -292,11 +292,11 @@ suite('vscode API - workspace', () => {
test('events: onDidOpenTextDocument, onDidChangeTextDocument, onDidSaveTextDocument', async () => {
const file = await createRandomFile();
- let disposables: vscode.Disposable[] = [];
+ const disposables: vscode.Disposable[] = [];
await revertAllDirty(); // needed for a clean state for `onDidSaveTextDocument` (#102365)
- let pendingAsserts: Function[] = [];
+ const pendingAsserts: Function[] = [];
let onDidOpenTextDocument = false;
disposables.push(vscode.workspace.onDidOpenTextDocument(e => {
pendingAsserts.push(() => assertEqualPath(e.uri.fsPath, file.fsPath));
@@ -333,8 +333,8 @@ suite('vscode API - workspace', () => {
test('events: onDidSaveTextDocument fires even for non dirty file when saved', async () => {
const file = await createRandomFile();
- let disposables: vscode.Disposable[] = [];
- let pendingAsserts: Function[] = [];
+ const disposables: vscode.Disposable[] = [];
+ const pendingAsserts: Function[] = [];
await revertAllDirty(); // needed for a clean state for `onDidSaveTextDocument` (#102365)
@@ -369,7 +369,7 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, simple', function () {
- let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(uri) {
return uri.toString();
}
@@ -406,7 +406,7 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, multiple', function () {
// duplicate registration
- let registration1 = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration1 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(uri) {
if (uri.authority === 'foo') {
return '1';
@@ -414,7 +414,7 @@ suite('vscode API - workspace', () => {
return undefined;
}
});
- let registration2 = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration2 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(uri) {
if (uri.authority === 'bar') {
return '2';
@@ -435,12 +435,12 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, evil provider', function () {
// duplicate registration
- let registration1 = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration1 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return '1';
}
});
- let registration2 = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration2 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri): string {
throw new Error('fail');
}
@@ -455,7 +455,7 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, invalid text', function () {
- let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return <any>123;
}
@@ -470,7 +470,7 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, show virtual document', function () {
- let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return 'I am virtual';
}
@@ -489,7 +489,7 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, open/open document', function () {
let callCount = 0;
- let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
callCount += 1;
return 'I am virtual';
@@ -499,7 +499,7 @@ suite('vscode API - workspace', () => {
const uri = vscode.Uri.parse('foo://testing/path');
return Promise.all([vscode.workspace.openTextDocument(uri), vscode.workspace.openTextDocument(uri)]).then(docs => {
- let [first, second] = docs;
+ const [first, second] = docs;
assert.ok(first === second);
assert.ok(vscode.workspace.textDocuments.some(doc => doc.uri.toString() === uri.toString()));
assert.strictEqual(callCount, 1);
@@ -509,7 +509,7 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, empty doc', function () {
- let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return '';
}
@@ -527,9 +527,9 @@ suite('vscode API - workspace', () => {
test('registerTextDocumentContentProvider, change event', async function () {
let callCount = 0;
- let emitter = new vscode.EventEmitter<vscode.Uri>();
+ const emitter = new vscode.EventEmitter<vscode.Uri>();
- let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
+ const registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
onDidChange: emitter.event,
provideTextDocumentContent(_uri) {
return 'call' + (callCount++);
@@ -544,7 +544,7 @@ suite('vscode API - workspace', () => {
return new Promise<void>(resolve => {
- let subscription = vscode.workspace.onDidChangeTextDocument(event => {
+ const subscription = vscode.workspace.onDidChangeTextDocument(event => {
assert.ok(event.document === doc);
assert.strictEqual(event.document.getText(), 'call1');
subscription.dispose();
@@ -635,10 +635,10 @@ suite('vscode API - workspace', () => {
test('applyEdit', async () => {
const doc = await vscode.workspace.openTextDocument(vscode.Uri.parse('untitled:' + join(vscode.workspace.rootPath || '', './new2.txt')));
- let edit = new vscode.WorkspaceEdit();
+ const edit = new vscode.WorkspaceEdit();
edit.insert(doc.uri, new vscode.Position(0, 0), new Array(1000).join('Hello World'));
- let success = await vscode.workspace.applyEdit(edit);
+ const success = await vscode.workspace.applyEdit(edit);
assert.strictEqual(success, true);
assert.strictEqual(doc.isDirty, true);
});
@@ -650,7 +650,7 @@ suite('vscode API - workspace', () => {
edit.deleteFile(resource);
edit.insert(resource, new vscode.Position(0, 0), '');
- let success = await vscode.workspace.applyEdit(edit);
+ const success = await vscode.workspace.applyEdit(edit);
assert.strictEqual(success, false);
}));
@@ -661,7 +661,7 @@ suite('vscode API - workspace', () => {
edit.deleteFile(resource);
edit.renameFile(resource, resource);
- let success = await vscode.workspace.applyEdit(edit);
+ const success = await vscode.workspace.applyEdit(edit);
assert.strictEqual(success, false);
}));
@@ -672,7 +672,7 @@ suite('vscode API - workspace', () => {
edit.renameFile(resource, newResource);
edit.insert(resource, new vscode.Position(0, 0), '');
- let success = await vscode.workspace.applyEdit(edit);
+ const success = await vscode.workspace.applyEdit(edit);
assert.strictEqual(success, false);
}));
@@ -698,7 +698,7 @@ suite('vscode API - workspace', () => {
assert.ok(await vscode.workspace.applyEdit(edit));
- let doc = await vscode.workspace.openTextDocument(newUri);
+ const doc = await vscode.workspace.openTextDocument(newUri);
assert.strictEqual(doc.getText(), 'AFTERBEFORE');
assert.strictEqual(doc.isDirty, true);
}
@@ -708,25 +708,25 @@ suite('vscode API - workspace', () => {
}
test('WorkspaceEdit: applying edits before and after rename duplicates resource #42633', withLogDisabled(async function () {
- let docUri = await createRandomFile();
- let newUri = nameWithUnderscore(docUri);
+ const docUri = await createRandomFile();
+ const newUri = nameWithUnderscore(docUri);
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
we.insert(docUri, new vscode.Position(0, 0), 'Hello');
we.insert(docUri, new vscode.Position(0, 0), 'Foo');
we.renameFile(docUri, newUri);
we.insert(newUri, new vscode.Position(0, 0), 'Bar');
assert.ok(await vscode.workspace.applyEdit(we));
- let doc = await vscode.workspace.openTextDocument(newUri);
+ const doc = await vscode.workspace.openTextDocument(newUri);
assert.strictEqual(doc.getText(), 'BarHelloFoo');
}));
test('WorkspaceEdit: Problem recreating a renamed resource #42634', withLogDisabled(async function () {
- let docUri = await createRandomFile();
- let newUri = nameWithUnderscore(docUri);
+ const docUri = await createRandomFile();
+ const newUri = nameWithUnderscore(docUri);
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
we.insert(docUri, new vscode.Position(0, 0), 'Hello');
we.insert(docUri, new vscode.Position(0, 0), 'Foo');
we.renameFile(docUri, newUri);
@@ -736,15 +736,15 @@ suite('vscode API - workspace', () => {
assert.ok(await vscode.workspace.applyEdit(we));
- let newDoc = await vscode.workspace.openTextDocument(newUri);
+ const newDoc = await vscode.workspace.openTextDocument(newUri);
assert.strictEqual(newDoc.getText(), 'HelloFoo');
- let doc = await vscode.workspace.openTextDocument(docUri);
+ const doc = await vscode.workspace.openTextDocument(docUri);
assert.strictEqual(doc.getText(), 'Bar');
}));
test('WorkspaceEdit api - after saving a deleted file, it still shows up as deleted. #42667', withLogDisabled(async function () {
- let docUri = await createRandomFile();
- let we = new vscode.WorkspaceEdit();
+ const docUri = await createRandomFile();
+ const we = new vscode.WorkspaceEdit();
we.deleteFile(docUri);
we.insert(docUri, new vscode.Position(0, 0), 'InsertText');
@@ -759,14 +759,14 @@ suite('vscode API - workspace', () => {
test('WorkspaceEdit: edit and rename parent folder duplicates resource #42641', async function () {
- let dir = vscode.Uri.parse(`${testFs.scheme}:/before-${rndName()}`);
+ const dir = vscode.Uri.parse(`${testFs.scheme}:/before-${rndName()}`);
await testFs.createDirectory(dir);
- let docUri = await createRandomFile('', dir);
- let docParent = docUri.with({ path: posix.dirname(docUri.path) });
- let newParent = nameWithUnderscore(docParent);
+ const docUri = await createRandomFile('', dir);
+ const docParent = docUri.with({ path: posix.dirname(docUri.path) });
+ const newParent = nameWithUnderscore(docParent);
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
we.insert(docUri, new vscode.Position(0, 0), 'Hello');
we.renameFile(docParent, newParent);
@@ -779,30 +779,30 @@ suite('vscode API - workspace', () => {
assert.ok(true);
}
- let newUri = newParent.with({ path: posix.join(newParent.path, posix.basename(docUri.path)) });
- let doc = await vscode.workspace.openTextDocument(newUri);
+ const newUri = newParent.with({ path: posix.join(newParent.path, posix.basename(docUri.path)) });
+ const doc = await vscode.workspace.openTextDocument(newUri);
assert.ok(doc);
assert.strictEqual(doc.getText(), 'Hello');
});
test('WorkspaceEdit: rename resource followed by edit does not work #42638', withLogDisabled(async function () {
- let docUri = await createRandomFile();
- let newUri = nameWithUnderscore(docUri);
+ const docUri = await createRandomFile();
+ const newUri = nameWithUnderscore(docUri);
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
we.renameFile(docUri, newUri);
we.insert(newUri, new vscode.Position(0, 0), 'Hello');
assert.ok(await vscode.workspace.applyEdit(we));
- let doc = await vscode.workspace.openTextDocument(newUri);
+ const doc = await vscode.workspace.openTextDocument(newUri);
assert.strictEqual(doc.getText(), 'Hello');
}));
test('WorkspaceEdit: create & override', withLogDisabled(async function () {
- let docUri = await createRandomFile('before');
+ const docUri = await createRandomFile('before');
let we = new vscode.WorkspaceEdit();
we.createFile(docUri);
@@ -816,7 +816,7 @@ suite('vscode API - workspace', () => {
}));
test('WorkspaceEdit: create & ignoreIfExists', withLogDisabled(async function () {
- let docUri = await createRandomFile('before');
+ const docUri = await createRandomFile('before');
let we = new vscode.WorkspaceEdit();
we.createFile(docUri, { ignoreIfExists: true });
@@ -830,8 +830,8 @@ suite('vscode API - workspace', () => {
}));
test('WorkspaceEdit: rename & ignoreIfExists', withLogDisabled(async function () {
- let aUri = await createRandomFile('aaa');
- let bUri = await createRandomFile('bbb');
+ const aUri = await createRandomFile('aaa');
+ const bUri = await createRandomFile('bbb');
let we = new vscode.WorkspaceEdit();
we.renameFile(aUri, bUri);
@@ -852,7 +852,7 @@ suite('vscode API - workspace', () => {
test('WorkspaceEdit: delete & ignoreIfNotExists', withLogDisabled(async function () {
- let docUri = await createRandomFile();
+ const docUri = await createRandomFile();
let we = new vscode.WorkspaceEdit();
we.deleteFile(docUri, { ignoreIfNotExists: false });
assert.ok(await vscode.workspace.applyEdit(we));
@@ -868,14 +868,14 @@ suite('vscode API - workspace', () => {
test('WorkspaceEdit: insert & rename multiple', async function () {
- let [f1, f2, f3] = await Promise.all([createRandomFile(), createRandomFile(), createRandomFile()]);
+ const [f1, f2, f3] = await Promise.all([createRandomFile(), createRandomFile(), createRandomFile()]);
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
we.insert(f1, new vscode.Position(0, 0), 'f1');
we.insert(f2, new vscode.Position(0, 0), 'f2');
we.insert(f3, new vscode.Position(0, 0), 'f3');
- let f1_ = nameWithUnderscore(f1);
+ const f1_ = nameWithUnderscore(f1);
we.renameFile(f1, f1_);
assert.ok(await vscode.workspace.applyEdit(we));
@@ -911,7 +911,7 @@ suite('vscode API - workspace', () => {
}
for (let i = 0; i < 4; i++) {
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
let oldUri: vscode.Uri;
let newUri: vscode.Uri;
let expected: string;
@@ -946,7 +946,7 @@ suite('vscode API - workspace', () => {
test('The api workspace.applyEdit failed for some case of mixing resourceChange and textEdit #80688', async function () {
const file1 = await createRandomFile();
const file2 = await createRandomFile();
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
we.insert(file1, new vscode.Position(0, 0), 'import1;');
const file2Name = basename(file2.fsPath);
@@ -965,7 +965,7 @@ suite('vscode API - workspace', () => {
test('The api workspace.applyEdit failed for some case of mixing resourceChange and textEdit #80688', async function () {
const file1 = await createRandomFile();
const file2 = await createRandomFile();
- let we = new vscode.WorkspaceEdit();
+ const we = new vscode.WorkspaceEdit();
we.insert(file1, new vscode.Position(0, 0), 'import1;');
we.insert(file1, new vscode.Position(0, 0), 'import2;');
@@ -990,7 +990,7 @@ suite('vscode API - workspace', () => {
const file2New = await createRandomFile();
const event = new Promise<vscode.FileWillRenameEvent>(resolve => {
- let sub = vscode.workspace.onWillRenameFiles(e => {
+ const sub = vscode.workspace.onWillRenameFiles(e => {
sub.dispose();
resolve(e);
});
@@ -1035,7 +1035,7 @@ suite('vscode API - workspace', () => {
test('Should send a single FileWillRenameEvent instead of separate events when moving multiple files at once#111867, 2/3', async function () {
const event = new Promise<vscode.FileWillCreateEvent>(resolve => {
- let sub = vscode.workspace.onWillCreateFiles(e => {
+ const sub = vscode.workspace.onWillCreateFiles(e => {
sub.dispose();
resolve(e);
});
@@ -1062,7 +1062,7 @@ suite('vscode API - workspace', () => {
const file2 = await createRandomFile();
const event = new Promise<vscode.FileWillDeleteEvent>(resolve => {
- let sub = vscode.workspace.onWillDeleteFiles(e => {
+ const sub = vscode.workspace.onWillDeleteFiles(e => {
sub.dispose();
resolve(e);
});
diff --git a/extensions/vscode-colorize-tests/src/colorizer.test.ts b/extensions/vscode-colorize-tests/src/colorizer.test.ts
index b2cc751f8b0..0ba416b5f87 100644
--- a/extensions/vscode-colorize-tests/src/colorizer.test.ts
+++ b/extensions/vscode-colorize-tests/src/colorizer.test.ts
@@ -17,17 +17,17 @@ function assertUnchangedTokens(fixturesPath: string, resultsPath: string, fixtur
if (!fs.existsSync(resultsPath)) {
fs.mkdirSync(resultsPath);
}
- let resultPath = join(resultsPath, fixture.replace('.', '_') + '.json');
+ const resultPath = join(resultsPath, fixture.replace('.', '_') + '.json');
if (fs.existsSync(resultPath)) {
- let previousData = JSON.parse(fs.readFileSync(resultPath).toString());
+ const previousData = JSON.parse(fs.readFileSync(resultPath).toString());
try {
assert.deepStrictEqual(data, previousData);
} catch (e) {
fs.writeFileSync(resultPath, JSON.stringify(data, null, '\t'), { flag: 'w' });
if (Array.isArray(data) && Array.isArray(previousData) && data.length === previousData.length) {
for (let i = 0; i < data.length; i++) {
- let d = data[i];
- let p = previousData[i];
+ const d = data[i];
+ const p = previousData[i];
if (d.c !== p.c || hasThemeChange(d.r, p.r)) {
throw e;
}
@@ -48,8 +48,8 @@ function assertUnchangedTokens(fixturesPath: string, resultsPath: string, fixtur
}
function hasThemeChange(d: any, p: any): boolean {
- let keys = Object.keys(d);
- for (let key of keys) {
+ const keys = Object.keys(d);
+ for (const key of keys) {
if (d[key] !== p[key]) {
return true;
}
diff --git a/extensions/vscode-test-resolver/src/extension.ts b/extensions/vscode-test-resolver/src/extension.ts
index 9f6fc9efc18..05fd267d2bc 100644
--- a/extensions/vscode-test-resolver/src/extension.ts
+++ b/extensions/vscode-test-resolver/src/extension.ts
@@ -25,7 +25,7 @@ let outputChannel: vscode.OutputChannel;
export function activate(context: vscode.ExtensionContext) {
let connectionPaused = false;
- let connectionPausedEvent = new vscode.EventEmitter<boolean>();
+ const connectionPausedEvent = new vscode.EventEmitter<boolean>();
function doResolve(_authority: string, progress: vscode.Progress<{ message?: string; increment?: number }>): Promise<vscode.ResolvedAuthority> {
if (connectionPaused) {
@@ -159,7 +159,7 @@ export function activate(context: vscode.ExtensionContext) {
let isDisconnected = false;
const handleConnectionPause = () => {
- let newIsDisconnected = connectionPaused;
+ const newIsDisconnected = connectionPaused;
if (isDisconnected !== newIsDisconnected) {
outputChannel.appendLine(`Connection state: ${newIsDisconnected ? 'open' : 'paused'}`);
isDisconnected = newIsDisconnected;