"Appending copy" command appends to clipboard (with separator) instead of replacing it

I find I need to copy multiple blocks of text and want them to be all one "paste" when I'm done so I don't have to keep switching between two documents. I'm imagining this command would allow an optional separator to be added to the task.

e.g., Let's say "Appending Copy" has its separator set to: ", "

I select "foo" and hit regular {copy} then
select "bar" and invoke {appending_copy}, and finally
select "baz" and {appending_copy}.

The result in the clipboard would be:
foo", "bar", "baz

I can now go to my 2nd document and type
"{paste}"
to have a finished list
"foo", "bar", "baz"

(suitable for use as, say, elements in a javascript array).

The app LaunchBar has this as a built in feature and it is awesome. When you hold Command and double-tap the C button, you hear the sound of a stapler and whatever text is currently highlighted is appended to the clipboard. I've been trying to recreate this in BTT and/ or Keyboard Maestro, but haven't had any luck yet.

Not exactly the same, but perhaps still useful.

here is a simple script that will append selected text to the current clipboard

async function appendToClipboard() {
		
    let currentClipboardContent = await get_clipboard_content({});
    let selectedText = await get_string_variable({variable_name:'selected_text'})
    let newClipboardContent = currentClipboardContent + selectedText;
    let result = await set_clipboard_content({content:newClipboardContent, format: 'NSPasteboardTypeString'})

}

You can run it via the "Run Real Java Script" action:

append_to_clipboard.bttpreset (2.4 KB)

If you want to add e.g. new lines adapt this line:

    let newClipboardContent = currentClipboardContent + selectedText;
    // with new lines inbetween
    let newClipboardContent = currentClipboardContent + '\n' + selectedText;

    // with three minuses inbetween
    let newClipboardContent = currentClipboardContent + '---' + selectedText;