Example #1
0
  def ToggleLogs( self, *filenames ):
    logfiles = self.GetLogfiles()
    if not filenames:
      sorted_logfiles = sorted( list( logfiles ) )
      try:
        logfile_index = vimsupport.SelectFromList(
          'Which logfile do you wish to open (or close if already open)?',
          sorted_logfiles )
      except RuntimeError as e:
        vimsupport.PostVimMessage( str( e ) )
        return

      logfile = logfiles[ sorted_logfiles[ logfile_index ] ]
      if not vimsupport.BufferIsVisibleForFilename( logfile ):
        self._OpenLogfile( logfile )
      else:
        self._CloseLogfile( logfile )
      return

    for filename in set( filenames ):
      if filename not in logfiles:
        continue

      logfile = logfiles[ filename ]

      if not vimsupport.BufferIsVisibleForFilename( logfile ):
        self._OpenLogfile( logfile )
        continue

      self._CloseLogfile( logfile )
def BufferIsVisibleForFilename_test():
    buffers = [{
        'number': 1,
        'filename': os.path.realpath('visible_filename'),
        'window': 1
    }, {
        'number': 2,
        'filename': os.path.realpath('hidden_filename'),
    }]

    with patch('vim.buffers', buffers):
        eq_(vimsupport.BufferIsVisibleForFilename('visible_filename'), True)
        eq_(vimsupport.BufferIsVisibleForFilename('hidden_filename'), False)
        eq_(vimsupport.BufferIsVisibleForFilename('another_filename'), False)
Example #3
0
  def ToggleLogs( self, stdout = True, stderr = True ):
    if ( stdout and
         vimsupport.BufferIsVisibleForFilename( self._server_stdout ) or
         stderr and
         vimsupport.BufferIsVisibleForFilename( self._server_stderr ) ):
      return self._CloseLogs( stdout = stdout, stderr = stderr )

    # Close hidden logfile buffers if any to keep a clean state
    self._CloseLogs( stdout = stdout, stderr = stderr )

    try:
      self._OpenLogs( stdout = stdout, stderr = stderr )
    except RuntimeError as error:
      vimsupport.PostVimMessage( 'YouCompleteMe encountered an error when '
                                 'opening logs: {0}.'.format( error ) )
Example #4
0
    def ToggleLogs(self, *filenames):
        logfiles = self.GetLogfiles()
        if not filenames:
            vimsupport.PostVimMessage('Available logfiles are:\n'
                                      '{0}'.format('\n'.join(
                                          sorted(list(logfiles)))))
            return

        for filename in set(filenames):
            if filename not in logfiles:
                continue

            logfile = logfiles[filename]

            if not vimsupport.BufferIsVisibleForFilename(logfile):
                self._OpenLogfile(logfile)
                continue

            self._CloseLogfile(logfile)