<table><tr><td style="">turbov created this revision.<br />Restricted Application added a project: Frameworks.<br />Restricted Application added a subscriber: Frameworks.
</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/D7175" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>CMake syntax has been redesigned to pursue the following goals:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">the former generator has used an output of <tt style="background: #ebebeb; font-size: 13px;">cmake --help</tt> (and friends) commands, which is quite informal (not a well formed) and error prune</li>
<li class="remarkup-list-item">the current syntax was really out of date</li>
</ul>

<p>The new approach is to use a trivial Python script, which uses a prepared YAML data file and Jinja template to render the resulting syntax file.<br />
Key features of the new implementation are:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">every command highlight only related named parameters -- e.g. <tt style="background: #ebebeb; font-size: 13px;">add_library</tt> do not have <tt style="background: #ebebeb; font-size: 13px;">TARGET</tt> named option, so it doesn't highlighted in this context</li>
<li class="remarkup-list-item">new highlight classes has introduced to distinct property names, aliased (imported) targets, special non-named arguments...</li>
<li class="remarkup-list-item">reuse RST syntax for comments</li>
<li class="remarkup-list-item">input data now in VCS and trackable</li>
</ul>

<p>there is still some work to do, but I've just want to know is there any interest in this approach...</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/D7175" rel="noreferrer">https://phabricator.kde.org/D7175</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>data/generators/cmake-gen.sh<br />
data/generators/cmake.xml.tpl<br />
data/generators/cmake.yaml<br />
data/generators/generate-cmake-syntax.py<br />
data/syntax/cmake.xml</div></div></div><br /><div><strong>To: </strong>turbov<br /><strong>Cc: </strong>Frameworks<br /></div>