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
data/lib/vedeu/terminal_mode.rb
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
# Store the current mode of the terminal.
|
4
|
-
#
|
5
|
-
module TerminalMode
|
6
|
-
|
7
|
-
extend self
|
8
|
-
|
9
|
-
# Returns a boolean indicating whether the terminal is currently in `cooked`
|
10
|
-
# mode.
|
11
|
-
#
|
12
|
-
# @return [Boolean]
|
13
|
-
def cooked_mode?
|
14
|
-
mode == :cooked
|
15
|
-
end
|
16
|
-
|
17
|
-
# Sets the terminal in to `cooked` mode.
|
18
|
-
#
|
19
|
-
# @return [Symbol]
|
20
|
-
def cooked_mode!
|
21
|
-
@mode = :cooked
|
22
|
-
end
|
23
|
-
|
24
|
-
# Returns a boolean indicating whether the terminal is currently in `raw`
|
25
|
-
# mode.
|
26
|
-
#
|
27
|
-
# @return [Boolean]
|
28
|
-
def raw_mode?
|
29
|
-
mode == :raw
|
30
|
-
end
|
31
|
-
|
32
|
-
# Sets the terminal in to `raw` mode.
|
33
|
-
#
|
34
|
-
# @return [Symbol]
|
35
|
-
def raw_mode!
|
36
|
-
@mode = :raw
|
37
|
-
end
|
38
|
-
|
39
|
-
# Toggles the terminal's mode between `cooked` and `raw`, depending on its
|
40
|
-
# current mode.
|
41
|
-
#
|
42
|
-
# @return [Symbol]
|
43
|
-
def switch_mode!
|
44
|
-
return cooked_mode! if raw_mode?
|
45
|
-
|
46
|
-
raw_mode!
|
47
|
-
end
|
48
|
-
|
49
|
-
# Returns the mode of the terminal, either `:raw` or `:cooked`. Can change
|
50
|
-
# throughout the lifespan of the client application.
|
51
|
-
#
|
52
|
-
# @return [Symbol]
|
53
|
-
def mode
|
54
|
-
@mode ||= Vedeu::Configuration.terminal_mode
|
55
|
-
end
|
56
|
-
|
57
|
-
end # TerminalMode
|
58
|
-
|
59
|
-
end # Vedeu
|
@@ -1,72 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
module Vedeu
|
4
|
-
|
5
|
-
describe TerminalMode do
|
6
|
-
|
7
|
-
let(:described) { Vedeu::TerminalMode }
|
8
|
-
|
9
|
-
describe '.raw_mode?' do
|
10
|
-
subject { described.raw_mode? }
|
11
|
-
|
12
|
-
it 'returns true if the terminal is in raw mode' do
|
13
|
-
described.raw_mode!
|
14
|
-
subject.must_equal(true)
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'returns false if the terminal is not in raw mode' do
|
18
|
-
described.cooked_mode!
|
19
|
-
subject.must_equal(false)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe '.cooked_mode?' do
|
24
|
-
subject { described.cooked_mode? }
|
25
|
-
|
26
|
-
it 'returns true if the terminal is in cooked mode' do
|
27
|
-
described.cooked_mode!
|
28
|
-
subject.must_equal(true)
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'returns false if the terminal is not in cooked mode' do
|
32
|
-
described.raw_mode!
|
33
|
-
subject.must_equal(false)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe '.switch_mode!' do
|
38
|
-
subject { described.switch_mode! }
|
39
|
-
|
40
|
-
it 'returns a Symbol' do
|
41
|
-
subject.must_be_instance_of(Symbol)
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'returns :cooked if previously :raw' do
|
45
|
-
described.raw_mode!
|
46
|
-
subject.must_equal(:cooked)
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'returns :raw if previously :cooked' do
|
50
|
-
described.cooked_mode!
|
51
|
-
subject.must_equal(:raw)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
describe '.mode' do
|
56
|
-
subject { described.mode }
|
57
|
-
|
58
|
-
before do
|
59
|
-
described.raw_mode!
|
60
|
-
Configuration.stubs(:terminal_mode).returns(:raw)
|
61
|
-
end
|
62
|
-
|
63
|
-
it { subject.must_be_instance_of(Symbol) }
|
64
|
-
|
65
|
-
it 'returns the configured terminal mode' do
|
66
|
-
subject.must_equal(:raw)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
end # TerminalMode
|
71
|
-
|
72
|
-
end # Vedeu
|