From: <va...@us...> - 2008-03-28 04:34:44
|
Revision: 12326 http://jedit.svn.sourceforge.net/jedit/?rev=12326&view=rev Author: vanza Date: 2008-03-27 21:34:41 -0700 (Thu, 27 Mar 2008) Log Message: ----------- SF Patch #1845842: perl.xml qq([test) syntax higlighting broken Apply a slightly modified version of the provided patch. Modified Paths: -------------- jEdit/trunk/modes/perl.xml Modified: jEdit/trunk/modes/perl.xml =================================================================== --- jEdit/trunk/modes/perl.xml 2008-03-26 19:32:23 UTC (rev 12325) +++ jEdit/trunk/modes/perl.xml 2008-03-28 04:34:41 UTC (rev 12326) @@ -124,11 +124,12 @@ <END>"</END> </SPAN> - <!-- apostroph literals --> + <!-- apostrophe literals --> <SPAN TYPE="LITERAL1" DELEGATE="APOSTR"> <BEGIN>'</BEGIN> <END>'</END> </SPAN> + <SEQ_REGEXP TYPE="LITERAL1">\b\w+\b(?=\s*=>)</SEQ_REGEXP> <!-- options: -text --> <SEQ_REGEXP HASH_CHAR="-" TYPE="LITERAL1">-[\p{Lower}]\w+</SEQ_REGEXP> @@ -195,19 +196,79 @@ <!-- /Regexp/, avoid confusion with a sequence of two divisions! --> <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="/" - AT_WORD_START="TRUE">/.*?[^\\]/[cgimosx]*(?!\s*[\d\$\@\(\-])</SEQ_REGEXP> + AT_WORD_START="TRUE">/.*?[^\\]/([cgimosx]+\b|(?=[^cgimosx])|$)(?!\s*[\d\$\@\(\{\-A-Z"'])</SEQ_REGEXP> - <!-- q//, qq//, qr//, qx// --> + <!-- q//, qq//, qx// --> <SPAN_REGEXP HASH_CHAR="q" - TYPE="MARKUP" + TYPE="LITERAL1" + ESCAPE="\" MATCH_TYPE="OPERATOR" - DELEGATE="QUOTED" AT_WORD_START="TRUE" NO_LINE_BREAK="FALSE"> - <BEGIN>q(?:|[qrxw])([#\[{(/|])</BEGIN> + <BEGIN>q[qxw]?([#/\|])</BEGIN> <END>~1</END> </SPAN_REGEXP> + <SPAN_REGEXP HASH_CHAR="q" + MATCH_TYPE="OPERATOR" + DELEGATE="QUOTED_BRACKET" + AT_WORD_START="TRUE" + NO_LINE_BREAK="FALSE"> + <BEGIN>q[qxw]?(\[)</BEGIN> + <END>~1</END> + </SPAN_REGEXP> + <SPAN_REGEXP HASH_CHAR="q" + MATCH_TYPE="OPERATOR" + DELEGATE="QUOTED_BRACE" + AT_WORD_START="TRUE" + NO_LINE_BREAK="FALSE"> + <BEGIN>q[qxw]?(\{)</BEGIN> + <END>~1</END> + </SPAN_REGEXP> + <SPAN_REGEXP HASH_CHAR="q" + MATCH_TYPE="OPERATOR" + DELEGATE="QUOTED_PAREN" + AT_WORD_START="TRUE" + NO_LINE_BREAK="FALSE"> + <BEGIN>q[qxw]?(\()</BEGIN> + <END>~1</END> + </SPAN_REGEXP> + <!-- qr// should match other regex highlight colors --> + <SPAN_REGEXP HASH_CHAR="q" + ESCAPE="\" + TYPE="LITERAL1" + MATCH_TYPE="OPERATOR" + AT_WORD_START="TRUE" + NO_LINE_BREAK="FALSE"> + <BEGIN>qr([#/\|])</BEGIN> + <END>~1</END> + </SPAN_REGEXP> + <SPAN_REGEXP HASH_CHAR="q" + DELEGATE="QUOTED_BRACKET" + MATCH_TYPE="OPERATOR" + AT_WORD_START="TRUE" + NO_LINE_BREAK="FALSE"> + <BEGIN>qr(\[)</BEGIN> + <END>~1</END> + </SPAN_REGEXP> + <SPAN_REGEXP HASH_CHAR="q" + DELEGATE="QUOTED_BRACE" + MATCH_TYPE="OPERATOR" + AT_WORD_START="TRUE" + NO_LINE_BREAK="FALSE"> + <BEGIN>qr(\{)</BEGIN> + <END>~1</END> + </SPAN_REGEXP> + <SPAN_REGEXP HASH_CHAR="q" + DELEGATE="QUOTED_PAREN" + ESCAPE="\" + MATCH_TYPE="OPERATOR" + AT_WORD_START="TRUE" + NO_LINE_BREAK="FALSE"> + <BEGIN>qr(\()</BEGIN> + <END>~1</END> + </SPAN_REGEXP> + <!-- tr/// transliteration --> <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="tr" AT_WORD_START="TRUE">tr\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]*</SEQ_REGEXP> @@ -717,15 +778,35 @@ </RULES> <!-- Used for quote-like operators; just makes sure the brackets are balanced. --> - <RULES SET="QUOTED" DEFAULT="LITERAL1"> - <SPAN_REGEXP NO_LINE_BREAK="FALSE" + <RULES SET="QUOTED_BRACKET" DEFAULT="LITERAL1" ESCAPE="\"> + <SPAN NO_LINE_BREAK="FALSE" TYPE="LITERAL1" MATCH_TYPE="OPERATOR" - DELEGATE="QUOTED" - HASH_CHARS="|[{(/"> - <BEGIN>([\[{\(])</BEGIN> - <END>~1</END> - </SPAN_REGEXP> + DELEGATE="QUOTED_BRACKET" + HASH_CHARS="["> + <BEGIN>[</BEGIN> + <END>]</END> + </SPAN> </RULES> + <RULES SET="QUOTED_BRACE" DEFAULT="LITERAL1" ESCAPE="\"> + <SPAN NO_LINE_BREAK="FALSE" + TYPE="LITERAL1" + MATCH_TYPE="OPERATOR" + DELEGATE="QUOTED_BRACE" + HASH_CHARS="{"> + <BEGIN>{</BEGIN> + <END>}</END> + </SPAN> + </RULES> + <RULES SET="QUOTED_PAREN" DEFAULT="LITERAL1" ESCAPE="\"> + <SPAN NO_LINE_BREAK="FALSE" + TYPE="LITERAL1" + MATCH_TYPE="OPERATOR" + DELEGATE="QUOTED_PAREN" + HASH_CHARS="("> + <BEGIN>(</BEGIN> + <END>)</END> + </SPAN> + </RULES> </MODE> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |