Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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