class Reline::LineEditor

def run_for_operators(key, method_symbol, &block)

def run_for_operators(key, method_symbol, &block)
iting_operator_proc
I_MOTIONS.include?(method_symbol)
d_cursor, old_byte_pointer = @cursor, @byte_pointer
i_arg = @waiting_operator_vi_arg if @waiting_operator_vi_arg&.> 1
ock.(true)
less @waiting_proc
cursor_diff, byte_pointer_diff = @cursor - old_cursor, @byte_pointer - old_byte_pointer
@cursor, @byte_pointer = old_cursor, old_byte_pointer
@waiting_operator_proc.(cursor_diff, byte_pointer_diff)
se
old_waiting_proc = @waiting_proc
old_waiting_operator_proc = @waiting_operator_proc
current_waiting_operator_proc = @waiting_operator_proc
@waiting_proc = proc { |k|
  old_cursor, old_byte_pointer = @cursor, @byte_pointer
  old_waiting_proc.(k)
  cursor_diff, byte_pointer_diff = @cursor - old_cursor, @byte_pointer - old_byte_pointer
  @cursor, @byte_pointer = old_cursor, old_byte_pointer
  current_waiting_operator_proc.(cursor_diff, byte_pointer_diff)
  @waiting_operator_proc = old_waiting_operator_proc
}
d

Ignores operator when not motion is given.
ock.(false)
ting_operator_proc = nil
ting_operator_vi_arg = nil
vi_arg
erender_all = true
i_arg = nil
k.(false)