1.1.1 • Published 5 years ago

paste-escaped v1.1.1

Weekly downloads
5
License
SEE LICENSE IN LI...
Repository
github
Last release
5 years ago

Paste Escaped

TypeScript Semantic Paste

(escapes pasted text based on where the cursor is positioned)

paste-escaped

Install

Windows / LinuxMac
ctrl+shift+xcmd+shift+x
  • Type Paste
  • Find Paste Escaped
  • Click the Install button
  • Click the Reload button

Usage

Paste with semantic escaping (TypeScript files only)

Windows / LinuxMac
ctrl+shift+vcmd+shift+v

Undo semantic escaping

Windows / LinuxMac
ctrl+zcmd+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 / LinuxMac
ctrl+shift+pcmd+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

License

MIT