I do want to emphasize that our IntelliPrompt features are not officially supported in async scenarios. If you have concerns about any functionality with IntelliPrompt not working as expected, first test if the functionality works using synchronous code to isolate any issues related to async operations.
It is also worth noting that IntelliPrompt will need to make changes to the UI and should not execute on a worker thread. You may want to execute your async logic using the "view.VisualElement.Dispatcher" to avoid thread-related issues with updating UI controls.
I apologize in advance, but I'm not entirely clear on exactly what you're asking.
1) You ask about changing session items when "complexity" is opened, but I don't know what you mean by "complexity". My assumption is that a user has selected something from a completion list and then you want to present a new completion list with different items? This is typically handled by allowing the previous session to close and then starting a new session. If you are attempting to clear and repopulate the items of the existing session and are encountering issues, please be more specific about exactly what errors you are experiencing and that you are running your code on the dispatcher as noted above.
2) There are two similar concepts and I want to make sure we are talking about the correct one. A filter is used to limit the items that are displayed in the completion list. You might use this to only show methods, for instance. A matcher is used to determine which items in the session (including any filters) are matched by the partial text the user has typed and then the completion list only shows the matching items (also called "auto-shrink"). From the screenshot you posted in the follow-up comment, I assume what you want is a matcher. The Shorthand matcher should achieve a result similar to what you posted. Otherwise you can create a custom matcher to achieve what you are looking for. I posted links to both of those topics below as well as a link to the "Filters" topic for clarity on filter and matcher.
3) The ICompletionSession.Selection property is read-write. If you are having trouble setting a new selection, make sure you are running on the dispatcher as noted above. If you are having a specific issue setting selection and can reproduce it without async code, please let us know any error you are seeing.
Links to relevant topics...
Filters: https://www.actiprosoftware.com/docs/controls/wpf/syntaxeditor/user-interface/intelliprompt/completion-list#filters
Shorthand Matching: https://www.actiprosoftware.com/docs/controls/wpf/syntaxeditor/user-interface/intelliprompt/completion-list#shorthand-matching-algorithm
Custom Matching: https://www.actiprosoftware.com/docs/controls/wpf/syntaxeditor/user-interface/intelliprompt/completion-list#custom-matching-algorithms
ICompletionSession.Selection property: https://www.actiprosoftware.com/docs/controls/wpf/api/actiprosoftware.windows.controls.syntaxeditor.intelliprompt.icompletionsession#actiprosoftware_windows_controls_syntaxeditor_intelliprompt_icompletionsession_selection