Project: RawLine
Project Status: On Hold
Version: 0.3.1
Recent Activity:
RawLine is a 100% Ruby alternative to the ReadLine library, providing some of its most popular features such as:
- Basic line editing operations
- Word completion
- History Management
- Custom key/key sequences bindings
Installation
The simplest method to install RawLine is to install the gem:
gem install rawline
Usage
Editor initialization:
require 'rawline'
editor = RawLine::Editor.new
Key binding:
editor.bind(:ctrl_z) { editor.undo }
editor.bind(:up_arrow) { editor.history_back }
editor.bind(:ctrl_x) { puts "Exiting..."; exit }
Setup word completion
editor.completion_proc = lambda do |word|
if word
['select', 'update', 'delete', 'debug', 'destroy'].find_all { |e| e.match(/^#{Regexp.escape(word)}/) }
end
end
editor.completion_append_string = " "
Read input:
editor.read("=> ", true)
Replacing Readline
Simply include the RawLine (or Rawline) module:
include Rawline
…and you’ll get:
readline(prompt, add_history) # RawLine::Editor#read(prompt, add_history)
HISTORY # RawLine::Editor#history
FILENAME_COMPLETION_PROC # Rawline::Editor#filename_completion_proc
# ...
but also:
Rawline.editor # RawLine::Editor
…which opens a world of endless possibilities! ;-)
Latest Updates
- Real-world Rawline usage (Saturday, 07 March 2009)
- RawLine 0.3.0 released — now with Readline emulation (Sunday, 01 March 2009)
- New Release: RawLine 0.2.0 (Wednesday, 02 April 2008)
- InLine name change: what’s your opinion? (Thursday, 27 March 2008)
- RawLine – a 100% Ruby solution for console inline editing (Monday, 10 March 2008)

View Source