Cancels the last queued write action. All previous write actions already have been cancelled.
Performs a single action, like computing completion results or providing workspace symbols. With ReadPriority.Normal priority (the default), read actions will only be executed after all write actions have finished. They will be executed concurrently if possible.
If a write action is currently running, the read action will be queued up and executed afterwards. If a new write action is queued up while a read action is waiting, the write action will receive priority and will be handled before the read action.
With ReadPriority.Immediate priority, the read action is executed right away, concurrently to any running write action. Use this only if the required workspace/document state has already been awaited by other means.
Note that read actions are not allowed to modify anything in the workspace. Please use write instead. They also cannot be cancelled, independent of their priority, even if a write action is queued up.
Optionalpriority: ReadPriorityPerforms a single async action, like initializing the workspace or processing document changes. Only one action will be executed at a time.
When another action is queued up, the token provided for the action will be cancelled. Assuming the action makes use of this token, the next action only has to wait for the current action to finish cancellation.
Utility service to execute mutually exclusive actions.