Class: CommandT::Scanner::MRUBufferScanner

Inherits:
BufferScanner show all
Includes:
PathUtilities
Defined in:
lib/command-t/scanner/mru_buffer_scanner.rb

Overview

Returns a list of all open buffers, sorted in MRU order.

Instance Method Summary collapse

Instance Method Details

#pathsObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/command-t/scanner/mru_buffer_scanner.rb', line 10

def paths
  # Collect all buffers that have not been used yet.
  unused_buffers = (0..(::VIM::Buffer.count - 1)).map do |n|
    buffer = ::VIM::Buffer[n]
    buffer if buffer.name && !MRU.used?(buffer)
  end

  # Combine all most recently used buffers and all unused buffers, and
  # return all listed buffer paths.
  (unused_buffers + MRU.stack).map do |buffer|
    if buffer && buffer.name
      relative_path_under_working_directory buffer.name
    end
  end.compact.reverse
end