It doesn't work. There's been a lengthy discussion here https://github.com/mjbvz/vscode-lit-html/issues/14 and comments are not welcome in most tools, but even GitHub fails at highlighting the string, and no intellisense works within comments.
The simplest request considered as "increased JS complexity" also feels a bit of an exaggeration: there are various use cases, and I wouldn't have proposed this if useless. Although, `String.tag` instead of `String.raw` seems like a welcome compromise, actually even more semantic, so the proposal would be to add a tag that does exactly what `String.raw` does without escaping sequences. As there is already an identical function that is a footgun for the described use-case, I don't see any extra complexity in having `String.tag`. Best Regards. On Mon, Jun 22, 2020 at 2:00 PM Bruno Macabeus <[email protected]> wrote: > You could just use comments in order to provide metainformations to your > developer tools instead of adding a new feature on language. > > const style = /*css*/` > body { > color: green; > } > `; > > const node = /*html*/` > <div>hello world</div> > `; > > Or an even better solution is change your highlight to firstly try to match a > HTML, if fail try to match CSS, if fail match as a plain string. > > IMHO it isn't necessary to increase the complexity of JS to do that. > > > On Mon, 22 Jun 2020 at 12:02, François REMY <[email protected]> > wrote: > >> What exactly are you proposing to do differently than String.raw? >> >> >> https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/string/raw >> >> Sent from my phone >> ------------------------------ >> *From:* es-discuss <[email protected]> on behalf of Andrea >> Giammarchi <[email protected]> >> *Sent:* Monday, June 22, 2020 12:24:13 PM >> *To:* [email protected] <[email protected]> >> *Subject:* A Function.tag proposal? >> >> This is something somehow bothering developers and tools, sooner or >> later, the need for a no-op template literal tag function that just returns >> the string as is. >> >> The current workaround to have highlights, proper content minification, >> etc, is the following one: >> >> ```js >> >> import css from 'dummy-tag';import html from 'dummy-tag'; >> const style = css` body { color: green; }`; >> const node = html` <div>hello world</div>`; >> >> ``` >> >> but as irrelevant as the dummy-tag code is, in size, it's a dependency, >> and a function that can't get easily optimized, due the nature of the tag >> signature. >> >> ### Proposal >> >> Provide a static `Function.tag` which internally flattens out any >> template literal content. >> >> ```js >> >> const css = Function.tag; >> const html = Function.tag; >> >> const style = css` body { color: green; }`; >> const node = html` <div>hello world</div>`; >> >> ``` >> >> Internally it will place eventual interpolations within template chunks, >> and return a string. >> >> ```js >> Function.tag`1${2}3` === '123'; >> ``` >> >> That's it. Thoughts? >> >> Best Regards >> >> >> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss >> >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

