Oh gosh. The embedded quote solution turns out to be embarrasingly easy 
once I read the vim documentation on "region." But this is why I may not be 
suitable as a maintainer. I really do not know the "vim" programming world 
very well. OTOH, I know what Oracle SQL and PL/SQL should look like when 
syntax highlighed.

syn region sqlString    matchgroup=Quote start=+n\?'+  *skip=+''+*    
end=+'+

These legal quoted strings all display correctly in vim with this change:
SELECT 'a string with embedded quote ('')' as regq, q'{a string with 
embedded quote (')}' as qquote, 'a string ending in a quote ''' as 
regq_end_quote FROM dual;

On Sunday, April 17, 2022 at 3:13:40 PM UTC-4 Lee Lindley wrote:

> Hi Chris,
>
> I am an Oracle subject matter expert and pretty good with regular 
> expressions, but not so much on vim. I could take the maintainer role if I 
> must (as in if that is the only way to get this done, then yes). I would 
> prefer to be available as a subject matter expert and let someone else 
> maintain it.
>
> I have only two "safe" suggestions for sqloracle.vim:
>
> 1) support for exponential notation in floating point literals.
>
> "[+-]\?\(\(\.\d\+\([eE][+-]\?\d\+\)\)\|\d\+\.\(\d\+\([eE][+-]\?\d\+\)\?\)\)"
>  
> 2) You treat double quoted (") strings as String. These are "names" as in 
> column names and table names that happen to need double quotes and as such 
> should be closer in color to "Normal" than string literal. Not having 
> anything in the list of groups that is a sub-group of "Normal", I chose 
> Character. I know these are not single character literal values, but it was 
> the best I could think of from the choices. I want to be able to assign a 
> color to double quoted string names that is close to "Normal" while having 
> the color for string literals be something much different.
>
> I would prefer to fold plsql.vim into your sqloracle.vim, but there are 
> some fundamental differences in how you classify some oracle keywords plus 
> operators as "Statement" and call other keywords "Special" We could not 
> combine them without seriously breaking backwards compatibility.  Not 
> saying one or the other is right. They are just different.
>
> And this discussion led me to realize I had changed the behavior of 
> plsql.vim in a way I hadn't noticed. plsql.vim treats most SQL keywords as 
> "Function" which as far as I'm concerned is fundamentally broken. These 
> need to be a subcategory of Statement (I'm using Keyword and Statement to 
> differentiate between reserved and non-reserved words but not trying to 
> distinguish sql from plsql keywords at all). There are builtin Oracle 
> functions that need to be classified as Function, but words like SELECT and 
> MERGE do not belong in that list. Sigh.
>
> I can't see breaking backwards compatibility on something that has been 
> around for more than 20 years. Perhaps I need to amend my request to "add a 
> new syntax file?" plsqloracle.vim?
>
> Any thoughts on the right thing to do?
>
> PS
> I stole your code for the q-quote operator. Nice job!
> But we both still have a flaw for embedded quotes in reqular ' ' strings. 
> These look different:
>
> SELECT 'a string with embedded quote ('')' as regq, q'{a string with 
> embedded quote (')}' as qquote FROM dual;
>
> If/when I fix that, I'll let you know.
> On Sunday, April 17, 2022 at 11:56:41 AM UTC-4 [email protected] wrote:
>
>>
>> On So, 17 Apr 2022, Lee Lindley wrote: 
>>
>> > The listed maintainer email address for syntax file plsql.vim returns 
>> mail as undeliverable and his online presence has not been updated in many 
>> years. The syntax file has not kept up with changes to Oracle (19c is now 
>> mainstream while 
>> > syntax file only supports through 9i). 
>> > 
>> > I have an update ( https://github.com/lee-lindley/vim_plsql_syntax ) 
>> and demonstrate decent test coverage in my screenshots. I can generate a 
>> pull request, but the instructions in CONTRIBUTING.md say to contact the 
>> maintainer first. 
>> > 
>> > Please advise. 
>> > 
>> > PS 
>> > 
>> > I don't have a "test" to add per se, but have a sample pl/sql file that 
>> exercises much of the trickier syntax parsing I'm interested in. I'm 
>> eyeballing it. If there is a separate document for creating test scripts or 
>> examples for coverage 
>> > checks on syntax files, please point me to it. 
>> > 
>>
>> If the maintainer is unreachable, would you volunteer to take care of 
>> the plsql syntax then? 
>>
>> And as a side note, if you have any changes for Oracle SQL, I'll happily 
>> include any changes here: 
>> https://github.com/chrisbra/vim-sqloracle-syntax/ 
>>
>> I don't use Oracle SQL as much as several years ago, but try to keep it 
>> up to date if someone makes me aware of required changes. 
>>
>>
>> Thanks, 
>> Chris 
>> -- 
>> Übrigens stellen die Priester uns nur darum als Stellvertreter Gottes 
>> hin, um sich selbst als Werkzeuge und Dolmetscher der Gottheit 
>> auszugeben. 
>> -- Friedrich II. der Große (an Prinz Wilhelm von Braunschweig) 
>>
>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/526700f5-024b-4957-af97-9def8faa3ee2n%40googlegroups.com.

Raspunde prin e-mail lui