Oracle syntax highlighting for alternative quoted strings

Syntax highlighting, code folding, brace matching, code indenting, and function list

Oracle syntax highlighting for alternative quoted strings

Postby mieslep » Mon Dec 12, 2011 12:20 pm

Oracle provides a "quoted string" syntax. For example, a string could be

'Some String' or q'{Some String}'

This is described in detail at http://docs.oracle.com/cd/E11882_01/ser ... SQLRF00218 ; the "{}" can be any of a number of pairs. (In fact, it can be any single character though [, {, <, or ( all require the corresponding close brace.)

This is particularly handy for doing quotes within quotes:

'that''s my boy' can be expressed without the double-single-quote as q'{that's my boy}'

But, seems that the available wordfiles don't quite handle this condition...and if you start doing quoted strings within quoted strings:

q'[ this is a q'{quoted string}' within a quoted string]'

I don't know if/how to make it handle this...

Thoughts?
Thanks,
:-Phil
User avatar
mieslep
Newbie
 
Posts: 7
Joined: Wed Feb 02, 2005 12:00 am

Re: Oracle syntax highlighting for alternative quoted strings

Postby Mofi » Mon Dec 12, 2011 1:33 pm

UltraEdit supports only 2 types of string highlighting.

The most common string type requires highlighting a sequence of characters usually defined by a single or double quote character at begin and end as string with an escape character (different to the string definition character) for defining the single/double/escape character inside the string. Such a string definition is also supported by Oracle as I read on the referenced page. With String Chars = ' in the wordfile this type of strings in Oracle files is supported perfect by UltraEdit.

The second supported type is specific to C#. Strings with a string literal prefix as described on the UltraEdit help page with title Syntax Highlighting. This type of string highlighting is of no help for highlighting Oracle strings using alternative quoting mechanism.

What you can do is to use the alternative block comment highlighting feature to highlight exactly 1 type of alternative quoted Oracle strings. When you use for example Block Comment On Alt = q'{ Block Comment Off Alt = }' additionally to String Chars = ' on the first line of the wordfile used to highlight Orcale files, you would get simple single quoted strings highlighted with the color defined for color group Strings and strings defined by q'{ and }' with the color defined for color group Alternate Block Comments. Of course you can use the same color for both color groups.

But more is not possible with UE v17.30.0.1011. Support for highlighting strings q'[any character or opening brace] and [same character as opening character or matching closing brace]' is definitely not possible. I suggest to simply use twice the single quote to escape a single quote inside a string instead of the alternative quote mechanism. I'm not editing Orcale files, but I think it is easier to simple hit twice the key for inserting a single quote to define a single quote inside a string instead of going to start of string, insert there q and after the single quote a second character and insert at end before closing single quote the matching character.
User avatar
Mofi
Grand Master
Grand Master
 
Posts: 3936
Joined: Thu Jul 29, 2004 11:00 pm
Location: Vienna

Re: Oracle syntax highlighting for alternative quoted strings

Postby mieslep » Mon Dec 12, 2011 3:00 pm

Thanks. The reason (in Oracle) I want to use quoted strings is to facilitate copy-paste between my stored procedures and a straight SQL command prompt is due to the fact that I'm using PL/SQL to dynamically construct SQL statements. It becomes mind-numbing to try to track down the meaning of ''''', it's a little bit a question of "how hard to create" but a lot more a question of "how hard to read" :)

The "Alt" works well for a single level.

I'd be happy if I could give a list of open/close sequences, for example q'{ }' and q'[ ]'. Having one (via the Alt mechanism) certainly helps.

Thanks,
:-Phil
User avatar
mieslep
Newbie
 
Posts: 7
Joined: Wed Feb 02, 2005 12:00 am


Return to Syntax Highlighting