Rather busy right now... So unfortunately this may take a while.
Based on a really quick look (and almost certainly having missed out various important details)
What is the whole "chunk" business? Some kind of coloring?
If so, just a thought: SynEdit has various coloring methods of its own, and they could be extended. The most natural would be to apply the current highlighter. (E.g. in pascal, that would take care of keywords and lots of stuff). I am aware that leaves some requirements out...
Anyway, supporting costum HL/markup/coloring helpers should be fine. But then they should be entirely optional. (Except an API needs to be agreed on and implemented).
Technically the entire drop down could be drawn as if it was a synedit, and the list could be the (virtual) text buffer.
But it doesn't have to do it that way. However the ability to include a SynHighlighter should be minded as a *later* possibility (I haven't checked if that would go with the merge request)
---
Depending on that, if the new stringlist, is for the markup only, then it should be created in a "factory" method, that could be hooked by the coloring plugin.
---
I will see when I find some time for a more detailed look.