vedeu 0.5.13 → 0.6.0
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -0
- data/bin/vedeu_drb_server +1 -0
- data/config/rubocop_enabled.yml +2 -2
- data/docs/events.md +2 -0
- data/docs/getting_started.md +1 -1
- data/examples/drb_app.rb +1 -0
- data/examples/editor_app.rb +76 -0
- data/lib/vedeu/all.rb +13 -7
- data/lib/vedeu/{bindings.rb → bindings/bindings.rb} +2 -0
- data/lib/vedeu/bindings/focus.rb +66 -0
- data/lib/vedeu/bindings/refresh.rb +77 -0
- data/lib/vedeu/bindings/system.rb +19 -88
- data/lib/vedeu/buffers/buffer.rb +8 -8
- data/lib/vedeu/configuration/api.rb +32 -11
- data/lib/vedeu/configuration/cli.rb +8 -0
- data/lib/vedeu/cursor/move.rb +1 -0
- data/lib/vedeu/distributed/templates/default_configuration.vedeu +1 -0
- data/lib/vedeu/{dsl.rb → dsl/dsl.rb} +0 -0
- data/lib/vedeu/exceptions.rb +1 -1
- data/lib/vedeu/geometry/position.rb +28 -0
- data/lib/vedeu/input/capture.rb +76 -0
- data/lib/vedeu/input/editor/all.rb +19 -0
- data/lib/vedeu/input/editor/cropper.rb +74 -0
- data/lib/vedeu/input/editor/document.rb +254 -0
- data/lib/vedeu/input/editor/documents.rb +18 -0
- data/lib/vedeu/input/editor/editor.rb +100 -0
- data/lib/vedeu/input/editor/line.rb +143 -0
- data/lib/vedeu/input/editor/lines.rb +199 -0
- data/lib/vedeu/input/editor/virtual_cursor.rb +167 -0
- data/lib/vedeu/input/input.rb +9 -93
- data/lib/vedeu/input/input_translator.rb +155 -0
- data/lib/vedeu/internal_api.rb +9 -0
- data/lib/vedeu/log/lockless_log_device.rb +1 -1
- data/lib/vedeu/models/escape.rb +7 -8
- data/lib/vedeu/output/direct.rb +59 -0
- data/lib/vedeu/output/renderers/terminal.rb +8 -0
- data/lib/vedeu/output/viewport.rb +2 -3
- data/lib/vedeu/{plugins.rb → plugins/plugins.rb} +0 -0
- data/lib/vedeu/refresh/refresh_cursor.rb +1 -0
- data/lib/vedeu/{repositories.rb → repositories/repositories.rb} +0 -0
- data/lib/vedeu/terminal/content.rb +88 -0
- data/lib/vedeu/terminal/mode.rb +79 -0
- data/lib/vedeu/{terminal.rb → terminal/terminal.rb} +9 -25
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/{bindings_test.rb → bindings/bindings_test.rb} +0 -0
- data/test/lib/vedeu/bindings/focus_test.rb +19 -0
- data/test/lib/vedeu/bindings/refresh_test.rb +19 -0
- data/test/lib/vedeu/bindings/system_test.rb +1 -6
- data/test/lib/vedeu/borders/render_border_test.rb +43 -10
- data/test/lib/vedeu/buffers/buffer_test.rb +18 -0
- data/test/lib/vedeu/buffers/virtual_buffer_test.rb +15 -0
- data/test/lib/vedeu/configuration/api_test.rb +18 -2
- data/test/lib/vedeu/configuration/cli_test.rb +5 -0
- data/test/lib/vedeu/cursor/move_test.rb +1 -1
- data/test/lib/vedeu/dsl/dsl_test.rb +8 -0
- data/test/lib/vedeu/dsl/shared_test.rb +12 -0
- data/test/lib/vedeu/{output → esc}/esc_test.rb +0 -0
- data/test/lib/vedeu/geometry/position_test.rb +56 -0
- data/test/lib/vedeu/input/capture_test.rb +63 -0
- data/test/lib/vedeu/input/editor/cropper_test.rb +82 -0
- data/test/lib/vedeu/input/editor/document_test.rb +190 -0
- data/test/lib/vedeu/input/editor/documents_test.rb +17 -0
- data/test/lib/vedeu/input/editor/editor_test.rb +170 -0
- data/test/lib/vedeu/input/editor/line_test.rb +333 -0
- data/test/lib/vedeu/input/editor/lines_test.rb +561 -0
- data/test/lib/vedeu/input/editor/virtual_cursor_test.rb +184 -0
- data/test/lib/vedeu/input/input_test.rb +20 -4
- data/test/lib/vedeu/input/input_translator_test.rb +32 -0
- data/test/lib/vedeu/internal_api_test.rb +1 -0
- data/test/lib/vedeu/models/escape_test.rb +6 -6
- data/test/lib/vedeu/models/views/view_test.rb +15 -2
- data/test/lib/vedeu/null/null_test.rb +8 -0
- data/test/lib/vedeu/output/direct_test.rb +70 -0
- data/test/lib/vedeu/{plugins_test.rb → plugins/plugins_test.rb} +0 -0
- data/test/lib/vedeu/{repositories_test.rb → repositories/repositories_test.rb} +0 -0
- data/test/lib/vedeu/terminal/content_test.rb +100 -0
- data/test/lib/vedeu/terminal/mode_test.rb +95 -0
- data/test/lib/vedeu/{terminal_test.rb → terminal/terminal_test.rb} +23 -23
- data/test/test_helper.rb +1 -0
- metadata +67 -20
- data/lib/vedeu/terminal_mode.rb +0 -59
- data/test/lib/vedeu/terminal_mode_test.rb +0 -72
@@ -0,0 +1,167 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Editor
|
4
|
+
|
5
|
+
# Maintains a cursor position within the Vedeu::Editor::Document class.
|
6
|
+
#
|
7
|
+
class VirtualCursor
|
8
|
+
|
9
|
+
# @!attribute [rw] bx
|
10
|
+
# @return [Fixnum]
|
11
|
+
attr_accessor :bx
|
12
|
+
|
13
|
+
# @!attribute [rw] by
|
14
|
+
# @return [Fixnum]
|
15
|
+
attr_accessor :by
|
16
|
+
|
17
|
+
# @!attribute [rw] bxn
|
18
|
+
# @return [Fixnum]
|
19
|
+
attr_accessor :bxn
|
20
|
+
|
21
|
+
# @!attribute [rw] byn
|
22
|
+
# @return [Fixnum]
|
23
|
+
attr_accessor :byn
|
24
|
+
|
25
|
+
# @!attribute [rw] ox
|
26
|
+
# @return [Fixnum]
|
27
|
+
attr_accessor :ox
|
28
|
+
|
29
|
+
# @!attribute [rw] oy
|
30
|
+
# @return [Fixnum]
|
31
|
+
attr_accessor :oy
|
32
|
+
|
33
|
+
# @!attribute [rw] x
|
34
|
+
# @return [Fixnum]
|
35
|
+
attr_accessor :x
|
36
|
+
|
37
|
+
# @!attribute [rw] y
|
38
|
+
# @return [Fixnum]
|
39
|
+
attr_accessor :y
|
40
|
+
|
41
|
+
# Returns a new instance of Vedeu::Editor::VirtualCursor.
|
42
|
+
#
|
43
|
+
# @param y [Fixnum] The current line.
|
44
|
+
# @param x [Fixnum] The current character with the line.
|
45
|
+
# @param by [Fixnum]
|
46
|
+
# @param bx [Fixnum]
|
47
|
+
# @param byn [Fixnum]
|
48
|
+
# @param bxn [Fixnum]
|
49
|
+
# @param oy [Fixnum]
|
50
|
+
# @param ox [Fixnum]
|
51
|
+
# @return [Vedeu::Editor::VirtualCursor]
|
52
|
+
def initialize(y: 0, x: 0, by:, bx:, byn:, bxn:, oy: 0, ox: 0)
|
53
|
+
@y = (y.nil? || y < 0) ? 0 : y
|
54
|
+
@x = (x.nil? || x < 0) ? 0 : x
|
55
|
+
@by = by
|
56
|
+
@bx = bx
|
57
|
+
@byn = byn
|
58
|
+
@bxn = bxn
|
59
|
+
@ox = ox
|
60
|
+
@oy = oy
|
61
|
+
end
|
62
|
+
|
63
|
+
# Move the virtual cursor to the beginning of the line.
|
64
|
+
#
|
65
|
+
# @return [Vedeu::Editor::VirtualCursor]
|
66
|
+
def bol
|
67
|
+
@ox = 0
|
68
|
+
@x = 0
|
69
|
+
|
70
|
+
self
|
71
|
+
end
|
72
|
+
|
73
|
+
# Move the virtual cursor down by one line.
|
74
|
+
#
|
75
|
+
# @return [Vedeu::Editor::VirtualCursor]
|
76
|
+
def down
|
77
|
+
@y += 1
|
78
|
+
|
79
|
+
self
|
80
|
+
end
|
81
|
+
|
82
|
+
# Move the virtual cursor to the left.
|
83
|
+
#
|
84
|
+
# @return [Vedeu::Editor::VirtualCursor]
|
85
|
+
def left
|
86
|
+
@ox -= 1 unless @ox == 0
|
87
|
+
@x -= 1
|
88
|
+
|
89
|
+
self
|
90
|
+
end
|
91
|
+
|
92
|
+
# Move the virtual cursor to the origin (0, 0).
|
93
|
+
#
|
94
|
+
# @return [Vedeu::Editor::VirtualCursor]
|
95
|
+
def reset!
|
96
|
+
@x = 0
|
97
|
+
@y = 0
|
98
|
+
@ox = 0
|
99
|
+
@oy = 0
|
100
|
+
|
101
|
+
self
|
102
|
+
end
|
103
|
+
|
104
|
+
# Move the virtual cursor to the right.
|
105
|
+
#
|
106
|
+
# @return [Vedeu::Editor::VirtualCursor]
|
107
|
+
def right
|
108
|
+
@x += 1
|
109
|
+
|
110
|
+
self
|
111
|
+
end
|
112
|
+
|
113
|
+
# Return the escape sequence for setting the cursor position and show the
|
114
|
+
# cursor.
|
115
|
+
#
|
116
|
+
# @return [String]
|
117
|
+
def to_s
|
118
|
+
"\e[#{real_y};#{real_x}H\e[?25h"
|
119
|
+
end
|
120
|
+
|
121
|
+
# Move the virtual cursor up by one line.
|
122
|
+
#
|
123
|
+
# @return [Vedeu::Editor::VirtualCursor]
|
124
|
+
def up
|
125
|
+
@oy -= 1 unless @oy == 0
|
126
|
+
@y -= 1
|
127
|
+
|
128
|
+
self
|
129
|
+
end
|
130
|
+
|
131
|
+
# @return [Fixnum] The column/character coordinate.
|
132
|
+
def x
|
133
|
+
@x = 0 if @x <= 0
|
134
|
+
@ox = @x - (bxn - bx) if @x > bxn - bx
|
135
|
+
|
136
|
+
@x
|
137
|
+
end
|
138
|
+
|
139
|
+
# @return [Fixnum] The row/line coordinate.
|
140
|
+
def y
|
141
|
+
@y = 0 if @y <= 0
|
142
|
+
@oy = @y - (byn - by) if @y > byn - by
|
143
|
+
|
144
|
+
@y
|
145
|
+
end
|
146
|
+
|
147
|
+
private
|
148
|
+
|
149
|
+
# Return the real y coordinate.
|
150
|
+
#
|
151
|
+
# @return [Fixnum]
|
152
|
+
def real_y
|
153
|
+
(by + y) - oy
|
154
|
+
end
|
155
|
+
|
156
|
+
# Return the real x coordinate.
|
157
|
+
#
|
158
|
+
# @return [Fixnum]
|
159
|
+
def real_x
|
160
|
+
(bx + x) - ox
|
161
|
+
end
|
162
|
+
|
163
|
+
end # VirtualCursor
|
164
|
+
|
165
|
+
end # Editor
|
166
|
+
|
167
|
+
end # Vedeu
|
data/lib/vedeu/input/input.rb
CHANGED
@@ -31,6 +31,9 @@ module Vedeu
|
|
31
31
|
if reader.raw_mode?
|
32
32
|
Vedeu.trigger(:_keypress_, keypress)
|
33
33
|
|
34
|
+
elsif reader.fake_mode?
|
35
|
+
Vedeu.trigger(:_editor_, keypress)
|
36
|
+
|
34
37
|
else
|
35
38
|
Vedeu.trigger(:_command_, command)
|
36
39
|
|
@@ -45,14 +48,6 @@ module Vedeu
|
|
45
48
|
|
46
49
|
private
|
47
50
|
|
48
|
-
# Returns the input from the terminal.
|
49
|
-
#
|
50
|
-
# @return [String]
|
51
|
-
def input
|
52
|
-
@input ||= reader.read
|
53
|
-
end
|
54
|
-
alias_method :command, :input
|
55
|
-
|
56
51
|
# Returns the translated (when possible) keypress(es) as either a String or
|
57
52
|
# a Symbol.
|
58
53
|
#
|
@@ -60,95 +55,16 @@ module Vedeu
|
|
60
55
|
def keypress
|
61
56
|
key = input
|
62
57
|
|
63
|
-
|
58
|
+
Vedeu::InputTranslator.translate(key)
|
64
59
|
end
|
65
60
|
|
66
|
-
#
|
67
|
-
# representing the key which was pressed.
|
61
|
+
# Returns the input from the terminal.
|
68
62
|
#
|
69
|
-
# @return [
|
70
|
-
def
|
71
|
-
|
72
|
-
"\r" => :enter,
|
73
|
-
"\n" => :enter,
|
74
|
-
"\t" => :tab,
|
75
|
-
"\e" => :escape,
|
76
|
-
"\e[A" => :up,
|
77
|
-
"\e[B" => :down,
|
78
|
-
"\e[C" => :right,
|
79
|
-
"\e[D" => :left,
|
80
|
-
"\e[5~" => :page_up,
|
81
|
-
"\e[6~" => :page_down,
|
82
|
-
"\e[H" => :home,
|
83
|
-
"\e[3~" => :delete,
|
84
|
-
"\e[F" => :end,
|
85
|
-
"\e[Z" => :shift_tab,
|
86
|
-
"\e[1;2P" => :print_screen,
|
87
|
-
"\e[1;2Q" => :scroll_lock,
|
88
|
-
"\e[1;2R" => :pause_break,
|
89
|
-
"\u007F" => :backspace,
|
90
|
-
"\u0001" => :ctrl_a,
|
91
|
-
"\u0002" => :ctrl_b,
|
92
|
-
"\u0003" => :ctrl_c,
|
93
|
-
"\u0004" => :ctrl_d,
|
94
|
-
"\u0005" => :ctrl_e,
|
95
|
-
"\u0006" => :ctrl_f,
|
96
|
-
"\u0007" => :ctrl_g,
|
97
|
-
"\u0008" => :ctrl_h,
|
98
|
-
# "\u0009" => :ctrl_i, # duplicates tab
|
99
|
-
"\u0010" => :ctrl_j, # produces "\n"
|
100
|
-
"\u0011" => :ctrl_k,
|
101
|
-
"\u0012" => :ctrl_l,
|
102
|
-
"\u0013" => :ctrl_m,
|
103
|
-
"\u0014" => :ctrl_n,
|
104
|
-
"\u0015" => :ctrl_o,
|
105
|
-
"\u0016" => :ctrl_p,
|
106
|
-
"\u0017" => :ctrl_q,
|
107
|
-
"\u0018" => :ctrl_r,
|
108
|
-
"\u0019" => :ctrl_s,
|
109
|
-
# "\u0020" => :ctrl_t, # duplicates spacebar
|
110
|
-
"\u0021" => :ctrl_u,
|
111
|
-
"\u0022" => :ctrl_v,
|
112
|
-
"\u0023" => :ctrl_w,
|
113
|
-
"\u0024" => :ctrl_x,
|
114
|
-
"\u0025" => :ctrl_y,
|
115
|
-
"\u0026" => :ctrl_z,
|
116
|
-
}.merge!(f_keys)
|
117
|
-
end
|
118
|
-
|
119
|
-
# @return [Hash<String => Symbol]
|
120
|
-
def f_keys
|
121
|
-
{
|
122
|
-
"\eOP" => :f1,
|
123
|
-
"\eOQ" => :f2,
|
124
|
-
"\eOR" => :f3,
|
125
|
-
"\eOS" => :f4,
|
126
|
-
"\e[15~" => :f5,
|
127
|
-
"\e[15;2~" => :shift_f5,
|
128
|
-
"\e[15;5~" => :ctrl_f5,
|
129
|
-
"\e[17~" => :f6,
|
130
|
-
"\e[17;2~" => :shift_f6,
|
131
|
-
"\e[17;5~" => :ctrl_f6,
|
132
|
-
"\e[18~" => :f7,
|
133
|
-
"\e[18;2~" => :shift_f7,
|
134
|
-
"\e[18;5~" => :ctrl_f7,
|
135
|
-
"\e[19~" => :f8,
|
136
|
-
"\e[19;2~" => :shift_f8,
|
137
|
-
"\e[19;5~" => :ctrl_f8,
|
138
|
-
"\e[20~" => :f9,
|
139
|
-
"\e[20;2~" => :shift_f9,
|
140
|
-
"\e[20;5~" => :ctrl_f9,
|
141
|
-
"\e[21~" => :f10,
|
142
|
-
"\e[21;2~" => :shift_f10,
|
143
|
-
"\e[21;5~" => :ctrl_f10,
|
144
|
-
"\e[23~" => :f11,
|
145
|
-
"\e[23;2~" => :shift_f11,
|
146
|
-
"\e[23;5~" => :ctrl_f11,
|
147
|
-
"\e[24~" => :f12,
|
148
|
-
"\e[24;2~" => :shift_f12,
|
149
|
-
"\e[24;5~" => :ctrl_f12,
|
150
|
-
}
|
63
|
+
# @return [String]
|
64
|
+
def input
|
65
|
+
@input ||= reader.read
|
151
66
|
end
|
67
|
+
alias_method :command, :input
|
152
68
|
|
153
69
|
end # Input
|
154
70
|
|
@@ -0,0 +1,155 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
# Translates escape sequences provided by the terminal into symbols which
|
4
|
+
# Vedeu can use for various behaviours.
|
5
|
+
#
|
6
|
+
class InputTranslator
|
7
|
+
|
8
|
+
# @param code [String]
|
9
|
+
# @return [Symbol]
|
10
|
+
def self.translate(code)
|
11
|
+
new(code).translate
|
12
|
+
end
|
13
|
+
|
14
|
+
# Returns a new instance of Vedeu::InputTranslator.
|
15
|
+
#
|
16
|
+
# @param code [String]
|
17
|
+
# @return [Vedeu::InputTranslator]
|
18
|
+
def initialize(code)
|
19
|
+
@code = code
|
20
|
+
end
|
21
|
+
|
22
|
+
# @return [Symbol]
|
23
|
+
def translate
|
24
|
+
symbols.fetch(code, code)
|
25
|
+
end
|
26
|
+
|
27
|
+
protected
|
28
|
+
|
29
|
+
# @!attribute [r] code
|
30
|
+
# @return [String]
|
31
|
+
attr_reader :code
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
# @return [Hash<String => Symbol>]
|
36
|
+
def symbols
|
37
|
+
@symbols ||= f_keys.merge!(ctrl_letters).merge!(specials)
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [Hash<String => Symbol]
|
41
|
+
def ctrl_letters
|
42
|
+
{
|
43
|
+
"\u0001" => :ctrl_a,
|
44
|
+
"\u0002" => :ctrl_b,
|
45
|
+
"\u0003" => :ctrl_c,
|
46
|
+
"\u2404" => :ctrl_c,
|
47
|
+
"\u0004" => :ctrl_d,
|
48
|
+
"\u2403" => :ctrl_d,
|
49
|
+
"\u0005" => :ctrl_e,
|
50
|
+
"\u0006" => :ctrl_f,
|
51
|
+
"\u0007" => :ctrl_g,
|
52
|
+
"\u0008" => :ctrl_h,
|
53
|
+
# "\u0009" => :ctrl_i, # duplicates tab
|
54
|
+
"\u0010" => :ctrl_j, # produces "\n"
|
55
|
+
"\u0011" => :ctrl_k,
|
56
|
+
"\u0012" => :ctrl_l,
|
57
|
+
"\u0013" => :ctrl_m,
|
58
|
+
"\u0014" => :ctrl_n,
|
59
|
+
"\u0015" => :ctrl_o,
|
60
|
+
"\u0016" => :ctrl_p,
|
61
|
+
"\u0017" => :ctrl_q,
|
62
|
+
"\u0018" => :ctrl_r,
|
63
|
+
"\u2412" => :ctrl_r,
|
64
|
+
"\u0019" => :ctrl_s,
|
65
|
+
# "\u0020" => :ctrl_t, # duplicates spacebar
|
66
|
+
"\u0021" => :ctrl_u,
|
67
|
+
"\u0022" => :ctrl_v,
|
68
|
+
"\u0023" => :ctrl_w,
|
69
|
+
"\u0024" => :ctrl_x,
|
70
|
+
"\u0025" => :ctrl_y,
|
71
|
+
"\u0026" => :ctrl_z,
|
72
|
+
}
|
73
|
+
end
|
74
|
+
|
75
|
+
# @return [Hash<String => Symbol]
|
76
|
+
def f_keys
|
77
|
+
{
|
78
|
+
"\eOP" => :f1,
|
79
|
+
"\eOQ" => :f2,
|
80
|
+
"\eOR" => :f3,
|
81
|
+
"\eOS" => :f4,
|
82
|
+
|
83
|
+
"\e[15~" => :f5,
|
84
|
+
"\e[15;2~" => :shift_f5,
|
85
|
+
"\e[15;5~" => :ctrl_f5,
|
86
|
+
|
87
|
+
"\e[17~" => :f6,
|
88
|
+
"\e[17;2~" => :shift_f6,
|
89
|
+
"\e[17;5~" => :ctrl_f6,
|
90
|
+
|
91
|
+
"\e[18~" => :f7,
|
92
|
+
"\e[18;2~" => :shift_f7,
|
93
|
+
"\e[18;5~" => :ctrl_f7,
|
94
|
+
|
95
|
+
"\e[19~" => :f8,
|
96
|
+
"\e[19;2~" => :shift_f8,
|
97
|
+
"\e[19;5~" => :ctrl_f8,
|
98
|
+
|
99
|
+
"\e[20~" => :f9,
|
100
|
+
"\e[20;2~" => :shift_f9,
|
101
|
+
"\e[20;5~" => :ctrl_f9,
|
102
|
+
|
103
|
+
"\e[21~" => :f10,
|
104
|
+
"\e[21;2~" => :shift_f10,
|
105
|
+
"\e[21;5~" => :ctrl_f10,
|
106
|
+
|
107
|
+
"\e[23~" => :f11,
|
108
|
+
"\e[23;2~" => :shift_f11,
|
109
|
+
"\e[23;5~" => :ctrl_f11,
|
110
|
+
|
111
|
+
"\e[24~" => :f12,
|
112
|
+
"\e[24;2~" => :shift_f12,
|
113
|
+
"\e[24;5~" => :ctrl_f12,
|
114
|
+
}
|
115
|
+
end
|
116
|
+
|
117
|
+
# @return [Hash<String => Symbol>]
|
118
|
+
def specials
|
119
|
+
{
|
120
|
+
"\u007F" => :backspace,
|
121
|
+
"\u2408" => :backspace,
|
122
|
+
"\u23CE" => :carriage_return,
|
123
|
+
"\e[3~" => :delete,
|
124
|
+
"\u232B" => :delete,
|
125
|
+
"\e[B" => :down,
|
126
|
+
"\u2193" => :down,
|
127
|
+
"\e[F" => :end,
|
128
|
+
"\r" => :enter,
|
129
|
+
"\n" => :enter,
|
130
|
+
"\e" => :escape,
|
131
|
+
"\u238B" => :escape,
|
132
|
+
"\e[H" => :home,
|
133
|
+
"\eOH" => :home,
|
134
|
+
"\e[2~" => :insert,
|
135
|
+
"\e[D" => :left,
|
136
|
+
"\u2190" => :left,
|
137
|
+
"\u240A" => :line_feed,
|
138
|
+
"\e[5~" => :page_up,
|
139
|
+
"\e[6~" => :page_down,
|
140
|
+
"\e[1;2R" => :pause_break,
|
141
|
+
"\e[1;2P" => :print_screen,
|
142
|
+
"\e[C" => :right,
|
143
|
+
"\u2192" => :right,
|
144
|
+
"\e[1;2Q" => :scroll_lock,
|
145
|
+
"\e[Z" => :shift_tab,
|
146
|
+
"\t" => :tab,
|
147
|
+
"\u21B9" => :tab,
|
148
|
+
"\e[A" => :up,
|
149
|
+
"\u2191" => :up,
|
150
|
+
}
|
151
|
+
end
|
152
|
+
|
153
|
+
end # InputTranslator
|
154
|
+
|
155
|
+
end # Vedeu
|
data/lib/vedeu/internal_api.rb
CHANGED
@@ -55,6 +55,15 @@ module Vedeu
|
|
55
55
|
# @return [Vedeu::Debug]
|
56
56
|
def_delegators Vedeu::Debug, :debug
|
57
57
|
|
58
|
+
# Manipulate the repository of documents.
|
59
|
+
#
|
60
|
+
# @example
|
61
|
+
# Vedeu.documents
|
62
|
+
#
|
63
|
+
# @!method documents
|
64
|
+
# @return [Vedeu::Editor::Documents]
|
65
|
+
def_delegators Vedeu::Editor::Documents, :documents
|
66
|
+
|
58
67
|
# Manipulate the repository of events.
|
59
68
|
#
|
60
69
|
# @example
|