| 107 | self.wait_for_current_buffer() |
| 108 | |
| 109 | def wait_for_current_buffer(self): |
| 110 | bvars = self.server.current.buffer.vars |
| 111 | chanid = self.server.channel_id |
| 112 | |
| 113 | self.server.command('augroup nvr') |
| 114 | self.server.command(f'autocmd BufDelete <buffer> silent! call rpcnotify({chanid}, "BufDelete")') |
| 115 | self.server.command(f'autocmd VimLeave * if exists("v:exiting") && v:exiting > 0 | silent! call rpcnotify({chanid}, "Exit", v:exiting) | endif') |
| 116 | self.server.command('augroup END') |
| 117 | |
| 118 | if 'nvr' in bvars: |
| 119 | if chanid not in bvars['nvr']: |
| 120 | bvars['nvr'] = [chanid] + bvars['nvr'] |
| 121 | else: |
| 122 | bvars['nvr'] = [chanid] |
| 123 | |
| 124 | self.wait += 1 |
| 125 | |
| 126 | def execute(self, arguments, cmd='edit', silent=False, wait=False): |
| 127 | cmds, files = split_cmds_from_files(arguments) |