class DEBUGGER__::AbbrevCommand
Public Class Methods
new(config)
click to toggle source
config: { type: [commands…], … }
# File debug-1.8.0/lib/debug/abbrev_command.rb, line 48 def initialize config @trie = TrieNode.new build config end
Public Instance Methods
search(str, if_none = nil) { |candidates.map{|s| str + s}| ... }
click to toggle source
# File debug-1.8.0/lib/debug/abbrev_command.rb, line 64 def search str, if_none = nil trie = @trie str.each_char do |c| if trie = trie[c] return trie.type if trie.type else return if_none end end yield trie.candidates.map{|s| str + s} if block_given? if_none end
Private Instance Methods
build(config)
click to toggle source
# File debug-1.8.0/lib/debug/abbrev_command.rb, line 53 def build config config.each do |type, commands| commands.each do |command| trie = @trie command.each_char do |c| trie = trie.append(c, type) end end end end