Howto modify selection from replace buffer (FindAdv)

Kornel Benko kornel at lyx.org
Fri Jan 8 10:39:29 UTC 2021


I have problems to _use_ matched substrings in replace-mode.

For instance given regular expression containing some groups, like
	'(xxxx)(zzzz)(yyyy)'
and I want to change the found value to 'yyyyzzzzxxxx', so in regex I would write
	'\3\2\1'

Now the selection contains '\3\2\1', this is selected (in lyxfind.cpp:findAdvReplace())
with
		cap::pasteParagraphList(cur, repl_buffer.paragraphs(),
                                        repl_buffer.params().documentClassPtr(),
                                        bv->buffer().errorList("Paste"));
                LYXERR(Debug::FIND, "After pasteParagraphList() cur=" << cur << endl);
                sel_len = repl_buffer.paragraphs().begin()->size();
and then follows
	bv->putSelectionAt(DocIterator(cur), sel_len, !opt.forward);
        bv->processUpdateFlags(Update::Force);

How can I modify the data prior to inserting into buffer ?
The values of '\1', '\2', '\3' are known here, but are not used.

	Kornel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: Digitale Signatur von OpenPGP
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20210108/32cbd095/attachment.asc>


More information about the lyx-devel mailing list