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
         |