Best way to manage 'doc-has-changed' status

Using code mirror for a text editor.
When loading the editor content from a file I want to display

  • if the editor text has been changed
  • or is still/again the same as the file content

Broadly having 2 approaches in mind:

  1. Create a checksum of the files content when loading and on update.docChanged calculate a new one and see if they differ
  2. Use the change descriptions / history structure

(1) should be doable, just worry about the performance/extra load.
For (2) haven’t found an exact way yet. Looked at the serializable history field which I extract anyway, but don’t see an obvious way to reuse (also since a save shouldn’t wipe out history).

Any thoughts or advise ?

Store state.doc for the version you are interested in, and do baseDoc.eq(state.doc) at any time to see if the given state has the same document.

1 Like

Thanks, that works!
However since I’m having potentially a lot of open/modified documents and don’t want to keep a lot of copies I decided for the following:

  • When loading from file, track its amount of characters and a md5
  • on changes compare for the amount of characters and if those are equal tale another md5 and compare it with the baseline