On Wed, 15 Aug 2018, Rik Kabel wrote:

On 8/15/2018 03:07, Hans Hagen wrote:
On 8/15/2018 5:31 AM, Aditya Mahajan wrote:
On Tue, 14 Aug 2018, Rik Kabel wrote:

I really think, though, that a buffers.strip function would be the way to go, instead of futzing after the damage is done.

In lua, buffers.getcontent('name') gives the contents of the buffer labelled 'name'. You can post-process this in whatever way you want. For example, you could write a lua function userdata.strip that strips the leading and ending black spaces from a string, and then call

context(userdata.strip(buffers.getcontent('name)))
local s = [[

foo

bar


bar

]]

print(string.fullstrip(s))


So, it looks likethe following is closer to working for me in a simple test harness, but not in my full-blown work:

  
\dontleavehmode{\llap{StripA~}}\ctxlua{context(utilities.strings.striplines(string.gsub(buffers.getcontent("TestBuffer"),"^\\relax",""),"prune"))}

(or similar with string.fullstrip).

However, it fails when the buffer starts with an unescaped left square bracket. That is probably why the \relax is inserted, and I can see that it is not a simple job to handle this. So, I will accept that I must either append [] or get rid of the open layout for these cases.

I suspect that the issue in the larger project has to do with quoting for the RE ("^\\relax") since compilation fails with:

  %% \stopAttribution ...getcontent("Attribution"),"^\\
  %% relax","")))}\stopparagrap...

Any pointers on such quoting would be appreciated.

Please create a MWE.

Aditya
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to