Revamping to matrix style
This commit is contained in:
42
node_modules/yaml-language-server/lib/esm/languageservice/utils/paths.js
generated
vendored
Normal file
42
node_modules/yaml-language-server/lib/esm/languageservice/utils/paths.js
generated
vendored
Normal 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
|
||||
Reference in New Issue
Block a user