paste-escaped
v1.1.1
Published
Escapes pasted text based on where the cursor is positioned
Downloads
4
Readme
Paste Escaped
TypeScript Semantic Paste
(escapes pasted text based on where the cursor is positioned)
Install
| Windows / Linux | Mac |
| ------------------ | ----------------- |
| ctrl
+shift
+x
| cmd
+shift
+x
|
- Type
Paste
- Find
Paste Escaped
- Click the
Install
button - Click the
Reload
button
Usage
Paste with semantic escaping (TypeScript files only)
| Windows / Linux | Mac |
| ------------------ | ----------------- |
| ctrl
+shift
+v
| cmd
+shift
+v
|
Undo semantic escaping
| Windows / Linux | Mac |
| ------------------ | ---------------- |
| ctrl
+z
| cmd
+z
|
Press once to undo the escaping (leaving you with the raw clipboard text).
Press a second time to undo the entire paste operation.
Command Pallette
| Windows / Linux | Mac |
| ------------------ | ----------------- |
| ctrl
+shift
+p
| cmd
+shift
+p
|
- Type
Paste
- Select the option
Paste: Escaped
Features
Escapes clipboard text in the following scenarios with |
being the cursor position:
:heavy_check_mark: const test = `|`;
:heavy_check_mark: const test = "|";
:heavy_check_mark: const test = '|';
:heavy_check_mark: const test = /|/g;
:heavy_check_mark: const test = 123; // |
:heavy_check_mark: const test = /* | */ 123;
:ok_hand: any.other.code |
(no escaping)
How it works
Text in clipboard:
:clipboard:
<text property="${donteval}" folder="C:\temp"/>
<name first='John\`s' last="Tools"/>`
Example 1. Pasting into template
const abc = ``;
Result (without extension) :thumbsdown:
const abc = `<text property="${donteval}" folder="C:\temp"/>
<name first='John`s' last="Tools"/>`;
:warning: Considers ${donteval}
a template variable (may not be intentional)
:heavy_multiplication_x: Replaces \t
in the C:\\temp
path with a literal TAB
:heavy_multiplication_x: Breaks the string immediately following John
causing compilation errors
Result (with extension) :thumbsup:
const abc = `<text property="\${donteval}" folder="C:\\temp"/>
<name first='John\`s' last="Tools"/>`;
:heavy_check_mark: The ${donteval}
exists as verbatim text and will not look for a variable named donteval
:heavy_check_mark: Does not replace part of the path with a TAB
:heavy_check_mark: The string ends where expected :astonished:
Example 2.
const def = "";
Result (without extension) :thumbsdown:
const def = "<text property="${donteval}" folder="C:\temp"/>
<name first='John`s' last="Tools"/>"
:heavy_multiplication_x: Breaks the string immediately following property=
(and several other places) causing compilation errors
:heavy_multiplication_x: Adds a line break causing additional compilation errors
:heavy_multiplication_x: Replaces \t
in the C:\\temp
path with a literal TAB
Result (with extension) :thumbsup:
const def = "<text property=\"${donteval}\" path=\"C:\\temp\"/>\n<name first='John`s' last=\"Tools\"/>";
:heavy_check_mark: Escapes all quotes and backslashes (\
)
:heavy_check_mark: Escapes the line break with \n
(or \r\n
if that were on the clipboard)
:heavy_check_mark: The string ends where expected