Ability to merge rows

I would like to use this app for paragraphing writing. To that end, I would like this app to be able to combine multiple lists into one list.

Like this

  • abc.
  • def.
  • hij.

β†’

  • abc. def. hij.

I’m not sure if this makes sense for a built in command, is this a standard thing that other apps do? If so can you point me to those apps?

The good news is I think this is a perfect situation for a script solution. Can you explain a little more on how exactly the command should work? Does it work on the entire outline? The current selection? Children of the current selection?

This feature once existed in an outliner called MORE for Mac, but no outliner currently implements this feature.
It is intended to be merged by selecting children of any level from each other (i.e. Children of the current selection).
Ideally, this would work by simply pressing a single command, but it can also be accomplished by scripting.

Please try this script on the following outline:

Parent
	one
	two
	three

Place text caret in β€œParent” row. Then run script. End result should look like this:

Parent
	one β€’ two β€’ three
tell front document of application "Bike"
	tell selection row
		set entireContents to entire contents
		
		-- Do nothing if no contained rows
		if entireContents is equal to {} then
			return
		end if
		
		-- Collect names of all contained rows
		set names to {}
		repeat with each in entireContents
			copy name of each to end of names
		end repeat
		
		-- Concatinate row names into single string
		set saveTID to AppleScript's text item delimiters
		set AppleScript's text item delimiters to " β€’ "
		set concatinatedNames to names as text
		set AppleScript's text item delimiters to saveTID
		
		-- Delete existing rows and replace with single concatinated row
		delete rows
		make row with properties {name:concatinatedNames}
	end tell
end tell
1 Like

I used the script you gave me and it worked (saved as an application). Thank you!

2 Likes