@@ -57,6 +57,7 @@ syn case ignore
5757
5858syn match plsqlGarbage " [^ \t ()]"
5959syn match plsqlIdentifier " [a-z][a-z0-9$_#]*"
60+ syn match plsqlSqlPlusDefine " &&\? [a-z][a-z0-9$_#]*\.\? "
6061syn match plsqlHostIdentifier " :[a-z][a-z0-9$_#]*"
6162
6263" The Non-Breaking is often accidentally typed (Mac User: Opt+Space, after typing the "|", Opt+7);
@@ -86,7 +87,6 @@ syn match plsqlOperator "\<IS\\_s\+\(NOT\_s\+\)\?NULL\>"
8687"
8788" conditional compilation Preprocessor directives and sqlplus define sigil
8889syn match plsqlPseudo " $[$a-z][a-z0-9$_#]*"
89- syn match plsqlPseudo " &"
9090
9191syn match plsqlReserved " \<\( CREATE\| THEN\| UPDATE\| INSERT\| SET\)\> "
9292syn match plsqlKeyword " \<\( REPLACE\| PACKAGE\| FUNCTION\| PROCEDURE\| TYPE|BODY\| WHEN\| MATCHED\)\> "
@@ -591,18 +591,18 @@ syn match plsqlEND "\<END\>"
591591syn match plsqlISAS " \<\( IS\| AS\)\> "
592592
593593" Various types of comments.
594- syntax region plsqlCommentL start =" --" skip =" \\ $" end =" $" keepend extend contains =@plsqlCommentGroup,plsqlSpaceError,plsqlIllegalSpace
594+ syntax region plsqlCommentL start =" --" skip =" \\ $" end =" $" keepend extend contains =@plsqlCommentGroup,plsqlSpaceError,plsqlIllegalSpace,plsqlSqlplusDefine
595595if get (g: ," plsql_fold" ,0 ) == 1
596596 syntax region plsqlComment
597597 \ start = " /\* " end = " \* /"
598598 \ extend
599- \ contains= @p lsqlCommentGroup,plsqlSpaceError,plsqlIllegalSpace
599+ \ contains= @p lsqlCommentGroup,plsqlSpaceError,plsqlIllegalSpace,plsqlSqlplusDefine
600600 \ fold
601601else
602602 syntax region plsqlComment
603603 \ start = " /\* " end = " \* /"
604604 \ extend
605- \ contains= @p lsqlCommentGroup,plsqlSpaceError,plsqlIllegalSpace
605+ \ contains= @p lsqlCommentGroup,plsqlSpaceError,plsqlIllegalSpace,plsqlSqlplusDefine
606606endif
607607syn cluster plsqlCommentAll contains =plsqlCommentL,plsqlComment
608608
@@ -625,23 +625,23 @@ syn match plsqlFloatLiteral contained "\.\(\d\+\([eE][+-]\?\d\+\)\?\)[fd]\?"
625625" double quoted strings in SQL are database object names. Should be a subgroup of Normal.
626626" We will use Character group as a proxy for that so color can be chosen close to Normal
627627syn region plsqlQuotedIdentifier matchgroup =plsqlOperator start =+ n\? "+ end =+ "+ keepend extend
628- syn cluster plsqlIdentifiers contains =plsqlIdentifier,plsqlQuotedIdentifier
628+ syn cluster plsqlIdentifiers contains =plsqlIdentifier,plsqlQuotedIdentifier,plsqlSqlPlusDefine
629629
630630" quoted string literals
631631if get (g: ," plsql_fold" ,0 ) == 1
632- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? '+ skip =+ ''+ end =+ '+ fold keepend extend
633- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\z ([^[(<{]\) + end=+\z 1'+ fold keepend extend
634- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'<+ end =+ >'+ fold keepend extend
635- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'{+ end =+ }'+ fold keepend extend
636- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'(+ end =+ )'+ fold keepend extend
637- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\[ + end =+ ]'+ fold keepend extend
632+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? '+ skip =+ ''+ end =+ '+ contains = plsqlSqlplusDefine fold keepend extend
633+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\z ([^[(<{]\) + end=+\z 1'+ contains=plsqlSqlplusDefine fold keepend extend
634+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'<+ end =+ >'+ contains = plsqlSqlplusDefine fold keepend extend
635+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'{+ end =+ }'+ contains = plsqlSqlplusDefine fold keepend extend
636+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'(+ end =+ )'+ contains = plsqlSqlplusDefine fold keepend extend
637+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\[ + end =+ ]'+ contains = plsqlSqlplusDefine fold keepend extend
638638else
639- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? '+ skip =+ ''+ end =+ '+
640- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\z ([^[(<{]\) + end=+\z 1'+
641- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'<+ end =+ >'+
642- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'{+ end =+ }'+
643- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'(+ end =+ )'+
644- syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\[ + end =+ ]'+
639+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? '+ skip =+ ''+ end =+ '+ contains = plsqlSqlplusDefine
640+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\z ([^[(<{]\) + end=+\z 1'+ contains=plsqlSqlplusDefine
641+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'<+ end =+ >'+ contains = plsqlSqlplusDefine
642+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'{+ end =+ }'+ contains = plsqlSqlplusDefine
643+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'(+ end =+ )'+ contains = plsqlSqlplusDefine
644+ syn region plsqlStringLiteral matchgroup =plsqlOperator start =+ n\? q'\[ + end =+ ]'+ contains = plsqlSqlplusDefine
645645endif
646646
647647syn keyword plsqlBooleanLiteral TRUE FALSE
@@ -839,6 +839,7 @@ hi def link plsqlTypeAttribute StorageClass
839839hi def link plsqlTodo Todo
840840
841841hi def link plsqlIllegalSpace Error
842+ hi def link plsqlSqlPlusDefine PreProc
842843hi def link plsqlSqlPlusCommand PreProc
843844hi def link plsqlSqlPlusRunFile Include
844845hi def link plsqlSqlPlusCommentL Comment
0 commit comments