How to make line based parsing of markdown as done before in CM 5

Sorry, I may not have been clear, what I mean is, because the mark decoration changes when a user may put a space after a word to write another word, the decoration would be removed, as it wouldn’t be recognised by the parser.

Here is an example, using basicSetup with markdown language:
Screen-Recording-2022-04-11-at-1.55.47-PM

You can how this may be a problem when someone might be writing a paragraph. You can also see how towards the end of my gif, that the length of the decoration is much longer than without any decoration, which is also not ideal.

What I am trying to make is something like this(this is Obsidian, an closed source app also using CM6):
Screen-Recording-2022-04-11-at-2.13.56-PM

You can see that the parser here is not being exact when it comes to the ending of the line, you can see when there is a space between the word and ***, the parser is not removing the decoration as happening before.

I am not certain behind the logic here, on how the parser is working, as per my knowledge, this is very similar to CM5s parser, where if the starting *** is not ended, the ending is automatically assumed to be the end of the paragraph, as shown here:

If I where to want to use this whats my best bet? Right now I am working on creating a custom subpar parser, build on top of the default parser to do this, so the default parser states where paragraphs are on a plugin decoration extension, and from there I parser the paragraph using my custom parser using similar logic to the one given above.

Is there a better way to achieve this?

Thanks.