CoffeeScript
ATOM

Atomのスニペット(CSON)でバックスラッシュそのものを出す方法

More than 1 year has passed since last update.


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