Обычно, в текстовом редакторе заводят булеву переменную, которую при модификации устанавливают в значение «изменено». И звёздочку с именем файла показывают.
Если например открыть файл, нажать «пробел», а затем стереть пробел клавишей «backspace», то звёздочка в имени файла останется, показывая что модификации проводились.
Но! можно ведь не этот признак хранить, а хранить исходную контрольную сумму файла. После каждого изменения её пересчитывать, и если контрольная сумма совпадает с исходной, то звёздочку не показывать.
Некоторые скажут - это надо весь текст в памяти держать, а что если текст больше, чем мои 16 гигабайт памяти, а редактировать его надо?
В таком редакторе надо считать промежуточные суммы для загруженного буфера сразу после загрузки.
Да и просто большой файл можно на блоки поделить, чтобы не пересчитывать всё.
Как вам идея?