<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def select_extended_word(self, continuation_chars=('.',)):
 """ Performs extended word selection. Extended selection consists in selecting the word under cursor and any other words that are linked by a ``continuation_chars``. :param continuation_chars: the list of characters that may extend a word. """

        cursor = self._editor.textCursor()
        original_pos = cursor.position()
        start_pos = None
        end_pos = None
        # go left
        stop = False
        seps = self._editor.word_separators + [' ']
        while not stop:
            cursor.clearSelection()
            cursor.movePosition(cursor.Left, cursor.KeepAnchor)
            char = cursor.selectedText()
            if cursor.atBlockStart():
                stop = True
                start_pos = cursor.position()
            elif char in seps and char not in continuation_chars:
                stop = True
                start_pos = cursor.position() + 1
        # go right
        cursor.setPosition(original_pos)
        stop = False
        while not stop:
            cursor.clearSelection()
            cursor.movePosition(cursor.Right, cursor.KeepAnchor)
            char = cursor.selectedText()
            if cursor.atBlockEnd():
                stop = True
                end_pos = cursor.position()
                if char in seps:
                    end_pos -= 1
            elif char in seps and char not in continuation_chars:
                stop = True
                end_pos = cursor.position() - 1
        if start_pos and end_pos:
            cursor.setPosition(start_pos)
            cursor.movePosition(cursor.Right, cursor.KeepAnchor,
                                end_pos - start_pos)
            self._editor.setTextCursor(cursor)