mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
24 lines
967 B
TypeScript
24 lines
967 B
TypeScript
import * as vscode from "vscode"
|
|
import * as path from "path"
|
|
|
|
/**
|
|
* Checks if a file path is outside all workspace folders
|
|
* @param filePath The file path to check
|
|
* @returns true if the path is outside all workspace folders, false otherwise
|
|
*/
|
|
export function isPathOutsideWorkspace(filePath: string): boolean {
|
|
// If there are no workspace folders, consider everything outside workspace for safety
|
|
if (!vscode.workspace.workspaceFolders || vscode.workspace.workspaceFolders.length === 0) {
|
|
return true
|
|
}
|
|
|
|
// Normalize and resolve the path to handle .. and . components correctly
|
|
const absolutePath = path.resolve(filePath)
|
|
|
|
// Check if the path is within any workspace folder
|
|
return !vscode.workspace.workspaceFolders.some((folder) => {
|
|
const folderPath = folder.uri.fsPath
|
|
// Path is inside a workspace if it equals the workspace path or is a subfolder
|
|
return absolutePath === folderPath || absolutePath.startsWith(folderPath + path.sep)
|
|
})
|
|
}
|