tom_forge_core 2.0.0
tom_forge_core: ^2.0.0 copied to clipboard
Tom Forge's core types, service contracts and defaults: documents, diagnostics, decorations, the undo manager, the workspace edit and the services the shell and its editors share.
2.0.0 #
- The file-system contract and its implementations moved to
tom_file_systemand the undo stack totom_undo, both intom_ai/basics, renamedTom-prefixed (TomFileSystem,TomMemoryFileSystem,TomLocalFileSystem,TomUndoStack,tomApplyAll, …).files.dartandio.dartare gone, nothing is re-exported, andFileChangeEvent,FileChangeType,WillSaveEventandSaveReasonaretom_file_system'sTomFileChangeEvent,TomFileChangeType,TomWillSaveEventandTomSaveReason. forgeApplyWorkspaceEdit(fs, edit)replaces the file system'sapplyWorkspaceEdit: a workspace edit is Forge's vocabulary, so applying it is Forge's too.tom_forge_undo.dartkeepsForgeUndoManager,DefaultUndoManagerand the listenables; the stack ispackage:tom_undo/tom_undo.dart.
1.0.0 #
- Initial version.
- One undo/redo stack for the workspace,
TomUndoStack<E>(also in the platform-neutraltom_forge_undo.dart): bounded, a push clears redo, and an entry is applied first and moved second, so a failed undo leaves the history as it was; synchronous and asynchronous application, andpopNewestfor merging an act into the one before it.tomApplyAllandtomApplyAllAsyncapply a composite step atomically, putting back what they applied when an item throws.DefaultUndoManagerandCompositeUndoEntryrun on them, as do the editors' histories andtom_flutter_ui'sTomUndoHistory. forgeLoadGitignores(root): the walk that reads every.gitignoreunder a folder (never entering.gitor a folder already ignored) into onetom_basicsTomGitignoreSet, which holds the rules; Forge parses none itself.- One file-system contract,
TomFileSystem, addressed byUriwith a root: revision-checked atomic writes,stat,readSlice,create,rename,trash, and a watch that can be told which folders not to enter.TomMemoryFileSystemand, inio.dart,TomLocalFileSystemimplement it, the latter with per-folder watching on Linux, the freedesktop.org trash and the Windows Recycle Bin.files.dartis the browser-safe entry point. The previous string-basedread/write/readBytes/createDirectoryandMemoryFileSystemare gone, and so areEventBatcherand themaxWatcherPaths,watcherBatchWindowandmaxConcurrentFileOpssettings, which only the removedRealFileSystemread. DefaultSearchManagersearches anyTomFileSystem, walking it from the root.