You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if the first character on a line within a snapshot is ╔ then it is replaced with 𐝁 (this preserves ASCII art within snapshots)
This combination of character-accurate + WYSIWYG breaks down in only one place - line endings. You can't see them, and git's complex and poorly understood line-ending-mutation rules mean that most teams can't reliably do source control that differentiates between \n and \r\n.
Rather than randomly punch users in the face with this triviality, we do the following:
Internally, every text-based snapshot in spotless-snapshot has a .replace("\r", ""), so snapshots will never fail because of line-ending differences
New .ss files are always written using \n line endings
If an .ss file is loaded from disk with \r\n, it is converted and parsed using \n, but will be written back to disk as \r\n
However, this means that the snapshots are not exactly character-for-character accurate because they do not preserve \r. For users that want to preserve \r, we could add a mode which preserves the \r character if the user uses the .ss.asar format
Here are two important properties of the
.ss
snapshot files:𐝃
->𐝃𐝃
,𐝁
->𐝃𐝁
(they are from an untranslated dead language)╔
then it is replaced with𐝁
(this preserves ASCII art within snapshots)This combination of character-accurate + WYSIWYG breaks down in only one place - line endings. You can't see them, and git's complex and poorly understood line-ending-mutation rules mean that most teams can't reliably do source control that differentiates between
\n
and\r\n
.Rather than randomly punch users in the face with this triviality, we do the following:
.replace("\r", "")
, so snapshots will never fail because of line-ending differences.ss
files are always written using\n
line endings.ss
file is loaded from disk with\r\n
, it is converted and parsed using\n
, but will be written back to disk as\r\n
However, this means that the snapshots are not exactly character-for-character accurate because they do not preserve
\r
. For users that want to preserve\r
, we could add a mode which preserves the\r
character if the user uses the.ss.asar
formatAdding support for storing
\r
within.ss
files might be possible (maybe encode them as𐝃r
?), but doesn't seem like a good idea.The text was updated successfully, but these errors were encountered: