using System.IO.Abstractions; namespace Terminal.Gui; /// /// Interface for defining how to handle file/directory deletion, rename and newing attempts in /// . /// public interface IFileOperations { /// Specifies how to handle file/directory deletion attempts in . /// /// if operation was completed or if cancelled /// /// Ensure you use a try/catch block with appropriate error handling (e.g. showing a /// bool Delete (IEnumerable toDelete); /// Specifies how to handle 'new directory' operation in . /// /// The parent directory in which the new directory should be created /// The newly created directory or null if cancelled. /// /// Ensure you use a try/catch block with appropriate error handling (e.g. showing a /// IFileSystemInfo New (IFileSystem fileSystem, IDirectoryInfo inDirectory); /// Specifies how to handle file/directory rename attempts in . /// /// /// The new name for the file or null if cancelled /// /// Ensure you use a try/catch block with appropriate error handling (e.g. showing a /// IFileSystemInfo Rename (IFileSystem fileSystem, IFileSystemInfo toRename); }