feat: Add resolving of "fileWorkspaceFolderBasename" variable

This commit is contained in:
Andrew Hlynskyi 2022-12-03 06:22:30 +02:00
parent 80b3a432e6
commit 868757048d
3 changed files with 5 additions and 0 deletions

View file

@ -54,6 +54,7 @@ function registerVariableCompletions(pattern: string): vscode.Disposable {
return [
{ label: 'workspaceFolder', detail: vscode.l10n.t("The path of the folder opened in VS Code") },
{ label: 'workspaceFolderBasename', detail: vscode.l10n.t("The name of the folder opened in VS Code without any slashes (/)") },
{ label: 'fileWorkspaceFolderBasename', detail: vscode.l10n.t("The current opened file workspace folder name without any slashes (/)") },
{ label: 'relativeFile', detail: vscode.l10n.t("The current opened file relative to ${workspaceFolder}") },
{ label: 'relativeFileDirname', detail: vscode.l10n.t("The current opened file's dirname relative to ${workspaceFolder}") },
{ label: 'file', detail: vscode.l10n.t("The current opened file") },

View file

@ -97,6 +97,7 @@ export enum VariableKind {
SelectedText = 'selectedText',
File = 'file',
FileWorkspaceFolder = 'fileWorkspaceFolder',
FileWorkspaceFolderBasename = 'fileWorkspaceFolderBasename',
RelativeFile = 'relativeFile',
RelativeFileDirname = 'relativeFileDirname',
FileDirname = 'fileDirname',

View file

@ -320,6 +320,9 @@ export class AbstractVariableResolverService implements IConfigurationResolverSe
case 'fileWorkspaceFolder':
return getFolderPathForFile(VariableKind.FileWorkspaceFolder);
case 'fileWorkspaceFolderBasename':
return paths.basename(getFolderPathForFile(VariableKind.FileWorkspaceFolderBasename));
case 'relativeFile':
if (folderUri || argument) {
return paths.relative(this.fsPath(getFolderUri(VariableKind.RelativeFile)), getFilePath(VariableKind.RelativeFile));