<table><tr><td style="">dlevin created this revision.<br />dlevin added a reviewer: Framework: Syntax Highlighting.<br />Herald added projects: Kate, Frameworks.<br />Herald added subscribers: kde-frameworks-devel, kwrite-devel.<br />dlevin requested review of this revision.
</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/D16677">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Accurate implementation of BrightScript language, mostly used by Roku<br />
channel developers and documented at Roku SDK portal:</p>

<p><a href="https://sdkdocs.roku.com/display/sdkdoc/Roku+SDK+Documentation" class="remarkup-link" target="_blank" rel="noreferrer">https://sdkdocs.roku.com/display/sdkdoc/Roku+SDK+Documentation</a></p>

<p>Highlight sytax covers:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">function and sub definitions, both global and inline</li>
<li class="remarkup-list-item">comments: ' and REM</li>
<li class="remarkup-list-item">macros</li>
<li class="remarkup-list-item">print statement</li>
<li class="remarkup-list-item">library imports</li>
<li class="remarkup-list-item">literal type narrowing with: $, %, !, #, &</li>
<li class="remarkup-list-item">conditionals and loops with: if, for and while</li>
<li class="remarkup-list-item">built-in and library functions</li>
<li class="remarkup-list-item">standard Roku Scene Graph keywords: m, top, global</li>
<li class="remarkup-list-item">array, function calls</li>
<li class="remarkup-list-item">goto and label statements</li>
<li class="remarkup-list-item">built-in types used in function/sub arguments and return</li>
<li class="remarkup-list-item">constants: true, false, invalid</li>
<li class="remarkup-list-item">distinct assignment and unary/binary ops, e.g.: if a = b c = d ' first = is a comparison, second = is an assignment</li>
<li class="remarkup-list-item">invalid syntax detection in some cases</li>
</ul>

<p>No folding is supported at this point.</p></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/D16677">https://phabricator.kde.org/D16677</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>autotests/html/brightscript.brs.html<br />
autotests/input/brightscript.brs<br />
autotests/input/brightscript.brs.syntax<br />
autotests/reference/brightscript.brs.ref<br />
data/syntax/brightscript.xml</div></div></div><br /><div><strong>To: </strong>dlevin, Framework: Syntax Highlighting<br /><strong>Cc: </strong>kwrite-devel, kde-frameworks-devel, michaelh, ngraham, bruns, demsking, cullmann, sars, dhaumann<br /></div>