Uznaliśmy plik za źródło prawdy, aby zapisywane były tylko wpisane przeze mnie bajty
Czy zdarzyło Ci się zobaczyć w git diff tabelę, której nie zmieniałeś? mote nie traktuje modelu dokumentu jako źródła prawdy — jest nim plik, a podczas zapisywania na dysk trafiają wyłącznie wpisane przez Ciebie bajty.

Czasem poprawiasz tylko jedno słowo w tabeli Markdown, a w Git wygląda to tak, jakby zmienił się cały dokument.
Dzieje się tak dlatego, że podczas zapisywania edytor ponownie porządkuje odstępy i podziały wierszy w tabeli. Zapisuje więc do pliku nawet spacje, których użytkownik nie wprowadził. Przykładem jest Typora, która wypełnia spacjami miejsca między pionowymi kreskami, aby wyrównać szerokość kolumn tabeli.
mote zapisuje inaczej. Pozostawia oryginalną treść pliku bez zmian, a efekty wizualne, takie jak pogrubienie, tabele i wzory, jedynie wyświetla na niej. Dlatego podczas zapisywania zmieniają się tylko bajty zmodyfikowane przez użytkownika.
Możesz sprawdzić zakres zmian przed zapisaniem
mote pokazuje na pasku stanu liczbę bajtów, które zmienią się po zapisaniu.
Porównuje oryginał z chwili pierwszego otwarcia pliku z jego bieżącą treścią i oblicza wyłącznie rzeczywiste różnice. Po edycji wyświetla 17 B oczekuje na zapis, a po cofnięciu wszystkich zmian komunikat zmienia się na Taki sam jak zapisany plik. Po zapisaniu Zapisano · 17 B pozostaje widoczne aż do następnej edycji.

Ta liczba działa niezależnie od Git. Można ją zobaczyć również w folderze, który nie jest repozytorium Git, i nie wpływa na nią stan obszaru przejściowego ani commitów.
Odpowiada jednak zakresowi zmian widocznemu w Git diff. Jeszcze przed zapisaniem możesz więc sprawdzić, czy zmieni się tylko to, co zostało przez Ciebie poprawione.
Gdy poprawisz jedną komórkę tabeli, zmieni się tylko ta komórka
Różnicę najlepiej widać podczas edytowania tabeli.
W trybie na żywo (Live) tabela jest wyświetlana jako siatka. Tylko komórka, w której znajduje się kursor, zmienia się w tekst źródłowy. Jeśli poprawisz w niej jedno słowo i zapiszesz plik, na pasku stanu pojawi się +8 −6 B. W Git diff pojawi się również tylko dany wiersz.

Wyrównanie kolumn i spacje między pionowymi kreskami pozostają bez zmian. mote nie modyfikuje także znaczników listy * ani dwóch spacji na końcu wiersza. Jeśli plik nie miał końcowego znaku nowego wiersza, nie zostanie on dodany.
Tak samo działa wklejanie. Tekst ze schowka jest wstawiany bez zmian i bez konwertowania go na inny format. Dodaną ilość danych można od razu sprawdzić na pasku stanu. Jeśli efekt Ci się nie podoba, możesz cofnąć operację jednym ruchem i wrócić do stanu identycznego z zapisanym plikiem.
Zachowywane są również inne cechy pliku. CRLF pozostaje CRLF, a pliki zawierające jednocześnie LF i CRLF również są zapisywane bez zmian. BOM i końcowy znak nowego wiersza są zgodne z oryginałem. Przy każdym wydaniu to zachowanie jest sprawdzane za pomocą testów zapisu w obie strony.
Zmiana pliku rozpoczyna się wyłącznie od działania użytkownika
Istnieją trzy sytuacje, w których mote dodaje bajty do dokumentu.
Gdy użytkownik wpisuje lub wkleja tekst, gdy po zatwierdzeniu obrazu ze schowka zapisuje go i wstawia odnośnik oraz gdy przeciąga róg obrazu, aby zmienić jego rozmiar, a wartość ta zostaje zapisana w tekście alternatywnym.
Każda z tych edycji jest bezpośrednio inicjowana przez użytkownika. To, co się zmieniło, można również sprawdzić w historii zmian.
mote nie tworzy też dodatkowych plików obok dokumentu. Informacje, których nie da się zapisać w Markdown, takie jak szerokość kolumn tabeli, nie są przechowywane osobno — ta funkcja po prostu nie jest oferowana.
Informacje aplikacji, takie jak ustawienia, ostatnio używane pliki i 20 kopii zapasowych, są przechowywane wyłącznie w folderze stanu w katalogu domowym użytkownika. Dzięki temu folder dokumentów działa w Git, Dropboxie czy Syncthingu tak, jakby mote w ogóle nie istniał.
W zamian plik nie jest automatycznie poprawiany
Zachowanie pliku bez zmian oznacza również, że błędna składnia nie jest samowolnie poprawiana.
Uszkodzone tabele, niezamknięte bloki kodu i nieprawidłowe wcięcia list są wyświetlane dokładnie tak, jak interpretuje je CommonMark. Jeśli efekt różni się od oczekiwanego, trzeba poprawić go samodzielnie w trybie źródłowym (Source).
Edytor, w którym nie wiadomo, co zmieni się podczas zapisywania, tylko pożycza plik. mote oddaje Ci przekazany plik w niezmienionej postaci.