Backspacing causes child items to be lost

Start with

Text1
	Text1.1
	Text1.2
		Text1.2.1
		Text1.2.2

Collapse Text1.2 and place cursor at the beginning of Text 1.2 where the pipe char is below:

Text1
	Text1.1
	|Text1.2

Then hit backspace, and everything inside Text1.2 is lost

aargh, the indents were lost in the edits. here are screenshots
Screenshot 2022-05-20 at 16.55.02

Screenshot 2022-05-20 at 16.55.50

I’ve fixed your original post by adding ``` before and after each code section.

I agree that behavior should probably be changed, here’s the logic behind it though. In text mode Bike works like a text editor… but since it’s an outliner there are some cases that don’t map perfectly.

For example if a row is collapsed and you indent it you probably want to also indent the contained collapsed rows. Same with other movement actions.

For that reason my mental model is that when a row is collapsed those contained rows are part of that item. And when you do that delete action it has the internal effect of deleting “Text1.2”, and so the code is also deleting the contained items since they are part of it.

Note that you get different behavior if you do the same action with “Text1.2” expanded.

But I agree, this model probably isn’t good for delete case. I’ll revisit that design.

1 Like

the behaviour when expanded is reasonable.

I agree that the existing behavior when the row is expanded is good. And I don’t think that performing that action when the row is collapsed is something that would ever occur to me. But I can see the reason for revisiting that situation.

the reason i did that action was because it’s just a simple way to delete the previous parent, using a bunch of backspacing when my cursor is already in the right place. the backspace key is close to hand, so i use it a lot.

I think this behavior is fixed in Bike 1.2 Preview, please give it a try and let me know.

fixed!

1 Like