Exemplo n.º 1
0
    def _JumpToLocation(self, definition_list):
        if len(definition_list) == 1:
            definition = definition_list[0]
            if definition.in_builtin_module():
                if definition.is_keyword:
                    vimsupport.PostVimMessage(
                        "Cannot get the definition of Python keywords.")
                else:
                    vimsupport.PostVimMessage(
                        "Builtin modules cannot be displayed.")
            else:
                vimsupport.JumpToLocation(definition.module_path,
                                          definition.line_nr,
                                          definition.column + 1)
        else:
            # multiple definitions
            defs = []
            for definition in definition_list:
                if definition.in_builtin_module():
                    defs.append( {'text': 'Builtin ' + \
                                 definition.description.encode( 'utf-8' ) } )
                else:
                    defs.append({
                        'filename':
                        definition.module_path.encode('utf-8'),
                        'lnum':
                        definition.line_nr,
                        'col':
                        definition.column + 1,
                        'text':
                        definition.description.encode('utf-8')
                    })

            vim.eval('setqflist( %s )' % repr(defs))
            vim.eval('youcompleteme#OpenGoToList()')
Exemplo n.º 2
0
    def _GoToDeclaration(self):
        location = self._LocationForGoTo('GetDeclarationLocation')
        if not location or not location.IsValid():
            vimsupport.PostVimMessage('Can\'t jump to declaration.')
            return

        vimsupport.JumpToLocation(location.filename_, location.line_number_,
                                  location.column_number_)
Exemplo n.º 3
0
 def _HandleGotoResponse(self):
     if isinstance(self._response, list):
         vimsupport.SetQuickFixList(
             [_BuildQfListItem(x) for x in self._response])
         vimsupport.OpenQuickFixList(focus=True, autoclose=True)
     else:
         vimsupport.JumpToLocation(self._response['filepath'],
                                   self._response['line_num'],
                                   self._response['column_num'])
Exemplo n.º 4
0
 def _HandleGotoResponse(self):
     if isinstance(self._response, list):
         vimsupport.SetQuickFixList(
             [_BuildQfListItem(x) for x in self._response])
         vim.eval('youcompleteme#OpenGoToList()')
     else:
         vimsupport.JumpToLocation(self._response['filepath'],
                                   self._response['line_num'],
                                   self._response['column_num'])
Exemplo n.º 5
0
 def _HandleGotoResponse(self):
     if isinstance(self._response, list):
         defs = [_BuildQfListItem(x) for x in self._response]
         vim.eval('setqflist( %s )' % repr(defs))
         vim.eval('youcompleteme#OpenGoToList()')
     else:
         vimsupport.JumpToLocation(self._response['filepath'],
                                   self._response['line_num'],
                                   self._response['column_num'])
Exemplo n.º 6
0
 def _GoToDefinition(self):
     """ Jump to definition of identifier under cursor """
     definition = self._GetResponse('/gotodefinition',
                                    self._DefaultParameters())
     if definition['FileName'] != None:
         vimsupport.JumpToLocation(definition['FileName'],
                                   definition['Line'], definition['Column'])
     else:
         vimsupport.PostVimMessage('Can\'t jump to definition')
Exemplo n.º 7
0
    def RunPostCommandActionsIfNeeded(self):
        if not self._is_goto_command or not self.Done() or not self._response:
            return

        if isinstance(self._response, list):
            defs = [_BuildQfListItem(x) for x in self._response]
            vim.eval('setqflist( %s )' % repr(defs))
            vim.eval('youcompleteme#OpenGoToList()')
        else:
            vimsupport.JumpToLocation(self._response['filepath'],
                                      self._response['line_num'] + 1,
                                      self._response['column_num'] + 1)