Method: Redwood::Keymap#help_lines

Defined in:
lib/sup/keymap.rb

#help_lines(except_for = {}, prefix = "") ⇒ Object



107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/sup/keymap.rb', line 107

def help_lines except_for={}, prefix=""
  lines = [] # :(
  @order.each do |action, help, keys|
    valid_keys = keys.select { |k| !except_for[k] }
    next if valid_keys.empty?
    case action
    when Symbol
      lines << [valid_keys.map { |k| prefix + Keymap.keysym_to_string(k) }.join(", "), help]
    when Keymap
      lines += action.help_lines({}, prefix + Keymap.keysym_to_string(keys.first))
    end
  end.compact
  lines
end