Revamping to matrix style

This commit is contained in:
2026-02-16 16:37:35 -05:00
parent 71852ec99a
commit 9d0e3938e4
14958 changed files with 2089572 additions and 114 deletions

View File

@@ -0,0 +1,42 @@
import { join, normalize, sep } from 'path';
import { URI } from 'vscode-uri';
export const isRelativePath = (path) => {
const relativePathRegex = /^(((\.\.?)|([\w-@. ]+))(\/|\\\\?))*[\w-. ]*\.[\w-]+$/i;
return relativePathRegex.test(path);
};
export const relativeToAbsolutePath = (workspaceFolders, workspaceRoot, uri) => {
// Iterate through all of the workspace root folders
for (const folder of workspaceFolders) {
// If the requested schema URI specifies a workspace root folder
// Convert it into an absolute path with the appropriate root folder path
if (uri.startsWith(folder.name)) {
const pathToFolder = URI.parse(folder.uri).fsPath;
const withoutFolderPrefix = uri.split(sep);
withoutFolderPrefix.shift();
return URI.file(join(pathToFolder, withoutFolderPrefix.join())).toString();
}
}
// If a root folder was not specified, resolve the relative URI
// Against the location of the workspace file instead
if (workspaceRoot) {
return URI.file(join(workspaceRoot.fsPath, uri)).toString();
}
// Fallback in case nothing could be applied
return normalize(uri);
};
export const workspaceFoldersChanged = (workspaceFolders, changedFolders) => {
workspaceFolders = workspaceFolders.filter((e) => {
return !changedFolders.removed.some((f) => {
return f.uri === e.uri;
});
});
workspaceFolders = workspaceFolders
.filter((e) => {
return !changedFolders.added.some((f) => {
return f.uri === e.uri;
});
})
.concat(changedFolders.added);
return workspaceFolders;
};
//# sourceMappingURL=paths.js.map