Quarkus: {[ and ]} with Qute

Created on 22 Aug 2020  路  7Comments  路  Source: quarkusio/quarkus

Description
Today, based on https://quarkus.io/guides/qute-reference, the bracket {[ and ]} could be used for unspected character data.
This {[ & ]} could be frequent in javascript, for example, this code is used to configure google maps, and it could cause problems if the code is minified and if a space isn't present between } & ] characters.

 styles:
                        [
                            {"featureType":"water","elementType":"geometry.fill","stylers":[{"color":"#d3d3d3"} ] },
                            {"featureType":"transit","stylers":[ {"color":"#808080"},{"visibility":"off"} ] },
                            {"featureType":"road.highway","elementType":"geometry.stroke","stylers":[ {"visibility":"on"},{"color":"#b3b3b3"} ] },
                            {"featureType":"road.highway","elementType":"geometry.fill","stylers":[ {"color":"#ffffff"} ] },
                            {"featureType":"road.local","elementType":"geometry.fill","stylers":[ {"visibility":"on"},{"color":"#ffffff"},{"weight":1.8} ] },
                            {"featureType":"road.local","elementType":"geometry.stroke","stylers":[ {"color":"#d7d7d7"} ] },
                            {"featureType":"poi","elementType":"geometry.fill","stylers":[ {"visibility":"on"},{"color":"#ebebeb"} ] },
                            {"featureType":"administrative","elementType":"geometry","stylers":[ {"color":"#a7a7a7"} ] },
                            {"featureType":"road.arterial","elementType":"geometry.fill","stylers":[ {"color":"#ffffff"} ] },
                            {"featureType":"road.arterial","elementType":"geometry.fill","stylers":[ {"color":"#ffffff"} ] },
                            {"featureType":"landscape","elementType":"geometry.fill","stylers":[ {"visibility":"on"},{"color":"#efefef"} ] },
                            {"featureType":"road","elementType":"labels.text.fill","stylers":[{"color":"#696969"} ] },
                            {"featureType":"administrative","elementType":"labels.text.fill","stylers":[ {"visibility":"on"},{"color":"#737373"} ] },
                            {"featureType":"poi","elementType":"labels.icon","stylers":[ {"visibility":"off"} ] },
                            {"featureType":"poi","elementType":"labels","stylers":[ {"visibility":"off"} ] },
                            {"featureType":"road.arterial","elementType":"geometry.stroke","stylers":[ {"color":"#d6d6d6"} ] },
                            {"featureType":"road","elementType":"labels.icon","stylers":[ {"visibility":"off"} ] },
                            {"featureType":"poi","elementType":"geometry.fill","stylers":[ {"color":"#dadada"} ] }
                            ]

                };

Implementation ideas
I would recommand another sequence for this behavior.

arequte kinenhancement

Most helpful comment

I like {| and |}. We'll keep the original ones for a while though and deprecate it in the docs.

All 7 comments

/cc @mkouba

@evialle Hm, I can understand that a valid json can contain the the ]} sequence (array as a property value of an object). But I don't see a valid use case for the starting sequence {[ which is necessary to "trigger" unparsed character data. What's the original/unformatted snippet you'd like to include in a template?

Ah, now I see the problem - the ]} sequence is enough to end an unparsed character data section _prematurely_.

I would recommand another sequence for this behavior.

Do you have a recommendation? ;-)

@mkouba , I didn't copy the complete part of my template that includes a long