def _track_change(self): self._should_update_textobjects = True try: inserted_char = _vim.as_unicode(_vim.eval('v:char')) except UnicodeDecodeError: return if sys.version_info >= (3, 0): if isinstance(inserted_char, bytes): return else: if not isinstance(inserted_char, unicode): return try: if inserted_char == '': before = _vim.buf.line_till_cursor if before and before[-1] == self._last_change[0] or \ self._last_change[1] != vim.current.window.cursor[0]: self._try_expand(autotrigger_only=True) finally: self._last_change = (inserted_char, vim.current.window.cursor[0]) if self._should_reset_visual and self._visual_content.mode == '': self._visual_content.reset() self._should_reset_visual = True