jsesc.1 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. .Dd May 13, 2016
  2. .Dt jsesc 1
  3. .Sh NAME
  4. .Nm jsesc
  5. .Nd escape strings for use in JavaScript string literals
  6. .Sh SYNOPSIS
  7. .Nm
  8. .Op Fl s | -single-quotes Ar string
  9. .br
  10. .Op Fl d | -double-quotes Ar string
  11. .br
  12. .Op Fl w | -wrap Ar string
  13. .br
  14. .Op Fl e | -escape-everything Ar string
  15. .br
  16. .Op Fl 6 | -es6 Ar string
  17. .br
  18. .Op Fl l | -lowercase-hex Ar string
  19. .br
  20. .Op Fl j | -json Ar string
  21. .br
  22. .Op Fl p | -object Ar string
  23. .br
  24. .Op Fl p | -pretty Ar string
  25. .br
  26. .Op Fl v | -version
  27. .br
  28. .Op Fl h | -help
  29. .Sh DESCRIPTION
  30. .Nm
  31. escapes strings for use in JavaScript string literals while generating the shortest possible valid ASCII-only output.
  32. .Sh OPTIONS
  33. .Bl -ohang -offset
  34. .It Sy "-s, --single-quotes"
  35. Escape any occurrences of ' in the input string as \\', so that the output can be used in a JavaScript string literal wrapped in single quotes.
  36. .It Sy "-d, --double-quotes"
  37. Escape any occurrences of " in the input string as \\", so that the output can be used in a JavaScript string literal wrapped in double quotes.
  38. .It Sy "-w, --wrap"
  39. Make sure the output is a valid JavaScript string literal wrapped in quotes. The type of quotes can be specified using the
  40. .Ar -s | --single-quotes
  41. or
  42. .Ar -d | --double-quotes
  43. settings.
  44. .It Sy "-6, --es6"
  45. Escape any astral Unicode symbols using ECMAScript 6 Unicode code point escape sequences.
  46. .It Sy "-e, --escape-everything"
  47. Escape all the symbols in the output, even printable ASCII symbols.
  48. .It Sy "-j, --json"
  49. Make sure the output is valid JSON. Hexadecimal character escape sequences and the \\v or \\0 escape sequences will not be used. Setting this flag enables the
  50. .Ar -d | --double-quotes
  51. and
  52. .Ar -w | --wrap
  53. settings.
  54. .It Sy "-o, --object"
  55. Treat the input as a JavaScript object rather than a string. Accepted values are flat arrays containing only string values, and flat objects containing only string values.
  56. .It Sy "-p, --pretty"
  57. Pretty-print the output for objects, using whitespace to make it more readable. Setting this flag enables the
  58. .It Sy "-l, --lowercase-hex"
  59. Use lowercase for alphabetical hexadecimal digits in escape sequences.
  60. .Ar -o | --object
  61. setting.
  62. .It Sy "-v, --version"
  63. Print jsesc's version.
  64. .It Sy "-h, --help"
  65. Show the help screen.
  66. .El
  67. .Sh EXIT STATUS
  68. The
  69. .Nm jsesc
  70. utility exits with one of the following values:
  71. .Pp
  72. .Bl -tag -width flag -compact
  73. .It Li 0
  74. .Nm
  75. successfully escaped the given string and printed the result.
  76. .It Li 1
  77. .Nm
  78. wasn't instructed to escape anything (for example, the
  79. .Ar --help
  80. flag was set); or, an error occurred.
  81. .El
  82. .Sh EXAMPLES
  83. .Bl -ohang -offset
  84. .It Sy "jsesc 'foo bar baz'"
  85. Print an escaped version of the given string.
  86. .It Sy echo\ 'foo bar baz'\ |\ jsesc
  87. Print an escaped version of the string that gets piped in.
  88. .El
  89. .Sh BUGS
  90. jsesc's bug tracker is located at <https://github.com/mathiasbynens/jsesc/issues>.
  91. .Sh AUTHOR
  92. Mathias Bynens <https://mathiasbynens.be/>
  93. .Sh WWW
  94. <https://mths.be/jsesc>