Sashmark / Help

Sashmark is in development. Nothing has been released yet, and there is no public build. These pages describe the development build. See the roadmap for what is still planned.

When an agent changes a file you are editing

You have unsaved edits in a tab, and an AI agent (or another app) writes the same file. Skimmark never throws away either version on its own: you choose.

What you see

  • The page keeps showing your edits. It does not reload over them.
  • A bar under the tabs says File changed on disk. You have unsaved edits. with two buttons, Keep mine and Load theirs. Screen readers announce it right away.
  • Until you choose, a save is refused: nothing is written, the agent's version stays on disk, and the notice bar says Couldn't save: the file changed on disk since you opened it. Your edits are still here.

Skimmark also finds the change when you save before it has noticed it: the save writes nothing and the same bar appears. If the agent writes the file in the moment right after your save, your edits stay on the page, unsaved, and the same bar appears, so you choose again.

If the file goes back to the version you started editing from, the bar goes away by itself. If the file is moved or deleted, the bar goes away and the notice bar says File moved or deleted. Showing the last version.; your edits stay. If it comes back with different text, the bar comes back. So does undoing all your edits: the tab then shows the file as it is on disk.

The bar shows only for the tab you are looking at. Switch to another tab's conflict and its bar appears.

Keep mine

Click Keep mine to keep your edits. The bar goes away and nothing is written yet. Press Cmd+S (Ctrl+S on Windows and Linux) to save: your version replaces the agent's version on disk.

Keep mine covers only the version the agent had written when you clicked it. If the agent writes the file again before you save, the bar comes back, the save is refused, and you choose again. This is true even when the second change happens just before you press Cmd+S and Skimmark had not noticed it yet.

Load theirs

Click Load theirs to drop your edits and show the agent's version. Skimmark asks first, in a box headed with the file's name: Load theirs? Your unsaved edits in this Tab will be lost. with Cancel and Load theirs.

  • Cancel has the focus when the box opens, so Return picks Cancel.
  • Escape and Cancel keep your edits and the bar.
  • Only Load theirs (click it, or Tab to it and press Return or Space) drops your edits. Skimmark reads the file again first, and drops your edits (frontmatter edits too) only once the agent's version is on the page, with no unsaved dot. Typing and saving pause meanwhile.
  • If you click Keep mine while the agent's version is still loading, Keep mine wins: your edits stay.
  • If the file can't be read, is gone, or changes again while it is being read, your edits stay, still unsaved, and the notice bar says Couldn't load theirs: with the reason, then Your edits are still here.
  • While the box is open, Tab and Shift+Tab move only between its two buttons, and the app's shortcuts (save, close tab, switch tab and the like) wait for your answer. A file you open meanwhile (from the menu, Finder or Explorer, the terminal, or by dropping it) opens after you answer. Quitting still asks as usual (see Editing and saving a file).

Closing a tab in conflict

  • Before you choose, the edits can't be saved, so closing the tab asks "Discard unsaved edits in ? They can't be saved here (the file changed on disk since you opened it)." See Editing and saving a file.
  • After Keep mine, the edits can be saved again, so the tab does not close until you save, like any tab with unsaved edits.

Skimmark does not merge the two versions or show you a side-by-side comparison.

View as Markdown