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