felicio / vscode-prettier-snippets-react

Prettier snippets that suit your style
MIT License
1 stars 0 forks source link

Support standalone methods #17

Closed prichodko closed 6 years ago

prichodko commented 6 years ago

https://prettier.io/playground/#N4Igxg9gdgLgprEAuEACSBbADtBMDqAlgDbECyEArrABQCUqwAOlKkzACoCCAQgMocA8gAUA+gAYWqAL4gANCAhYYhaAGdkoAIZqYyAGZbiauAoBGAJy1gA1nBh8s1wlADmyGBcqmQAEwhgBkYmCi4mFjDCVq4YWkHGPgBWagAePFa29nxaGHAAMi5w8SGKlDBYZQBMxT5OFuHIIGZaZgCexNDyIFgWLgSEvjAAFsgAHOIKPRAm+FZYHl4+FnAAjpSEy1FaMXFIhgkKJhiEC96HLq7EcACKlBDwNQowLUSDI0iVT1YkFwDCEBhYo0oLgupQTBwWho9sE4NJpEA

prichodko commented 6 years ago

Right now only I see only two options how to make this syntax valid: https://prettier.io/playground/#N4Igxg9gdgLgprEAuc0DOMAEEBGArTAXk2AB0pNNIBbAB2gRgHUBLAGzYFkIBXWACgCUJcplIwAKgEEAQgGUJAeQAKAfQAMogL7kdUcjXpRGrDtz5ZiQogD4RFTNPlK1mqHpAAaEBFowW6MigAIYYyABmwWxocN44AE7BYADWcDBytEksUADmyDDxPLEgACYQYBFRMd7ZMfEwyok51MGV0cV4aAAeMokpaXLB1HAAMtlwbdU+PDC0MwBMk8WZ8XXIIDjBOACebNBeILTx2cwsJTAAFsgAHOreRxAxTIm0+YXF8XAAjjwsn43BZqtJCRdreGLUFhvIrg7I5NhwACKPAg8CW3hgW1Y5yuSHmGMS7DhAGEINQWusoAwDjwYhItmgllotEA

What do you think @felicio?

felicio commented 6 years ago
AFTER_FORMATTING_STRIP_METHOD_NAME_AND_FUNCITON_KEYWORD_TOKEN: function mount() {
    TABSTOP_0
 }
prichodko commented 6 years ago

Oh! Totally forgot about function keyword 🤣.

But, what's that syntax?

Maybe we could go just with:

function DELETE_FUNCTION_KEYWORD_mount() {
  TABSTOP_0
}

?

felicio commented 6 years ago
const re = /(\w+): function /g
'mount: function mount() {}'.replace(re, '')
felicio commented 6 years ago

or better

const re = /(^\S\w+)/g // shorthand prop name (ES2015)
'mount() {}'.replace(re, '$1: function $1')
felicio commented 6 years ago

Is shorthand prop what you meant?