Hi Izaac.
That is the current programmed list button behavior, but your are right it not the expected or the better we can have.
As you have noticed, the rules for a list is:
1. Line must start with a hyphen o a plus sign (-, +, unordered list, ordered list)
2. A sub list must be indented with a white space per level.
3. A empty list item or two spaces closes the list.
So, given those rules, what would be the expected behavior of the list button?
If no text is selected:
If cursor is not in the first line:
Insert a newline
Insert a hyphen (plus sign) in front of the line, then go to the end of that line and then insert two newlines?
Else, if text is selected:
If cursor is not in the first line:
Insert a newline
Split the text (newlines), that is, get the lines separated.
For each line, append a hyphen in front of them
Insert two newlines.
Text is very variable a volatile, so I'm always having problems to identify what would be the best behavior of a particular formatting option, because they are a lot of possible cases.
So, what do you think?
Kind regards