rouge-ruby / rouge

A pure Ruby code highlighter that is compatible with Pygments
https://rouge.jneen.net/
Other
3.32k stars 731 forks source link

Oracle PLSQL lexer (suitable for Oracle SQL as well) #1811

Closed lee-lindley closed 2 years ago

lee-lindley commented 2 years ago

The keywords, non-reserved keywords, types and built-in functions are from the Oracle 19c manuals. The quoted literal parsing is much better than the existing SQL lexer, especially regarding the "q'" operator. I classify the quote delimiters as operators which is a departure from most others, but they are not part of the literal, so making them the same color as the quoted string is just wrong.

I borrowed liberally from the existing SQL, Perl and Ruby lexers and folowed the Lexer Development guide. The demo, sample and spec files are similar to others in those directories.

My blog (http://lee-lindley.github.io) is built using this lexer.

lee-lindley commented 2 years ago

Tan, I answered each one as I was editing and pressed the "resolved" button. Because I do not see them here, I'm thinking github dumped my comments when I did that instead of saving it along with the resolution. Lesson learned.

In any case I believe I addressed all suggestions appropriately, and only did small amount of functionality tweaking. I reviewed my test files visually and everything still looks good.

tancnle commented 2 years ago

Thanks a lot for your prompt action @lee-lindley 🙇🏼 Looks great to me 🚀