the client doesn't hold the task manager anymore, instead it is now a
singleton that all objects dump their tasks into to be managed.
This allows to better separate the responsibilities of the various
virtual-objects. The client now is also a module-singleton which allows
us to remove that ugly global variable.
fixup: uses relative imports instead that absolute ones with Codemp in front.
rename of codemp_client.py into just client.py
Former-commit-id: 4a0cc20e82f9631931ba2f61379a61c461b1f291
fix: TaskManager, properly implement the stopping logic: Tasks in asyncio when .cancel()'ed are not immediatelly stopped.
but only a request of cancellation is made. subsequently awaiting the task allows it to raise a cancelledError exception,
do any necessary cleanup (finally block).
chore: removed unused import in lib.
Former-commit-id: 04f294c50b180e3676fd026d9a47732cdf6511a6
feat: Added single Join command
chore: separated input handlers and commands, minor cleanup.
Former-commit-id: 29a49bd8dbdeaf24f988e0a382e74d7e14d957a8
Changed how to get from a sublime view to a virtual buffer by means of tags. (maybe slow)
added some syntactic sugar
Former-commit-id: 2003fe0838af7e47258c6d10d84e2142dfa3da1b