Class: Rfd::CommandLineWindow

Inherits:
Window
  • Object
show all
Defined in:
lib/rfd/windows.rb

Instance Method Summary collapse

Methods inherited from Window

draw_borders, draw_ncursesw_border, ncursesw?, #writeln

Constructor Details

#initializeCommandLineWindow

Returns a new instance of CommandLineWindow.



171
172
173
# File 'lib/rfd/windows.rb', line 171

def initialize
  super maxy: 1, maxx: Curses.cols, begy: Curses.lines - 1, begx: 0
end

Instance Method Details

#get_command(prompt: nil, default: nil) ⇒ Object



181
182
183
184
185
186
187
188
189
190
191
# File 'lib/rfd/windows.rb', line 181

def get_command(prompt: nil, default: nil)
  startx = prompt ? prompt.size : 1
  setpos 0, startx
  # Passing the default string to Reline
  Reline.pre_input_hook = -> {
    Reline.insert_text default || ''
  }
  s = Reline.readline prompt, true
  Rfd.logger.info "reline: #{s}" if Rfd.logger
  "#{prompt[1..-1] if prompt}#{s.strip}"
end

#set_prompt(str) ⇒ Object



175
176
177
178
179
# File 'lib/rfd/windows.rb', line 175

def set_prompt(str)
  attron(Curses.color_pair(Curses::COLOR_WHITE) | Curses::A_BOLD) do
    writeln 0, str
  end
end

#show_error(str) ⇒ Object



193
194
195
196
197
198
# File 'lib/rfd/windows.rb', line 193

def show_error(str)
  attron(Curses.color_pair(Curses::COLOR_RED) | Curses::A_BOLD) do
    writeln 0, str
  end
  noutrefresh
end