Atomのスニペットにバックスラッシュ\そのものを出させたいとき
例えば以下のように記述すると,\nが展開されて実際に改行されてしまう.
'source.c':
'printf':
'prefix': 'pf'
'body': """
printf('\n');
"""
そこで以下のようにバックスラッシュを4つ羅列してやると,エスケープされそのまま\nと表示されるようになる.
'source.c':
'printf':
'prefix': 'pf'
'body': """
printf('\\\\n');
"""
なぜこうなるか
printf('\\\\n'); は,まず CSONパーサー によって printf('\\n'); と評価され,次に snippet bodyパーサー によって printf('\n'); と評価される.
\\\\ ──CSON Parser─→ \\ ──BodyParser─→ \
cf. https://github.com/atom/snippets/issues/128#issuecomment-94171361