code: def select_extended_word(self, continuation_chars=('.',)):
          
          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)
docs: 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.