<table><tr><td style="">dhaumann requested changes to this revision.<br />dhaumann added a comment.<br />This revision now requires changes to proceed.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D11543">View Revision</a></tr></table><br /><div><div><p>Cool! The patch already looks pretty good. Please address or comment on my questions.</p>
<p>And for a final round, I would like to have a review by another reviewer, since this patch is quite big, and I would like to avoid introducing regressions.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D11543#inline-57071">View Inline</a><span style="color: #4b4d51; font-weight: bold;">prolog.xml:508</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; "> <span style="color: #00702a"><Detect2Chars</span> <span style="color: #354bb3">column=</span><span style="color: #766510">"0"</span> <span style="color: #354bb3">char=</span><span style="color: #766510">"#"</span> <span style="color: #354bb3">char1=</span><span style="color: #766510">"!"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"1-comment"</span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"% italic predicates: w/ side effects"</span> <span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);"> <span style="color: #74777d"><!-- else fallthrough <span class="bright">(workaround broken fallthrough) </span>--></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);"> <span style="color: #00702a"><RegExpr</span> <span style="color: #354bb3">String=</span><span style="color: #766510">"&any;"</span> <span style="color: #354bb3">lookAhead=</span><span style="color: #766510">"true"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"clause"</span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Syntax Error"</span> <span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #74777d"><!-- else fallthrough --></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">So fallthrough is not broken anymore? I am especially asking, since KTextEditor still uses its own highlighting implementation. Meaning that it may work in KSyntaxHighlighting, but it may break KTextEditor.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D11543#inline-57083">View Inline</a><span style="color: #4b4d51; font-weight: bold;">sql-oracle.xml:2054</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; "> <span style="color: #00702a"><StringDetect</span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Keyword"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"#stay"</span> <span style="color: #354bb3">String=</span><span style="color: #766510">"begin"</span> <span style="color: #354bb3">beginRegion=</span><span style="color: #766510">"block"</span> <span style="color: #354bb3">insensitive=</span><span style="color: #766510">"true"</span><span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);"> <span style="color: #00702a"><<span class="bright">RegExpr</span></span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Keyword"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"#stay"</span> <span style="color: #354bb3">String=</span><span style="color: #766510">"<span class="bright">\bend\b</span>"</span> <span style="color: #354bb3">endRegion=</span><span style="color: #766510">"block"</span> <span style="color: #354bb3">insensitive=</span><span style="color: #766510">"true"</span><span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #00702a"><<span class="bright">WordDetect</span></span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Keyword"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"#stay"</span> <span style="color: #354bb3">String=</span><span style="color: #766510">"<span class="bright">end</span>"</span> <span style="color: #354bb3">endRegion=</span><span style="color: #766510">"block"</span> <span style="color: #354bb3">insensitive=</span><span style="color: #766510">"true"</span><span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; "> <span style="color: #00702a"><keyword</span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Keyword"</span> <span style="color: #354bb3">String=</span><span style="color: #766510">"keywords"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"#stay"</span><span style="color: #00702a">/></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Doesn't this introduce a regression, as you noted yourself? See updated test case? Or did you find a bug? How does the KTextEditor implementation behave (Kate, KWrite)?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D11543#inline-57093">View Inline</a><span style="color: #4b4d51; font-weight: bold;">sql.xml:8</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; "><span style="color: #74777d"><!-- kate: space-indent on; indent-width 2; replace-tabs on; --></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);"><span style="color: #00702a"><language</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"SQL"</span> <span style="color: #354bb3">version=</span><span style="color: #766510">"<span class="bright">3</span>"</span> <span style="color: #354bb3">kateversion=</span><span style="color: #766510">"2.4"</span> <span style="color: #354bb3">section=</span><span style="color: #766510">"Database"</span> <span style="color: #354bb3">extensions=</span><span style="color: #766510">"*.sql;*.SQL;*.ddl;*.DDL"</span> <span style="color: #354bb3">mimetype=</span><span style="color: #766510">"text/x-sql"</span> <span style="color: #354bb3">casesensitive=</span><span style="color: #766510">"0"</span> <span style="color: #354bb3">author=</span><span style="color: #766510">"Yury Lebedev (yurylebedev@mail.ru)"</span> <span style="color: #354bb3">license=</span><span style="color: #766510">"LGPL"</span><span style="color: #00702a">></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #00702a"><language</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"SQL"</span> <span style="color: #354bb3">version=</span><span style="color: #766510">"<span class="bright">4</span>"</span> <span style="color: #354bb3">kateversion=</span><span style="color: #766510">"2.4"</span> <span style="color: #354bb3">section=</span><span style="color: #766510">"Database"</span> <span style="color: #354bb3">extensions=</span><span style="color: #766510">"*.sql;*.SQL;*.ddl;*.DDL"</span> <span style="color: #354bb3">mimetype=</span><span style="color: #766510">"text/x-sql"</span> <span style="color: #354bb3">casesensitive=</span><span style="color: #766510">"0"</span> <span style="color: #354bb3">author=</span><span style="color: #766510">"Yury Lebedev (yurylebedev@mail.ru)"</span> <span style="color: #354bb3">license=</span><span style="color: #766510">"LGPL"</span><span style="color: #00702a">></span>
</div><div style="padding: 0 8px; margin: 0 4px; "> <span style="color: #00702a"><highlighting></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Please raise to kateversion="5.0", since WordDetect was added later.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D11543#inline-57099">View Inline</a><span style="color: #4b4d51; font-weight: bold;">xharbour.xml:491</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; "> <span style="color: #00702a"><Detect2Chars</span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Operator"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"#stay"</span> <span style="color: #354bb3">char=</span><span style="color: #766510">"-"</span> <span style="color: #354bb3">char1=</span><span style="color: #766510">">"</span> <span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);"> <span style="color: #00702a"><<span class="bright">RegExpr</span></span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Number"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"#stay<span class="bright">"</span></span><span class="bright"> </span><span style="color: #354bb3"><span class="bright">String=</span></span><span class="bright"></span><span style="color: #766510"><span class="bright">"\d+</span>"</span> <span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #00702a"><<span class="bright">Int</span></span> <span style="color: #354bb3">attribute=</span><span style="color: #766510">"Number"</span> <span style="color: #354bb3">context=</span><span style="color: #766510">"#stay"</span> <span style="color: #00702a">/></span>
</div><div style="padding: 0 8px; margin: 0 4px; "> <span style="color: #00702a"></context></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Strictly speaking, the Int rule also matches negative numbers, whereas the previous rule only matched positive numbers. I am not sure what's correct, though...</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D11543#inline-57080">View Inline</a><span style="color: #4b4d51; font-weight: bold;">xmldebug.xml:3</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; "><span style="color: #304a96"><!DOCTYPE language SYSTEM "language.dtd"></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);"><span style="color: #00702a"><language</span> <span style="color: #354bb3">version=</span><span style="color: #766510">"<span class="bright">7</span>"</span> <span style="color: #354bb3">kateversion=</span><span style="color: #766510">"2.4"</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"XML (Debug)"</span> <span style="color: #354bb3">section=</span><span style="color: #766510">"Markup"</span> <span style="color: #354bb3">extensions=</span><span style="color: #766510">""</span> <span style="color: #354bb3">mimetype=</span><span style="color: #766510">""</span><span style="color: #00702a">></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #00702a"><language</span> <span style="color: #354bb3">version=</span><span style="color: #766510">"<span class="bright">8</span>"</span> <span style="color: #354bb3">kateversion=</span><span style="color: #766510">"2.4"</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"XML (Debug)"</span> <span style="color: #354bb3">section=</span><span style="color: #766510">"Markup"</span> <span style="color: #354bb3">extensions=</span><span style="color: #766510">""</span> <span style="color: #354bb3">mimetype=</span><span style="color: #766510">""</span><span style="color: #00702a">></span>
</div><div style="padding: 0 8px; margin: 0 4px; "> <span style="color: #00702a"><highlighting></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I believe DetectSpaces does not exist in kateview="2.4". Please raise to kateversion="5.0"</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D11543#inline-57104">View Inline</a><span style="color: #4b4d51; font-weight: bold;">zsh.xml:11</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">]>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);"><span style="color: #00702a"><language</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"Zsh"</span> <span style="color: #354bb3">version=</span><span style="color: #766510">"<span class="bright">2</span>"</span> <span style="color: #354bb3">kateversion=</span><span style="color: #766510">"2.4"</span> <span style="color: #354bb3">section=</span><span style="color: #766510">"Scripts"</span> <span style="color: #354bb3">extensions=</span><span style="color: #766510">"*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile"</span> <span style="color: #354bb3">mimetype=</span><span style="color: #766510">"application/x-shellscript"</span> <span style="color: #354bb3">casesensitive=</span><span style="color: #766510">"1"</span> <span style="color: #354bb3">author=</span><span style="color: #766510">"Jonathan Kolberg (bulldog98@kubuntu-de.org)"</span> <span style="color: #354bb3">license=</span><span style="color: #766510">"LGPL"</span><span style="color: #00702a">></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #00702a"><language</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"Zsh"</span> <span style="color: #354bb3">version=</span><span style="color: #766510">"<span class="bright">3</span>"</span> <span style="color: #354bb3">kateversion=</span><span style="color: #766510">"2.4"</span> <span style="color: #354bb3">section=</span><span style="color: #766510">"Scripts"</span> <span style="color: #354bb3">extensions=</span><span style="color: #766510">"*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile"</span> <span style="color: #354bb3">mimetype=</span><span style="color: #766510">"application/x-shellscript"</span> <span style="color: #354bb3">casesensitive=</span><span style="color: #766510">"1"</span> <span style="color: #354bb3">author=</span><span style="color: #766510">"Jonathan Kolberg (bulldog98@kubuntu-de.org)"</span> <span style="color: #354bb3">license=</span><span style="color: #766510">"LGPL"</span><span style="color: #00702a">></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Please increase kateversion="5.0".</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R216 Syntax Highlighting</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11543">https://phabricator.kde.org/D11543</a></div></div><br /><div><strong>To: </strong>nibags, Framework: Syntax Highlighting, dhaumann<br /><strong>Cc: </strong>dhaumann, Frameworks, michaelh, genethomas, ngraham, cullmann, vkrause<br /></div>