Escaping delimiters does not work with UDL.
-
I have a customized UDL set up for ActionScript 3, wherein I use double quote (") as delimiters for Strings. I have also included the escape character (
\). However, when my code contains Regular Expressions like!/^\/[^\"]*$/, the escape character does not escape the double quote and the entire code after this is styled with the String styler.In
userDefineLang.xmlit appears as<Keywords name="Delimiters">00" 01\ 02" 03' 04\ 05' 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>which seems correct to me.Can anyone help me figure this out? Thanks.
-
Based on your description, I assume you are seeing something akin to

… where the regex starts looking like a quote starts inside.In that example, I also showed examples of how the escape is actually intentended to work: the “Escape” character escapes the various open/close symbols _when embedded between open/close symbols. So
"In \" quotes", it properly treats the\"as being inside the string, not ending the string, and similarly for the single-quote example.Since, based on your
<Keywords...>line, you don’t have regex defined as delimiters, the parser is not in a mode where it knows it needs to escape them.If you define regex wrappers as delimiters as well, like:

… then you can get it to treat the regex as a string:

The reason the quote isn’t starting a string inside the regex is because, by default, UDL doesn’t allow nesting of delimiters, unless you tell it to in the Stylers. This is more obvious if I do the same regex, but with the quotes not escaped:

The quotes are still not treated as string-starters, because the regex delimiters were not defined to allow nesting of the string delimiters.
On the other hand, if you define Delimiter 5 to be
[and\and]and then in the Styler definition you also allow nesting of Delimiters 1 and 2:

… then you can get another example, which shows quotes embedded in brackets, and escaped brackets:

If you escape the quotes when inside brackets, they will not be recognized as embedded quotes anymore:

So I believe these are the kinds of setups you will want. Defining the regex wrappers as delimiters as well should go a long way to giving you what you want, I think.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login