def command(self, data, handlers, url): acid_session = self.nvim.vars.get('acid_current_session') if get_customization_variable(self.nvim, 'acid_log_messages', 0): handlers = (i for i in (*handlers, self.get_handler('Log').configure( **self.context()))) if not 'op' in data: data.update({'op': 'eval'}) if acid_session: data.update({'session': acid_session}) if url not in self.sessions.sessions and url not in self.fired_urls: self.nvim.command("doautocmd User AcidPreConnectNrepl") self.fired_urls.add(url) send(self.sessions, url, handlers, data)
def call(cls, acid, context, *args): inst = cls.__instances__[cls.name] payload = inst.prepare_payload(*args) if payload is None: return if not 'op' in payload: payload.update({'op': cls.op}) handlers_var = "{}_command_handler".format(convert_case(inst.cmd_name)) custom = get_customization_variable(acid.nvim, handlers_var, inst.handlers) handlers = (inst.start_handler(context, context['handlers'].get(h), *args) for h, *args in items(custom)) acid.command(payload, handlers)