Open philoserf opened 6 years ago
Moved from https://github.com/atom/atom/issues/16184
Doesn't appear to be confined to multiline strings. I'm getting the same error with this cson:
'.source.python':
'print color':
'prefix': 'pp'
'body': "print('\033[94m{}\033[0m'.format($1))"
https://github.com/atom/snippets/blob/master/lib/snippet-body.pegjs
This is the body parser that is fed to pegjs
. I need to build skill in a language I do not use to contribute. Still, I am taking a look as time and attention allow.
I can try to take a stab at this one. @philoserf, a PR that did nothing but add failing unit tests for this case would be incredibly helpful and wouldn't require you to learn pegjs. Thanks for reporting this!
Description
Atom snippets fail to treat an octal in multiline strings as expected. While the specification at https://github.com/bevry/cson proclaims "Multi-line Strings! Without Quote Escaping!" and gives no warning about octal Atom editor gives an error message while saving a snippet definition containing an octal.
Escaping a closing brace in a multi-line string is in the README for the snippets package: https://github.com/atom/snippets/blob/edf7db4e5f3d9bb0354745433cf09e14c933d75a/README.md#multi-line-snippet-body
Using the same technique to escape the opening backslash of the octal delivers the same error message as with no escaping.
Steps to Reproduce
$HOME/.atom/snippets.cson
Expected behavior:
Unlike a closing brace, other values do not require escaping in
snippets.cson
using CSON multi-line strings.OR, a means of escaping the octal exists for snippets as that require them.
OR, the README is updated to reflect this limitation in addition to the closing brace limit.
Actual behavior:
While running Atom like this,
atom --safe
Add this code fragment snippet definition to
$HOME/.atom/snippets.cson
:Upon saving the file, get this error:
Using the debugger arrive at this error message:
Which comes from this line/function:
Reproduces how often: Always
Versions
Additional Information
Not certain to which of these this issue belongs: