extension/src/fileSystem/workspace.ts
import { basename } from 'path'
import { Uri, workspace, WorkspaceEdit } from 'vscode'
export const deleteTarget = (uri: Uri) => {
const edit = new WorkspaceEdit()
edit.deleteFile(uri, { ignoreIfNotExists: true, recursive: true })
return workspace.applyEdit(edit)
}
export const moveTargets = (targets: Uri[], destination: Uri) => {
const edit = new WorkspaceEdit()
for (const uri of targets) {
edit.renameFile(uri, Uri.joinPath(destination, basename(uri.fsPath)))
}
return workspace.applyEdit(edit)
}
export const findFiles = async (
relativeGlob: string,
exclude?: string
): Promise<string[]> => {
const files = await workspace.findFiles(relativeGlob, exclude)
return files.map(uri => uri.fsPath)
}