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.

Seeing what changed

When an AI agent edits a file you already read, Changes shows you what is different from the file's seen version, so you only read what changed.

Turn Changes on and off

  • Press Cmd+D on a Mac, or Ctrl+D on Windows and Linux.
  • Or click Changes at the right end of the status strip at the bottom of the window.
  • Or open the command palette (Cmd+Shift+P or Ctrl+Shift+P) and pick Turn on Changes (Turn off Changes when it is on).

Press it again to turn Changes off. Each tab keeps its own setting: turning Changes on in one tab does not turn it on in the others. Changes is not remembered after you quit.

While Changes is on, the page shows the file as it is on disk, read-only, with the changes marked on it.

What the marks mean

Skimmark compares the file block by block. A block is a paragraph, a heading, a table, a code block, a quote, the front matter table, or one list item.

Mark Meaning
Bar, + sign and green tint Added block
Bar, ~ sign and amber tint Changed block (same kind of block, different text)
Dashed line, "1 block removed" A block that was in the seen version and is gone. Click it, or press Enter on it, to show the old text. Click again to hide it.

A block that moved shows as removed where it used to be and added where it is now. A list item that moves in or out of a nested list counts as changed. If one block becomes a different kind (a paragraph turned into a heading), it shows as removed and added.

Changing one value in the front matter marks only the front matter table.

The status strip sums it up, for example "2 added, 1 changed, 1 removed". If nothing changed it says No changes since last seen. The first time you open a file, its seen version is the file you see, so it starts with no changes.

Move between changes with the keyboard

With Changes on, press F8 to move to the next mark and Shift+F8 to move to the previous one. After the last mark F8 goes back to the first. A screen reader reads each mark as "Added block", "Changed block", or "1 block removed" (collapsed or expanded). When Changes is off, F8 does nothing in Skimmark.

When the file changes while Changes is on

If the file changes on disk while Changes is on, Skimmark reloads it and marks it again against the same seen version.

Messages in the status strip

Message What it means
No seen version to compare with. Skimmark has no seen version for this file (for example, it was over 20 MB when you first opened it).
Could not read the seen version. The seen version could not be read from Skimmark's data folder.
This file is too long to mark changes. The file or its seen version is over 100,000 characters. Skimmark skips the comparison so the window stays responsive.
Too many changes to mark in this file. So much changed, in so many repeated blocks, that Skimmark cannot line the two versions up reliably. It shows no marks rather than wrong ones.
Changes can't be marked in this file. Skimmark could not match the page to the file's blocks, so it shows no marks rather than wrong ones.

Clear the marks

When you have read the changes, press Seen in the status strip, or Cmd+Shift+D (Ctrl+Shift+D on Windows and Linux). The version on screen becomes the seen version and the marks clear. A ~ sign on a tab means its file changed since it was seen. See Mark as seen.

What is not here yet

  • A changed link reference definition (a line like [doe]: https://example.com) is counted in the status strip but has no mark, because it does not show on the page.

View as Markdown