On 08/12/2017 17:28, Mark Waddingham via use-livecode wrote:

On 2017-12-07 19:52, Richard Gaskin via use-livecode wrote:
Would it be possible/practical to extend the merge function to at
least allow things like control structures with non-LC stuff in
between them?
A LC Server script is an alternating sequence of code and text blocks. Once you have that alternating sequence, you could replace the text blocks with a call to a handler with a parameter which is a custom prop of the stack containing the text content.
Would it not be easier to transform the text blocks in to a (series of) "put" statement(s) ? Being "put"ted  is exactly what is going to happen to the text in the non-code blocks, so why not just do that.

Also, that means that the LC Server script can be turned into a script-only stack - which would feel more natural to me. And,  it would continue to be visible in-line, therefore retaining (more or less) the same self-documenting characteristic as the original script.

It's much more legible (to me) to replace

   <?lc if a = b then ?>
      <p>Some data that happens to be HTML</p>
   <?lc else ?>
      <p>Some other data that happens to be HTML</p>
   <?lc end if ?>

with

    if a = b then
     put "      <p>Some data that happens to be HTML</p> " & CR
   else
     put "      <p>Some other data that happens to be HTML</p> & CR
   end if

rather than

  if a = b then
     someHandler myPropertyName1
   else
     someHandler myPropertyName2
   end if

OK, OK, you need to handle quotes within the HTML - but it should be easy enough.

-- Alex.


_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to