Sha256: ec8dbfd9988cd65c47a3524919cfb50ed4f7bb4625e0e0a2e8c4c1285ee37f85

Contents?: true

Size: 1.98 KB

Versions: 8

Compression:

Stored size: 1.98 KB

Contents

/**
 * String literal syntax documentation from Ruby source (2.7.0-dev)
 *
 * Double-quote strings allow escaped characters such as <tt>\n</tt> for
 * newline, <tt>\t</tt> for tab, etc.  The full list of supported escape
 * sequences are as follows:
 *
 *   \a             bell, ASCII 07h (BEL)
 *   \b             backspace, ASCII 08h (BS)
 *   \t             horizontal tab, ASCII 09h (TAB)
 *   \n             newline (line feed), ASCII 0Ah (LF)
 *   \v             vertical tab, ASCII 0Bh (VT)
 *   \f             form feed, ASCII 0Ch (FF)
 *   \r             carriage return, ASCII 0Dh (CR)
 *   \e             escape, ASCII 1Bh (ESC)
 *   \s             space, ASCII 20h (SPC)
 *   \\             backslash, \
 *   \nnn           octal bit pattern, where nnn is 1-3 octal digits ([0-7])
 *   \xnn           hexadecimal bit pattern, where nn is 1-2 hexadecimal digits ([0-9a-fA-F])
 *   \unnnn         Unicode character, where nnnn is exactly 4 hexadecimal digits ([0-9a-fA-F])
 *   \u{nnnn ...}   Unicode character(s), where each nnnn is 1-6 hexadecimal digits ([0-9a-fA-F])
 *   \cx or \C-x    control character, where x is an ASCII printable character
 *   \M-x           meta character, where x is an ASCII printable character
 *   \M-\C-x        meta control character, where x is an ASCII printable character
 *   \M-\cx         same as above
 *   \c\M-x         same as above
 *   \c? or \C-?    delete, ASCII 7Fh (DEL)
 *
 * In addition to disabling interpolation, single-quoted strings also disable all
 * escape sequences except for the single-quote (<tt>\'</tt>) and backslash
 * (<tt>\\\\</tt>).
 */
const patterns = [
  "[abtnvfres\\\\]", // simple
  "[0-7]{1,3}", // octal bits
  "x[0-9a-fA-F]{1,2}", // hex bit
  "u[0-9a-fA-F]{4}", // unicode char
  "u\\{[0-9a-fA-F ]+\\}", // unicode chars
  "c[ -~]|C\\-[ -~]", // control
  "M\\-[ -~]", // meta
  "M\\-\\\\C\\-[ -~]|M\\-\\\\c[ -~]|c\\\\M\\-[ -~]", // meta control
  "c\\?|C\\-\\?" // delete
];

module.exports = new RegExp(`\\\\(${patterns.join("|")})`);

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
prettier-0.17.0 src/escapePattern.js
prettier-0.16.0 src/escapePattern.js
prettier-0.15.1 src/escapePattern.js
prettier-0.15.0 src/escapePattern.js
prettier-0.14.0 src/escapePattern.js
prettier-0.13.0 src/escapePattern.js
prettier-0.12.3 src/escapePattern.js
prettier-0.12.2 src/escapePattern.js