Search code examples
parsingrebolred-lang

Parse doesn't work for insertion after last line of some keyword


I want to insert new sentence under last line where keyword is found, but it doesn't work, seems simple at first:

    source: {
        bla bla bla bla
        bla bla bla bla
        bla bla keyword bla bla
        bla bla keyword bla bla
        bla bla keyword bla bla

        bla bla bla bla
        bla bla bla bla
        bla bla bla bla
    }

    rules: [
        some [
            thru "keyword" to newline skip
        ]
        mark: ([insert mark "stranger"]) 
        to end
    ]

    parse source rules

Solution

  • Your block evaluates to the same block. You have to use

    mark: (insert mark "stranger") 
    

    without the block.

    And don't use source as source is already defined as a mezzanine function.