Class: MiniReadline::FileFolderSource

Inherits:
Object
  • Object
show all
Defined in:
lib/mini_readline/read_line/edit/auto_complete/file_folder_source.rb

Overview

The data source for auto-complete.

Instance Method Summary collapse

Constructor Details

#initialize(_options) ⇒ FileFolderSource

Create a new file/folder auto-data source. NOP



10
# File 'lib/mini_readline/read_line/edit/auto_complete/file_folder_source.rb', line 10

def initialize(_options); end

Instance Method Details

#extract_root_pivot(str) ⇒ Object

Parse the string into the two basic components.



22
23
24
# File 'lib/mini_readline/read_line/edit/auto_complete/file_folder_source.rb', line 22

def extract_root_pivot(str)
  @root, @pivot = /\S+$/ =~ str ? [$PREMATCH, $MATCH] : [str, ""]
end

#nextObject

Get the next string for auto-complete



27
28
29
# File 'lib/mini_readline/read_line/edit/auto_complete/file_folder_source.rb', line 27

def next
  @root + @cycler.next
end

#rebuild(str) ⇒ Object

Construct a new data list for auto-complete



13
14
15
16
17
18
19
# File 'lib/mini_readline/read_line/edit/auto_complete/file_folder_source.rb', line 13

def rebuild(str)
  extract_root_pivot(str)

  list = Dir.glob(@pivot + '*')

  @cycler = list.empty? ? nil : list.cycle
end