vedeu 0.6.50 → 0.6.51
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/docs/events/view.md +20 -0
- data/docs/output.md +2 -0
- data/lib/vedeu/borders/null.rb +2 -0
- data/lib/vedeu/borders/refresh.rb +2 -0
- data/lib/vedeu/borders/title.rb +4 -0
- data/lib/vedeu/buffers/null.rb +2 -0
- data/lib/vedeu/colours/background.rb +2 -0
- data/lib/vedeu/colours/foreground.rb +2 -0
- data/lib/vedeu/colours/translator.rb +2 -0
- data/lib/vedeu/common.rb +2 -0
- data/lib/vedeu/configuration/api.rb +9 -6
- data/lib/vedeu/cursors/cursor.rb +2 -0
- data/lib/vedeu/cursors/refresh.rb +2 -0
- data/lib/vedeu/cursors/reposition.rb +2 -0
- data/lib/vedeu/editor/capture.rb +10 -17
- data/lib/vedeu/editor/cropper.rb +2 -0
- data/lib/vedeu/editor/cursor.rb +2 -0
- data/lib/vedeu/editor/delete.rb +2 -0
- data/lib/vedeu/editor/document.rb +7 -0
- data/lib/vedeu/editor/insert.rb +2 -0
- data/lib/vedeu/editor/item.rb +2 -0
- data/lib/vedeu/editor/line.rb +2 -0
- data/lib/vedeu/editor/lines.rb +2 -0
- data/lib/vedeu/error.rb +2 -0
- data/lib/vedeu/events/trigger.rb +3 -0
- data/lib/vedeu/geometry/alignment.rb +2 -0
- data/lib/vedeu/geometry/area.rb +2 -0
- data/lib/vedeu/geometry/coordinate.rb +2 -0
- data/lib/vedeu/geometry/dimension.rb +2 -0
- data/lib/vedeu/geometry/grid.rb +2 -0
- data/lib/vedeu/geometry/horizontal_alignment.rb +2 -0
- data/lib/vedeu/geometry/null.rb +2 -0
- data/lib/vedeu/geometry/position.rb +2 -0
- data/lib/vedeu/geometry/repository.rb +1 -0
- data/lib/vedeu/geometry/validator.rb +2 -0
- data/lib/vedeu/geometry/vertical_alignment.rb +2 -0
- data/lib/vedeu/geometry/x_dimension.rb +2 -0
- data/lib/vedeu/geometry/y_dimension.rb +2 -0
- data/lib/vedeu/input/all.rb +1 -0
- data/lib/vedeu/input/capture.rb +16 -2
- data/lib/vedeu/input/mouse.rb +96 -0
- data/lib/vedeu/logging/lockless_log_device.rb +2 -0
- data/lib/vedeu/logging/mono_logger.rb +2 -0
- data/lib/vedeu/menus/null.rb +2 -0
- data/lib/vedeu/models/cell.rb +7 -0
- data/lib/vedeu/models/escape.rb +2 -0
- data/lib/vedeu/models/views/char.rb +1 -0
- data/lib/vedeu/models/views/line.rb +1 -0
- data/lib/vedeu/models/views/stream.rb +1 -0
- data/lib/vedeu/models/views/view.rb +1 -0
- data/lib/vedeu/null/all.rb +2 -0
- data/lib/vedeu/output/compressor.rb +2 -0
- data/lib/vedeu/output/renderers/options.rb +4 -2
- data/lib/vedeu/output/viewport.rb +2 -0
- data/lib/vedeu/repositories/collection.rb +2 -0
- data/lib/vedeu/repositories/store.rb +2 -0
- data/lib/vedeu/templating/decoder.rb +2 -0
- data/lib/vedeu/templating/encoder.rb +2 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/input/mouse_test.rb +69 -0
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 08eb61b65bd7020344202d3002defb0dc0d50c13
|
|
4
|
+
data.tar.gz: 560d43d002cf41c62bcb74b9964534071f33e941
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ad2ece537d1197ef06bce653d9a063dae0a43abd7fd42989fe090451b346be4a4a36685c56d4794366b64b474d1dc5fed2be4bb44e15f4cce02b7bbb51051b6c
|
|
7
|
+
data.tar.gz: 2e660fa55283d844fbe6e5fa9f2a74ae8ba26489059a57ca8975fc1073c3a9afb91aefa6ea3bf8d0b52e7fc168bf23e9897895e876e0a58fe00b0ec976815f7b
|
data/docs/events/view.md
CHANGED
|
@@ -11,6 +11,26 @@ Maximising an interface.
|
|
|
11
11
|
|
|
12
12
|
See {Vedeu::Geometry::Geometry#maximise}
|
|
13
13
|
|
|
14
|
+
### `:\_movement_refresh\_`
|
|
15
|
+
When triggered, triggers additional events which aid the updating of
|
|
16
|
+
the output. Used when moving an interface/view.
|
|
17
|
+
|
|
18
|
+
Vedeu.trigger(:_movement_refresh_, name)
|
|
19
|
+
|
|
20
|
+
At this time, triggering this event will:
|
|
21
|
+
|
|
22
|
+
- Clear the entire terminal (assuming at least one renderer is the
|
|
23
|
+
default (Vedeu::Renderer::Terminal)). This action is performed when
|
|
24
|
+
moving an interface/view so that there are no 'artefacts' left
|
|
25
|
+
behind.
|
|
26
|
+
- Refresh the entire terminal (as above). This means all visible
|
|
27
|
+
interfaces are re-rendered. This action is performed to ensure other
|
|
28
|
+
views currently visible are rendered in their current position.
|
|
29
|
+
- Clears the named view. This action removes the named view from the
|
|
30
|
+
terminal (or output).
|
|
31
|
+
- Refreshes the named view. This action adds the named view to the
|
|
32
|
+
terminal (or output); in the new position.
|
|
33
|
+
|
|
14
34
|
### `:\_resize\_`
|
|
15
35
|
When triggered will cause Vedeu to trigger the `:_clear_` and
|
|
16
36
|
`:_refresh_` events. Please see those events for their behaviour.
|
data/docs/output.md
CHANGED
data/lib/vedeu/borders/null.rb
CHANGED
data/lib/vedeu/borders/title.rb
CHANGED
|
@@ -6,6 +6,8 @@ module Vedeu
|
|
|
6
6
|
# title is longer than the interface is wide, and pad with a space
|
|
7
7
|
# either side.
|
|
8
8
|
#
|
|
9
|
+
# @api private
|
|
10
|
+
#
|
|
9
11
|
class Title
|
|
10
12
|
|
|
11
13
|
# @param value [String|Vedeu::Borders::Title|
|
|
@@ -129,6 +131,8 @@ module Vedeu
|
|
|
129
131
|
# the caption is longer than the interface is wide, and pad with a
|
|
130
132
|
# space either side.
|
|
131
133
|
#
|
|
134
|
+
# @api private
|
|
135
|
+
#
|
|
132
136
|
class Caption < Title
|
|
133
137
|
|
|
134
138
|
end # Caption
|
data/lib/vedeu/buffers/null.rb
CHANGED
data/lib/vedeu/common.rb
CHANGED
|
@@ -221,8 +221,11 @@ module Vedeu
|
|
|
221
221
|
# setting is for debugging to be disabled. Using `debug!` or
|
|
222
222
|
# setting `debug` to true will enable debugging.
|
|
223
223
|
#
|
|
224
|
-
#
|
|
225
|
-
#
|
|
224
|
+
# Enabling debugging will:
|
|
225
|
+
# - Enable `Vedeu::Logging::Timer` meaning various timing
|
|
226
|
+
# information is output to the log file.
|
|
227
|
+
# - Produce a full a backtrace to STDOUT and the log file upon
|
|
228
|
+
# unrecoverable error or unhandled exception.
|
|
226
229
|
#
|
|
227
230
|
# Vedeu.configure do
|
|
228
231
|
# debug!
|
|
@@ -516,9 +519,9 @@ module Vedeu
|
|
|
516
519
|
def background(value = nil)
|
|
517
520
|
return options[:background] unless value
|
|
518
521
|
|
|
519
|
-
|
|
522
|
+
bg = Vedeu::Colours::Background.coerce(value)
|
|
520
523
|
|
|
521
|
-
options[:background] = colour_attributes(background:
|
|
524
|
+
options[:background] = colour_attributes(background: bg)
|
|
522
525
|
.fetch(:background)
|
|
523
526
|
end
|
|
524
527
|
|
|
@@ -534,9 +537,9 @@ module Vedeu
|
|
|
534
537
|
def foreground(value = nil)
|
|
535
538
|
return options[:foreground] unless value
|
|
536
539
|
|
|
537
|
-
|
|
540
|
+
fg = Vedeu::Colours::Foreground.coerce(value)
|
|
538
541
|
|
|
539
|
-
options[:foreground] = colour_attributes(foreground:
|
|
542
|
+
options[:foreground] = colour_attributes(foreground: fg)
|
|
540
543
|
.fetch(:foreground)
|
|
541
544
|
end
|
|
542
545
|
|
data/lib/vedeu/cursors/cursor.rb
CHANGED
data/lib/vedeu/editor/capture.rb
CHANGED
|
@@ -52,27 +52,20 @@ module Vedeu
|
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
if
|
|
56
|
-
button, x, y = keys.chars[3..-1].map { |c| c.ord - 32 }
|
|
57
|
-
|
|
58
|
-
Vedeu.log(type: :input,
|
|
59
|
-
message: "Mouse pressed: '#{button}' (x: #{x}, y: #{y})")
|
|
60
|
-
|
|
61
|
-
if button == 0 # left mouse button
|
|
62
|
-
Vedeu.trigger(:_cursor_reposition_, Vedeu.focus, y, x)
|
|
63
|
-
|
|
64
|
-
elsif button == 64 # scroll wheel up
|
|
65
|
-
Vedeu.trigger(:_cursor_up_, Vedeu.focus)
|
|
66
|
-
|
|
67
|
-
elsif button == 65 # scroll wheel down
|
|
68
|
-
Vedeu.trigger(:_cursor_down_, Vedeu.focus)
|
|
69
|
-
|
|
70
|
-
end
|
|
71
|
-
end
|
|
55
|
+
return Vedeu::Input::Mouse.click(keys) if click?(keys)
|
|
72
56
|
|
|
73
57
|
keys
|
|
74
58
|
end
|
|
75
59
|
|
|
60
|
+
# Returns a boolean indicating whether a mouse click was
|
|
61
|
+
# received.
|
|
62
|
+
#
|
|
63
|
+
# @param keys [String]
|
|
64
|
+
# @return [Boolean]
|
|
65
|
+
def click?(keys)
|
|
66
|
+
keys.start_with?("\e[M")
|
|
67
|
+
end
|
|
68
|
+
|
|
76
69
|
# @return [IO]
|
|
77
70
|
def console
|
|
78
71
|
@console || Vedeu::Terminal.console
|
data/lib/vedeu/editor/cropper.rb
CHANGED
data/lib/vedeu/editor/cursor.rb
CHANGED
data/lib/vedeu/editor/delete.rb
CHANGED
|
@@ -4,6 +4,8 @@ module Vedeu
|
|
|
4
4
|
|
|
5
5
|
# A collection of keypresses ordered by input.
|
|
6
6
|
#
|
|
7
|
+
# @api private
|
|
8
|
+
#
|
|
7
9
|
class Document
|
|
8
10
|
|
|
9
11
|
include Vedeu::Repositories::Model
|
|
@@ -37,6 +39,11 @@ module Vedeu
|
|
|
37
39
|
|
|
38
40
|
# Returns a new instance of Vedeu::Editor::Document.
|
|
39
41
|
#
|
|
42
|
+
# @note
|
|
43
|
+
# If a particular key is missing from the attributes
|
|
44
|
+
# parameter, then it is added with the respective value from
|
|
45
|
+
# #defaults.
|
|
46
|
+
#
|
|
40
47
|
# @param attributes [Hash]
|
|
41
48
|
# @option attributes data [String]
|
|
42
49
|
# @option attributes name [String|Symbol]
|
data/lib/vedeu/editor/insert.rb
CHANGED
data/lib/vedeu/editor/item.rb
CHANGED
data/lib/vedeu/editor/line.rb
CHANGED
data/lib/vedeu/editor/lines.rb
CHANGED
data/lib/vedeu/error.rb
CHANGED
data/lib/vedeu/events/trigger.rb
CHANGED
data/lib/vedeu/geometry/area.rb
CHANGED
data/lib/vedeu/geometry/grid.rb
CHANGED
|
@@ -5,6 +5,8 @@ module Vedeu
|
|
|
5
5
|
# Provides the mechanism to align an interface/view horizontally
|
|
6
6
|
# within the available terminal space.
|
|
7
7
|
#
|
|
8
|
+
# @api private
|
|
9
|
+
#
|
|
8
10
|
class HorizontalAlignment < Vedeu::Geometry::Alignment
|
|
9
11
|
|
|
10
12
|
# @raise [Vedeu::Error::InvalidSyntax] When the value is not one
|
data/lib/vedeu/geometry/null.rb
CHANGED
|
@@ -5,6 +5,8 @@ module Vedeu
|
|
|
5
5
|
# Provides the mechanism to align an interface/view vertically
|
|
6
6
|
# within the available terminal space.
|
|
7
7
|
#
|
|
8
|
+
# @api private
|
|
9
|
+
#
|
|
8
10
|
class VerticalAlignment < Vedeu::Geometry::Alignment
|
|
9
11
|
|
|
10
12
|
# @raise [Vedeu::Error::InvalidSyntax] When the value is not one
|
data/lib/vedeu/input/all.rb
CHANGED
data/lib/vedeu/input/capture.rb
CHANGED
|
@@ -42,7 +42,10 @@ module Vedeu
|
|
|
42
42
|
#
|
|
43
43
|
# @return [Array|String|Symbol]
|
|
44
44
|
def read
|
|
45
|
-
if
|
|
45
|
+
if click?(keypress)
|
|
46
|
+
Vedeu.trigger(:_mouse_event_, keypress)
|
|
47
|
+
|
|
48
|
+
elsif reader.raw_mode?
|
|
46
49
|
Vedeu.trigger(:_keypress_, keypress)
|
|
47
50
|
|
|
48
51
|
elsif reader.fake_mode?
|
|
@@ -74,13 +77,24 @@ module Vedeu
|
|
|
74
77
|
|
|
75
78
|
private
|
|
76
79
|
|
|
80
|
+
# Returns a boolean indicating whether a mouse click was
|
|
81
|
+
# received.
|
|
82
|
+
#
|
|
83
|
+
# @param key [String]
|
|
84
|
+
# @return [Boolean]
|
|
85
|
+
def click?(key)
|
|
86
|
+
return false if key.is_a?(Symbol)
|
|
87
|
+
|
|
88
|
+
key.is_a?(Vedeu::Cursors::Cursor) || key.start_with?("\e[M")
|
|
89
|
+
end
|
|
90
|
+
|
|
77
91
|
# Returns the translated (when possible) keypress(es).
|
|
78
92
|
#
|
|
79
93
|
# @return [String|Symbol]
|
|
80
94
|
def keypress
|
|
81
95
|
key = input
|
|
82
96
|
|
|
83
|
-
Vedeu::Input::Translator.translate(key)
|
|
97
|
+
@keypress ||= Vedeu::Input::Translator.translate(key)
|
|
84
98
|
end
|
|
85
99
|
|
|
86
100
|
# Returns the input from the terminal.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
module Vedeu
|
|
2
|
+
|
|
3
|
+
module Input
|
|
4
|
+
|
|
5
|
+
# Rudimentary support for mouse interactions.
|
|
6
|
+
#
|
|
7
|
+
class Mouse
|
|
8
|
+
|
|
9
|
+
# Trigger an event depending on which button was pressed.
|
|
10
|
+
#
|
|
11
|
+
# @param input [String]
|
|
12
|
+
# @return [void]
|
|
13
|
+
def self.click(input)
|
|
14
|
+
new(input).click
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Return an instance of Vedeu::Input::Mouse.
|
|
18
|
+
#
|
|
19
|
+
# @param input [String]
|
|
20
|
+
# @return [Vedeu::Input::Mouse]
|
|
21
|
+
def initialize(input)
|
|
22
|
+
@input = input
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Trigger an event depending on which button was pressed.
|
|
26
|
+
#
|
|
27
|
+
# @return [void]
|
|
28
|
+
def click
|
|
29
|
+
Vedeu.log(type: :input,
|
|
30
|
+
message: "Mouse pressed: '#{button}' (x: #{x}, y: #{y})")
|
|
31
|
+
|
|
32
|
+
if left_click?
|
|
33
|
+
Vedeu.trigger(:_cursor_reposition_, Vedeu.focus, y, x)
|
|
34
|
+
|
|
35
|
+
elsif wheel_up?
|
|
36
|
+
Vedeu.trigger(:_cursor_up_, Vedeu.focus)
|
|
37
|
+
|
|
38
|
+
elsif wheel_down?
|
|
39
|
+
Vedeu.trigger(:_cursor_down_, Vedeu.focus)
|
|
40
|
+
|
|
41
|
+
else
|
|
42
|
+
Vedeu.log(type: :input,
|
|
43
|
+
message: 'Vedeu does not support mouse button ' \
|
|
44
|
+
"'#{button}' yet.")
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
protected
|
|
50
|
+
|
|
51
|
+
# @!attribute [r] input
|
|
52
|
+
# @return [String]
|
|
53
|
+
attr_reader :input
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
|
|
57
|
+
# @return [Fixnum]
|
|
58
|
+
def button
|
|
59
|
+
mouse[0]
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# @return [Array<Fixnum>]
|
|
63
|
+
def mouse
|
|
64
|
+
@_input ||= input.chars[3..-1].map { |character| character.ord - 32 }
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# @return [Boolean]
|
|
68
|
+
def left_click?
|
|
69
|
+
button == 0
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# @return [Boolean]
|
|
73
|
+
def wheel_up?
|
|
74
|
+
button == 64
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @return [Boolean]
|
|
78
|
+
def wheel_down?
|
|
79
|
+
button == 65
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# @return [Fixnum]
|
|
83
|
+
def x
|
|
84
|
+
mouse[1]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# @return [Fixnum]
|
|
88
|
+
def y
|
|
89
|
+
mouse[2]
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
end # Mouse
|
|
93
|
+
|
|
94
|
+
end # Input
|
|
95
|
+
|
|
96
|
+
end # Vedeu
|
data/lib/vedeu/menus/null.rb
CHANGED
data/lib/vedeu/models/cell.rb
CHANGED
|
@@ -4,6 +4,8 @@ module Vedeu
|
|
|
4
4
|
|
|
5
5
|
# A Cell represents a single square of the terminal.
|
|
6
6
|
#
|
|
7
|
+
# @api private
|
|
8
|
+
#
|
|
7
9
|
class Cell
|
|
8
10
|
|
|
9
11
|
# @!attribute [r] colour
|
|
@@ -20,6 +22,11 @@ module Vedeu
|
|
|
20
22
|
|
|
21
23
|
# Returns a new instance of Vedeu::Models::Cell.
|
|
22
24
|
#
|
|
25
|
+
# @note
|
|
26
|
+
# If a particular key is missing from the attributes
|
|
27
|
+
# parameter, then it is added with the respective value from
|
|
28
|
+
# #defaults.
|
|
29
|
+
#
|
|
23
30
|
# @param attributes [Hash<Symbol => Array<Symbol|String>,
|
|
24
31
|
# Fixnum, String, Symbol]
|
|
25
32
|
# @option attributes colour [NilClass|String]
|
data/lib/vedeu/models/escape.rb
CHANGED
data/lib/vedeu/null/all.rb
CHANGED
|
@@ -4,9 +4,10 @@ module Vedeu
|
|
|
4
4
|
|
|
5
5
|
# Provides shared functionality to Vedeu::Renderer classes.
|
|
6
6
|
#
|
|
7
|
-
# :nocov:
|
|
8
7
|
module Options
|
|
9
8
|
|
|
9
|
+
# :nocov:
|
|
10
|
+
|
|
10
11
|
# @!attribute [w] options
|
|
11
12
|
# @return [Hash<Symbol => void>]
|
|
12
13
|
attr_writer :options
|
|
@@ -32,8 +33,9 @@ module Vedeu
|
|
|
32
33
|
{}
|
|
33
34
|
end
|
|
34
35
|
|
|
36
|
+
# :nocov:
|
|
37
|
+
|
|
35
38
|
end # Options
|
|
36
|
-
# :nocov:
|
|
37
39
|
|
|
38
40
|
end # Renderers
|
|
39
41
|
|
data/lib/vedeu/version.rb
CHANGED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module Vedeu
|
|
4
|
+
|
|
5
|
+
module Input
|
|
6
|
+
|
|
7
|
+
describe Mouse do
|
|
8
|
+
|
|
9
|
+
let(:described) { Vedeu::Input::Mouse }
|
|
10
|
+
let(:instance) { described.new(input) }
|
|
11
|
+
let(:input) {}
|
|
12
|
+
|
|
13
|
+
describe '#initialize' do
|
|
14
|
+
it { instance.must_be_instance_of(described) }
|
|
15
|
+
it { instance.instance_variable_get('@input').must_equal(input) }
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
describe '.click' do
|
|
19
|
+
before { Vedeu.interface(:mouse_test) {} }
|
|
20
|
+
after { Vedeu.interfaces.reset! }
|
|
21
|
+
|
|
22
|
+
subject { described.click(input) }
|
|
23
|
+
|
|
24
|
+
context 'when the left mouse button was pressed' do
|
|
25
|
+
let(:input) { "\e[M ,%" }
|
|
26
|
+
|
|
27
|
+
it {
|
|
28
|
+
Vedeu.expects(:trigger).with(:_cursor_reposition_, Vedeu.focus, 5, 12)
|
|
29
|
+
subject
|
|
30
|
+
}
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
context 'when the mouse scroll wheel was moved upwards' do
|
|
34
|
+
let(:input) { "\e[M`6E" }
|
|
35
|
+
|
|
36
|
+
it {
|
|
37
|
+
Vedeu.expects(:trigger).with(:_cursor_up_, Vedeu.focus)
|
|
38
|
+
subject
|
|
39
|
+
}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
context 'when the mouse scroll wheel was moved downwards' do
|
|
43
|
+
let(:input) { "\e[MaN5" }
|
|
44
|
+
|
|
45
|
+
it {
|
|
46
|
+
Vedeu.expects(:trigger).with(:_cursor_down_, Vedeu.focus)
|
|
47
|
+
subject
|
|
48
|
+
}
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
context 'when the mouse input was not recognised' do
|
|
52
|
+
let(:input) { "\e[Mb0(" }
|
|
53
|
+
|
|
54
|
+
it {
|
|
55
|
+
subject.must_equal("\e[93m[input] \e[39m\e[33mVedeu does not " \
|
|
56
|
+
"support mouse button '66' yet.\e[39m")
|
|
57
|
+
}
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
describe '#click' do
|
|
62
|
+
it { instance.must_respond_to(:click) }
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end # Mouse
|
|
66
|
+
|
|
67
|
+
end # Input
|
|
68
|
+
|
|
69
|
+
end # Vedeu
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vedeu
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.51
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gavin Laking
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-11-
|
|
11
|
+
date: 2015-11-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: guard
|
|
@@ -436,6 +436,7 @@ files:
|
|
|
436
436
|
- lib/vedeu/input/keymap.rb
|
|
437
437
|
- lib/vedeu/input/keymaps.rb
|
|
438
438
|
- lib/vedeu/input/mapper.rb
|
|
439
|
+
- lib/vedeu/input/mouse.rb
|
|
439
440
|
- lib/vedeu/input/store.rb
|
|
440
441
|
- lib/vedeu/input/translator.rb
|
|
441
442
|
- lib/vedeu/interfaces/all.rb
|
|
@@ -613,6 +614,7 @@ files:
|
|
|
613
614
|
- test/lib/vedeu/input/keymap_test.rb
|
|
614
615
|
- test/lib/vedeu/input/keymaps_test.rb
|
|
615
616
|
- test/lib/vedeu/input/mapper_test.rb
|
|
617
|
+
- test/lib/vedeu/input/mouse_test.rb
|
|
616
618
|
- test/lib/vedeu/input/store_test.rb
|
|
617
619
|
- test/lib/vedeu/input/translator_test.rb
|
|
618
620
|
- test/lib/vedeu/interfaces/clear_test.rb
|
|
@@ -820,6 +822,7 @@ test_files:
|
|
|
820
822
|
- test/lib/vedeu/input/keymap_test.rb
|
|
821
823
|
- test/lib/vedeu/input/keymaps_test.rb
|
|
822
824
|
- test/lib/vedeu/input/mapper_test.rb
|
|
825
|
+
- test/lib/vedeu/input/mouse_test.rb
|
|
823
826
|
- test/lib/vedeu/input/store_test.rb
|
|
824
827
|
- test/lib/vedeu/input/translator_test.rb
|
|
825
828
|
- test/lib/vedeu/interfaces/clear_test.rb
|