rawline 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.rdoc CHANGED
@@ -1,30 +1,42 @@
1
- == Version 0.3.0
2
-
3
- * Fixed linux-specific bugs.
4
- * Added RawLine::Line#words method, which returns the words typed in the current line.
5
- * undo and redo action now bound to C-u and C-r instead of C-z and C-y to avoid conflicts on Linux.
6
- * test file and directory renaming.
7
- * Fixed #1 [#21300] bad requirement because sensitive case error.
8
- * Fixed #2 [#21301] unitialized constant when no WIN32CONSOLE.
9
- * Added Ruby 1.9.1 support.
10
- * Editor#read now takes an optional parameter (default: false) to enable or disable history.
11
- * Line is no longer added to history when calling Editor#history_back.
12
- * Added Editor#filename_completion_proc.
13
- * Editor#completion_proc defaults to Editor#filename_completion_proc.
14
- * RawLine is now a drop-in replacement for Readline.
15
- * Added examples/readline_emulation.rb.
16
- * Moved repository to GitHub.
17
-
18
- == Version 0.2.0
19
-
20
- * Added /examples and /test directory to gem.
21
- * Escape codes can now be used in prompt.
22
- * It is now possible to use bind(key, &block) with a String as key, even if the corresponding escape sequence is not defined.
23
- * Added Editor#write_line(string) to print a any string (and "hit return").
24
- * Library name changed to "RawLine" to avoid name collision issues (Bug 18879: http://rubyforge.org/tracker/?func=detail&aid=18879&group_id=5622&atid=21788).
25
- * Provided alternative implementation for left and right arrows if terminal
26
- supports escape sequences (on Windows, it requires the Win32Console gem).
27
-
28
- == Version 0.1.0
29
-
30
- First preview release of InLine, implementing some of the functionality provided by the ReadLine library such as basic line editing, history and word completion.
1
+ == Version 0.3.1
2
+
3
+ * Renamed completion_append_char to complation_append_character (Readline compatibility).
4
+ * Fixed minor bugs in HistoryBuffer (push and << methods are now redefined properly).
5
+ * The string returned by Editor#read (and Rawline#readline) does not contain a trailing newline character anymore (Readline compatibility)
6
+ * It is now possible to set Line#word_separator to an empty string or nil (Readline compatibility).
7
+ * Fixed #6 (Fixnum#ord not defined on Ruby 1.8.6)
8
+ * Fixed #7 (Win32Console gem not required)
9
+ * Fixed #8 (Rawline.version not defined)
10
+ * Fixed #9 (Readline compatibility issues)
11
+
12
+
13
+ == Version 0.3.0
14
+
15
+ * Fixed linux-specific bugs.
16
+ * Added RawLine::Line#words method, which returns the words typed in the current line.
17
+ * undo and redo action now bound to C-u and C-r instead of C-z and C-y to avoid conflicts on Linux.
18
+ * test file and directory renaming.
19
+ * Fixed #1 [#21300] bad requirement because sensitive case error.
20
+ * Fixed #2 [#21301] unitialized constant when no WIN32CONSOLE.
21
+ * Added Ruby 1.9.1 support.
22
+ * Editor#read now takes an optional parameter (default: false) to enable or disable history.
23
+ * Line is no longer added to history when calling Editor#history_back.
24
+ * Added Editor#filename_completion_proc.
25
+ * Editor#completion_proc defaults to Editor#filename_completion_proc.
26
+ * RawLine is now a drop-in replacement for Readline.
27
+ * Added examples/readline_emulation.rb.
28
+ * Moved repository to GitHub.
29
+
30
+ == Version 0.2.0
31
+
32
+ * Added /examples and /test directory to gem.
33
+ * Escape codes can now be used in prompt.
34
+ * It is now possible to use bind(key, &block) with a String as key, even if the corresponding escape sequence is not defined.
35
+ * Added Editor#write_line(string) to print a any string (and "hit return").
36
+ * Library name changed to "RawLine" to avoid name collision issues (Bug 18879: http://rubyforge.org/tracker/?func=detail&aid=18879&group_id=5622&atid=21788).
37
+ * Provided alternative implementation for left and right arrows if terminal
38
+ supports escape sequences (on Windows, it requires the Win32Console gem).
39
+
40
+ == Version 0.1.0
41
+
42
+ First preview release of InLine, implementing some of the functionality provided by the ReadLine library such as basic line editing, history and word completion.
@@ -0,0 +1,27 @@
1
+ #!usr/bin/env ruby
2
+
3
+ require 'irb'
4
+ require 'irb/completion'
5
+ require File.dirname(File.expand_path(__FILE__))+'/../lib/rawline'
6
+
7
+ Rawline.basic_word_break_characters= " \t\n\"\\'`><;|&{("
8
+ Rawline.completion_append_character = nil
9
+ Rawline.completion_proc = IRB::InputCompletor::CompletionProc
10
+
11
+ class RawlineInputMethod < IRB::ReadlineInputMethod
12
+ include Rawline
13
+ def gets
14
+ if l = readline(@prompt, false)
15
+ HISTORY.push(l) if !l.empty?
16
+ @line[@line_no += 1] = l + "\n"
17
+ else
18
+ @eof = true
19
+ l
20
+ end
21
+ end
22
+ end
23
+
24
+ module IRB
25
+ @CONF[:SCRIPT] = RawlineInputMethod.new
26
+ end
27
+ IRB.start
@@ -0,0 +1,27 @@
1
+ #!usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'rush'
5
+ require File.dirname(File.expand_path(__FILE__))+'/../lib/rawline'
6
+
7
+ class RawlineRush < Rush::Shell
8
+
9
+ def initialize
10
+ Rawline.basic_word_break_characters = ""
11
+ Rawline.completion_proc = completion_proc
12
+ super
13
+ end
14
+
15
+ def run
16
+ loop do
17
+ cmd = Rawline.readline('rawline_rush> ')
18
+ finish if cmd.nil? or cmd == 'exit'
19
+ next if cmd == ""
20
+ Rawline::HISTORY.push(cmd)
21
+ execute(cmd)
22
+ end
23
+ end
24
+ end
25
+
26
+ shell = RawlineRush.new.run
27
+
@@ -1,26 +1,26 @@
1
- #!usr/bin/env ruby
2
-
3
- require File.dirname(File.expand_path(__FILE__))+'/../lib/rawline'
4
-
5
- puts "*** Rawline Editor Test Shell ***"
6
- puts " * Press CTRL+X to exit"
7
- puts " * Press CTRL+G to clear command history"
8
- puts " * Press CTRL+D for line-related information"
9
- puts " * Press CTRL+E to view command history"
10
-
11
- editor = RawLine::Editor.new
12
-
13
- editor.bind(:ctrl_g) { editor.clear_history }
14
- editor.bind(:ctrl_d) { editor.debug_line }
15
- editor.bind(:ctrl_e) { editor.show_history }
16
- editor.bind(:ctrl_x) { puts; puts "Exiting..."; exit }
17
-
18
- editor.completion_proc = lambda do |word|
19
- if word
20
- ['select', 'update', 'delete', 'debug', 'destroy'].find_all { |e| e.match(/^#{Regexp.escape(word)}/) }
21
- end
22
- end
23
-
24
- loop do
25
- puts "You typed: [#{editor.read("=> ", true).chomp!}]"
26
- end
1
+ #!usr/bin/env ruby
2
+
3
+ require File.dirname(File.expand_path(__FILE__))+'/../lib/rawline'
4
+
5
+ puts "*** Rawline Editor Test Shell ***"
6
+ puts " * Press CTRL+X to exit"
7
+ puts " * Press CTRL+G to clear command history"
8
+ puts " * Press CTRL+D for line-related information"
9
+ puts " * Press CTRL+E to view command history"
10
+
11
+ editor = RawLine::Editor.new
12
+
13
+ editor.bind(:ctrl_g) { editor.clear_history }
14
+ editor.bind(:ctrl_d) { editor.debug_line }
15
+ editor.bind(:ctrl_e) { editor.show_history }
16
+ editor.bind(:ctrl_x) { puts; puts "Exiting..."; exit }
17
+
18
+ editor.completion_proc = lambda do |word|
19
+ if word
20
+ ['select', 'update', 'delete', 'debug', 'destroy'].find_all { |e| e.match(/^#{Regexp.escape(word)}/) }
21
+ end
22
+ end
23
+
24
+ loop do
25
+ puts "You typed: [#{editor.read("=> ", true)}]"
26
+ end
@@ -1,17 +1,17 @@
1
- #!usr/bin/env ruby
2
-
3
- require File.dirname(File.expand_path(__FILE__))+'/../lib/rawline'
4
-
5
- include Rawline
6
-
7
- puts "*** Readline emulation Test Shell ***"
8
- puts " * Press CTRL+X to exit"
9
- puts " * Press <TAB> for file completion"
10
-
11
- Rawline.editor.bind(:ctrl_x) { puts; puts "Exiting..."; exit }
12
-
13
- Dir.chdir '..'
14
-
15
- loop do
16
- puts "You typed: [#{readline("=> ", true).chomp!}]"
17
- end
1
+ #!usr/bin/env ruby
2
+
3
+ require File.dirname(File.expand_path(__FILE__))+'/../lib/rawline'
4
+
5
+ puts "*** Readline emulation Test Shell ***"
6
+ puts " * Press CTRL+X to exit"
7
+ puts " * Press <TAB> for file completion"
8
+
9
+ Rawline.editor.bind(:ctrl_x) { puts; puts "Exiting..."; exit }
10
+
11
+ Dir.chdir '..'
12
+
13
+ include Rawline
14
+
15
+ loop do
16
+ puts "You typed: [#{readline("=> ", true)}]"
17
+ end