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