vedeu 0.6.20 → 0.6.21
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/.yardopts +1 -1
- data/README.md +4 -0
- data/Rakefile +13 -0
- data/bin/vedeu_drb_server +6 -6
- data/docs/api.md +14 -0
- data/docs/dsl.md +12 -12
- data/docs/events/document.md +4 -2
- data/docs/events/drb.md +4 -0
- data/docs/events/focus.md +2 -0
- data/docs/events/menu.md +2 -0
- data/docs/events/movement.md +7 -5
- data/docs/events/refresh.md +2 -0
- data/docs/events/system.md +5 -0
- data/docs/events/view.md +2 -0
- data/docs/events/visibility.md +2 -0
- data/lib/vedeu.rb +0 -23
- data/lib/vedeu/all.rb +2 -4
- data/lib/vedeu/application/application_view.rb +1 -1
- data/lib/vedeu/borders/all.rb +3 -3
- data/lib/vedeu/borders/border.rb +2 -2
- data/lib/vedeu/borders/dsl.rb +21 -27
- data/lib/vedeu/borders/null.rb +2 -15
- data/lib/vedeu/borders/render.rb +1 -1
- data/lib/vedeu/borders/repository.rb +9 -0
- data/lib/vedeu/buffers/buffer.rb +2 -2
- data/lib/vedeu/buffers/null.rb +1 -31
- data/lib/vedeu/buffers/refresh.rb +8 -8
- data/lib/vedeu/buffers/repository.rb +9 -0
- data/lib/vedeu/colours/backgrounds.rb +9 -0
- data/lib/vedeu/colours/colour.rb +1 -1
- data/lib/vedeu/colours/foregrounds.rb +9 -0
- data/lib/vedeu/common.rb +22 -13
- data/lib/vedeu/configuration/configuration.rb +6 -0
- data/lib/vedeu/cursors/cursor.rb +13 -8
- data/lib/vedeu/cursors/refresh.rb +2 -2
- data/lib/vedeu/cursors/repository.rb +18 -1
- data/lib/vedeu/distributed/server.rb +23 -0
- data/lib/vedeu/distributed/templates/default_borders.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_geometries.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_interfaces.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_keymaps.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_menus.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_views.vedeu +1 -1
- data/lib/vedeu/dsl/composition.rb +7 -17
- data/lib/vedeu/dsl/dsl.rb +12 -0
- data/lib/vedeu/dsl/interface.rb +32 -33
- data/lib/vedeu/dsl/keymap.rb +13 -19
- data/lib/vedeu/dsl/line.rb +3 -13
- data/lib/vedeu/dsl/shared.rb +5 -5
- data/lib/vedeu/dsl/stream.rb +0 -10
- data/lib/vedeu/dsl/use.rb +6 -6
- data/lib/vedeu/dsl/view.rb +17 -19
- data/lib/vedeu/editor/cursor.rb +32 -10
- data/lib/vedeu/editor/document.rb +33 -35
- data/lib/vedeu/editor/editor.rb +3 -4
- data/lib/vedeu/editor/insert.rb +1 -1
- data/lib/vedeu/editor/line.rb +1 -8
- data/lib/vedeu/editor/lines.rb +1 -1
- data/lib/vedeu/editor/repository.rb +9 -0
- data/lib/vedeu/esc/esc.rb +2 -1
- data/lib/vedeu/events/aliases.rb +8 -1
- data/lib/vedeu/events/event.rb +8 -0
- data/lib/vedeu/events/repository.rb +9 -0
- data/lib/vedeu/events/trigger.rb +9 -5
- data/lib/vedeu/geometry/coordinate.rb +2 -2
- data/lib/vedeu/geometry/dsl.rb +32 -38
- data/lib/vedeu/geometry/generic_coordinate.rb +1 -1
- data/lib/vedeu/geometry/geometry.rb +3 -3
- data/lib/vedeu/geometry/null.rb +2 -24
- data/lib/vedeu/geometry/repository.rb +9 -0
- data/lib/vedeu/groups/clear.rb +7 -3
- data/lib/vedeu/groups/dsl.rb +29 -35
- data/lib/vedeu/groups/group.rb +28 -4
- data/lib/vedeu/groups/refresh.rb +3 -2
- data/lib/vedeu/groups/repository.rb +9 -0
- data/lib/vedeu/input/capture.rb +1 -1
- data/lib/vedeu/input/keymap.rb +2 -1
- data/lib/vedeu/input/keymaps.rb +9 -0
- data/lib/vedeu/input/mapper.rb +4 -0
- data/lib/vedeu/input/translator.rb +1 -1
- data/lib/vedeu/logging/debug.rb +13 -0
- data/lib/vedeu/logging/log.rb +8 -0
- data/lib/vedeu/logging/timer.rb +13 -0
- data/lib/vedeu/menus/dsl.rb +8 -18
- data/lib/vedeu/menus/menu.rb +8 -4
- data/lib/vedeu/menus/null.rb +1 -1
- data/lib/vedeu/menus/repository.rb +9 -0
- data/lib/vedeu/models/cell.rb +5 -0
- data/lib/vedeu/models/escape.rb +5 -0
- data/lib/vedeu/models/focus.rb +20 -5
- data/lib/vedeu/models/interface.rb +10 -1
- data/lib/vedeu/models/interfaces.rb +9 -0
- data/lib/vedeu/models/toggleable.rb +19 -4
- data/lib/vedeu/models/views/char.rb +6 -1
- data/lib/vedeu/models/views/html_char.rb +1 -4
- data/lib/vedeu/models/views/line.rb +1 -1
- data/lib/vedeu/models/views/view.rb +1 -1
- data/lib/vedeu/null/generic.rb +14 -2
- data/lib/vedeu/null/interface.rb +1 -1
- data/lib/vedeu/null/view.rb +1 -1
- data/lib/vedeu/output/clear/interface.rb +5 -1
- data/lib/vedeu/output/compressor.rb +8 -4
- data/lib/vedeu/output/direct.rb +4 -4
- data/lib/vedeu/output/presentation/all.rb +15 -0
- data/lib/vedeu/output/presentation/presentation.rb +0 -7
- data/lib/vedeu/output/refresh/refresh.rb +1 -3
- data/lib/vedeu/output/renderers/all.rb +10 -0
- data/lib/vedeu/output/renderers/terminal.rb +1 -3
- data/lib/vedeu/repositories/collection.rb +3 -3
- data/lib/vedeu/repositories/model.rb +1 -1
- data/lib/vedeu/repositories/repository.rb +8 -8
- data/lib/vedeu/repositories/store.rb +3 -2
- data/lib/vedeu/runtime/application.rb +4 -0
- data/lib/vedeu/runtime/bootstrap.rb +1 -1
- data/lib/vedeu/runtime/flags.rb +7 -0
- data/lib/vedeu/runtime/main_loop.rb +2 -0
- data/lib/vedeu/runtime/router.rb +4 -0
- data/lib/vedeu/templating/decoder.rb +1 -1
- data/lib/vedeu/templating/encoder.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +2 -0
- data/lib/vedeu/templating/template.rb +1 -1
- data/lib/vedeu/terminal/buffer.rb +7 -0
- data/lib/vedeu/terminal/terminal.rb +8 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/borders/dsl_test.rb +0 -6
- data/test/lib/vedeu/borders/null_test.rb +0 -12
- data/test/lib/vedeu/buffers/null_test.rb +0 -37
- data/test/lib/vedeu/common_test.rb +33 -0
- data/test/lib/vedeu/cursors/cursor_test.rb +1 -1
- data/test/lib/vedeu/dsl/composition_test.rb +0 -6
- data/test/lib/vedeu/dsl/dsl_test.rb +1 -0
- data/test/lib/vedeu/dsl/interface_test.rb +0 -6
- data/test/lib/vedeu/dsl/keymap_test.rb +0 -5
- data/test/lib/vedeu/dsl/line_test.rb +0 -7
- data/test/lib/vedeu/dsl/stream_test.rb +0 -7
- data/test/lib/vedeu/editor/cursor_test.rb +23 -8
- data/test/lib/vedeu/editor/document_test.rb +27 -23
- data/test/lib/vedeu/editor/line_test.rb +0 -30
- data/test/lib/vedeu/geometry/dsl_test.rb +0 -5
- data/test/lib/vedeu/geometry/null_test.rb +0 -30
- data/test/lib/vedeu/groups/dsl_test.rb +0 -6
- data/test/lib/vedeu/groups/group_test.rb +15 -7
- data/test/lib/vedeu/menus/dsl_test.rb +0 -5
- data/test/lib/vedeu/models/cell_test.rb +4 -0
- data/test/lib/vedeu/models/escape_test.rb +4 -0
- data/test/lib/vedeu/models/views/char_test.rb +4 -0
- data/test/lib/vedeu/null/generic_test.rb +13 -0
- data/test/lib/vedeu/terminal/buffer_test.rb +3 -2
- data/test/lib/vedeu_test.rb +81 -3
- data/test/support/examples/borders_app.rb +1 -3
- data/test/support/examples/drb_app.rb +1 -3
- data/test/support/examples/editor_app.rb +2 -4
- data/test/support/examples/focus_app.rb +1 -3
- data/test/support/examples/hello_world.rb +1 -6
- data/test/support/examples/material_colours_app.rb +1 -3
- data/test/support/examples/view_templates_app/view_templates_app.rb +1 -3
- data/test/support/helpers/model_test_class.rb +1 -5
- data/test/support/who.rb +29 -0
- data/test/test_helper.rb +0 -1
- metadata +5 -17
- data/lib/vedeu/api/all.rb +0 -15
- data/lib/vedeu/api/external.rb +0 -194
- data/lib/vedeu/api/internal.rb +0 -177
- data/test/lib/vedeu/api/external_test.rb +0 -74
- data/test/lib/vedeu/api/internal_test.rb +0 -33
- data/test/support/examples/typed_commands/command.erb +0 -1
- data/test/support/examples/typed_commands/output.erb +0 -1
- data/test/support/examples/typed_commands/status.erb +0 -1
- data/test/support/examples/typed_commands/typed_commands_app.rb +0 -94
    
        data/lib/vedeu/api/internal.rb
    DELETED
    
    | @@ -1,177 +0,0 @@ | |
| 1 | 
            -
            module Vedeu
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              module API
         | 
| 4 | 
            -
             | 
| 5 | 
            -
                # The internal API methods allow Vedeu to function and change
         | 
| 6 | 
            -
                # without major refactoring. The methods listed here will rarely
         | 
| 7 | 
            -
                # be used by client applications.
         | 
| 8 | 
            -
                #
         | 
| 9 | 
            -
                module Internal
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  extend Forwardable
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                  module_function
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                  # Manipulate the repository of background colours.
         | 
| 16 | 
            -
                  #
         | 
| 17 | 
            -
                  # @example
         | 
| 18 | 
            -
                  #   Vedeu.background_colours
         | 
| 19 | 
            -
                  #
         | 
| 20 | 
            -
                  # @!method background_colours
         | 
| 21 | 
            -
                  # @return [Vedeu::Colours::Backgrounds]
         | 
| 22 | 
            -
                  def_delegators Vedeu::Colours::Backgrounds, :background_colours
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                  # Manipulate the repository of borders.
         | 
| 25 | 
            -
                  #
         | 
| 26 | 
            -
                  # @example
         | 
| 27 | 
            -
                  #   Vedeu.borders
         | 
| 28 | 
            -
                  #
         | 
| 29 | 
            -
                  # @!method borders
         | 
| 30 | 
            -
                  # @return [Vedeu::Borders::Repository]
         | 
| 31 | 
            -
                  def_delegators Vedeu::Borders::Repository, :borders
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                  # Manipulate the repository of buffers.
         | 
| 34 | 
            -
                  #
         | 
| 35 | 
            -
                  # @example
         | 
| 36 | 
            -
                  #   Vedeu.buffers
         | 
| 37 | 
            -
                  #
         | 
| 38 | 
            -
                  # @!method buffers
         | 
| 39 | 
            -
                  # @return [Vedeu::Buffers::Repository]
         | 
| 40 | 
            -
                  def_delegators Vedeu::Buffers::Repository, :buffers
         | 
| 41 | 
            -
             | 
| 42 | 
            -
                  # Manipulate the repository of cursors.
         | 
| 43 | 
            -
                  #
         | 
| 44 | 
            -
                  # @example
         | 
| 45 | 
            -
                  #   Vedeu.cursors
         | 
| 46 | 
            -
                  #
         | 
| 47 | 
            -
                  # @!method cursors
         | 
| 48 | 
            -
                  # @return [Vedeu::Cursors::Repository]
         | 
| 49 | 
            -
                  def_delegators Vedeu::Cursors::Repository, :cursors
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                  # Allow debugging via the creation of stack traces courtesy of
         | 
| 52 | 
            -
                  # ruby-prof.
         | 
| 53 | 
            -
                  #
         | 
| 54 | 
            -
                  # @example
         | 
| 55 | 
            -
                  #   Vedeu.debug
         | 
| 56 | 
            -
                  #
         | 
| 57 | 
            -
                  # @!method debug
         | 
| 58 | 
            -
                  # @return [Vedeu::Logging::Debug]
         | 
| 59 | 
            -
                  def_delegators Vedeu::Logging::Debug, :debug
         | 
| 60 | 
            -
             | 
| 61 | 
            -
                  # Manipulate the repository of documents.
         | 
| 62 | 
            -
                  #
         | 
| 63 | 
            -
                  # @example
         | 
| 64 | 
            -
                  #   Vedeu.documents
         | 
| 65 | 
            -
                  #
         | 
| 66 | 
            -
                  # @!method documents
         | 
| 67 | 
            -
                  # @return [Vedeu::Editor::Repository]
         | 
| 68 | 
            -
                  def_delegators Vedeu::Editor::Repository, :documents
         | 
| 69 | 
            -
             | 
| 70 | 
            -
                  # Manipulate the repository of events.
         | 
| 71 | 
            -
                  #
         | 
| 72 | 
            -
                  # @example
         | 
| 73 | 
            -
                  #   Vedeu.events
         | 
| 74 | 
            -
                  #
         | 
| 75 | 
            -
                  # @!method events
         | 
| 76 | 
            -
                  # @return [Vedeu::Events::Repository]
         | 
| 77 | 
            -
                  def_delegators Vedeu::Events::Repository, :events
         | 
| 78 | 
            -
             | 
| 79 | 
            -
                  # Manipulate the repository of foreground colours.
         | 
| 80 | 
            -
                  #
         | 
| 81 | 
            -
                  # @example
         | 
| 82 | 
            -
                  #   Vedeu.foreground_colours
         | 
| 83 | 
            -
                  #
         | 
| 84 | 
            -
                  # @!method foreground_colours
         | 
| 85 | 
            -
                  # @return [Vedeu::Colours::Foregrounds]
         | 
| 86 | 
            -
                  def_delegators Vedeu::Colours::Foregrounds, :foreground_colours
         | 
| 87 | 
            -
             | 
| 88 | 
            -
                  # Manipulate the repository of geometries.
         | 
| 89 | 
            -
                  #
         | 
| 90 | 
            -
                  # @example
         | 
| 91 | 
            -
                  #   Vedeu.geometries
         | 
| 92 | 
            -
                  #
         | 
| 93 | 
            -
                  # @!method geometries
         | 
| 94 | 
            -
                  # @return [Vedeu::Geometry::Repository]
         | 
| 95 | 
            -
                  def_delegators Vedeu::Geometry::Repository, :geometries
         | 
| 96 | 
            -
             | 
| 97 | 
            -
                  # Manipulate the repository of groups.
         | 
| 98 | 
            -
                  #
         | 
| 99 | 
            -
                  # @example
         | 
| 100 | 
            -
                  #   Vedeu.groups
         | 
| 101 | 
            -
                  #
         | 
| 102 | 
            -
                  # @!method groups
         | 
| 103 | 
            -
                  # @return [Vedeu::Groups::Repository]
         | 
| 104 | 
            -
                  def_delegators Vedeu::Groups::Repository, :groups
         | 
| 105 | 
            -
             | 
| 106 | 
            -
                  # Manipulate the repository of interfaces.
         | 
| 107 | 
            -
                  #
         | 
| 108 | 
            -
                  # @example
         | 
| 109 | 
            -
                  #   Vedeu.interfaces
         | 
| 110 | 
            -
                  #
         | 
| 111 | 
            -
                  # @!method interfaces
         | 
| 112 | 
            -
                  # @return [Vedeu::Models::Interfaces]
         | 
| 113 | 
            -
                  def_delegators Vedeu::Models::Interfaces, :interfaces
         | 
| 114 | 
            -
             | 
| 115 | 
            -
                  # Manipulate the repository of keymaps.
         | 
| 116 | 
            -
                  #
         | 
| 117 | 
            -
                  # @example
         | 
| 118 | 
            -
                  #   Vedeu.keymaps
         | 
| 119 | 
            -
                  #
         | 
| 120 | 
            -
                  # @!method keymaps
         | 
| 121 | 
            -
                  # @return [Vedeu::Input::Keymaps]
         | 
| 122 | 
            -
                  def_delegators Vedeu::Input::Keymaps, :keymaps
         | 
| 123 | 
            -
             | 
| 124 | 
            -
                  # Manipulate the repository of menus.
         | 
| 125 | 
            -
                  #
         | 
| 126 | 
            -
                  # @example
         | 
| 127 | 
            -
                  #   Vedeu.menus
         | 
| 128 | 
            -
                  #
         | 
| 129 | 
            -
                  # @!method menus
         | 
| 130 | 
            -
                  # @return [Vedeu::Menus::Repository]
         | 
| 131 | 
            -
                  def_delegators Vedeu::Menus::Repository, :menus
         | 
| 132 | 
            -
             | 
| 133 | 
            -
                  # Manipulate the internal flags.
         | 
| 134 | 
            -
                  #
         | 
| 135 | 
            -
                  # @!method ready?
         | 
| 136 | 
            -
                  # @!method ready!
         | 
| 137 | 
            -
                  # @return [Boolean]
         | 
| 138 | 
            -
                  def_delegators Vedeu::Runtime::Flags, :ready?, :ready!
         | 
| 139 | 
            -
             | 
| 140 | 
            -
                  # @example
         | 
| 141 | 
            -
                  #   Vedeu.renderer
         | 
| 142 | 
            -
                  #   Vedeu.renderers
         | 
| 143 | 
            -
                  #
         | 
| 144 | 
            -
                  # @!method renderer
         | 
| 145 | 
            -
                  #   @see Vedeu::Renderers#renderer
         | 
| 146 | 
            -
                  # @!method renderers
         | 
| 147 | 
            -
                  #   @see Vedeu::Renderers#renderers
         | 
| 148 | 
            -
                  def_delegators Vedeu::Renderers, :renderer, :renderers
         | 
| 149 | 
            -
             | 
| 150 | 
            -
                  # Instruct the terminal to resize. This will happen
         | 
| 151 | 
            -
                  # automatically as the terminal recieves SIGWINCH signals.
         | 
| 152 | 
            -
                  #
         | 
| 153 | 
            -
                  # @example
         | 
| 154 | 
            -
                  #   Vedeu.resize
         | 
| 155 | 
            -
                  #
         | 
| 156 | 
            -
                  # @!method resize
         | 
| 157 | 
            -
                  #   @see Vedeu::Terminal#resize
         | 
| 158 | 
            -
                  def_delegators Vedeu::Terminal, :resize
         | 
| 159 | 
            -
             | 
| 160 | 
            -
                  # Measure the execution time of the code in the given block.
         | 
| 161 | 
            -
                  #
         | 
| 162 | 
            -
                  # @example
         | 
| 163 | 
            -
                  #   Vedeu.timer do
         | 
| 164 | 
            -
                  #     # ... some code here ...
         | 
| 165 | 
            -
                  #   end
         | 
| 166 | 
            -
                  #
         | 
| 167 | 
            -
                  # @!method timer
         | 
| 168 | 
            -
                  #   @see Vedeu::Logging::Timer.timer
         | 
| 169 | 
            -
                  def_delegators Vedeu::Logging::Timer, :timer
         | 
| 170 | 
            -
             | 
| 171 | 
            -
                end # Internal
         | 
| 172 | 
            -
             | 
| 173 | 
            -
              end # API
         | 
| 174 | 
            -
             | 
| 175 | 
            -
              extend Vedeu::API::Internal
         | 
| 176 | 
            -
             | 
| 177 | 
            -
            end # Vedeu
         | 
| @@ -1,74 +0,0 @@ | |
| 1 | 
            -
            require 'test_helper'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module Vedeu
         | 
| 4 | 
            -
             | 
| 5 | 
            -
              module API
         | 
| 6 | 
            -
             | 
| 7 | 
            -
                describe External do
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                  it { Vedeu.must_respond_to(:bind) }
         | 
| 10 | 
            -
                  it { Vedeu.must_respond_to(:bind_alias) }
         | 
| 11 | 
            -
                  it { Vedeu.must_respond_to(:border) }
         | 
| 12 | 
            -
                  it { Vedeu.must_respond_to(:bound?) }
         | 
| 13 | 
            -
                  it { Vedeu.must_respond_to(:clear) }
         | 
| 14 | 
            -
                  it { Vedeu.must_respond_to(:clear_by_group) }
         | 
| 15 | 
            -
                  it { Vedeu.must_respond_to(:clear_by_name) }
         | 
| 16 | 
            -
                  it { Vedeu.must_respond_to(:configuration) }
         | 
| 17 | 
            -
                  it { Vedeu.must_respond_to(:configure) }
         | 
| 18 | 
            -
                  it { Vedeu.must_respond_to(:cursor) }
         | 
| 19 | 
            -
                  it { Vedeu.must_respond_to(:drb_restart) }
         | 
| 20 | 
            -
                  it { Vedeu.must_respond_to(:drb_start) }
         | 
| 21 | 
            -
                  it { Vedeu.must_respond_to(:drb_status) }
         | 
| 22 | 
            -
                  it { Vedeu.must_respond_to(:drb_stop) }
         | 
| 23 | 
            -
                  it { Vedeu.must_respond_to(:events) }
         | 
| 24 | 
            -
                  it { Vedeu.must_respond_to(:exit) }
         | 
| 25 | 
            -
                  it { Vedeu.must_respond_to(:focus) }
         | 
| 26 | 
            -
                  it { Vedeu.must_respond_to(:focus_by_name) }
         | 
| 27 | 
            -
                  it { Vedeu.must_respond_to(:focus_next) }
         | 
| 28 | 
            -
                  it { Vedeu.must_respond_to(:focus_previous) }
         | 
| 29 | 
            -
                  it { Vedeu.must_respond_to(:focussed?) }
         | 
| 30 | 
            -
                  it { Vedeu.must_respond_to(:geometry) }
         | 
| 31 | 
            -
                  it { Vedeu.must_respond_to(:goto) }
         | 
| 32 | 
            -
                  it { Vedeu.must_respond_to(:group) }
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                  describe 'Vedeu.height' do
         | 
| 35 | 
            -
                    before { Vedeu::Terminal.stubs(:size).returns([25, 40]) }
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                    it { Vedeu.must_respond_to(:height) }
         | 
| 38 | 
            -
                    it { Vedeu.height.must_equal(25) }
         | 
| 39 | 
            -
                  end
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                  it { Vedeu.must_respond_to(:hide_cursor) }
         | 
| 42 | 
            -
                  it { Vedeu.must_respond_to(:hide_group) }
         | 
| 43 | 
            -
                  it { Vedeu.must_respond_to(:hide_interface) }
         | 
| 44 | 
            -
                  it { Vedeu.must_respond_to(:interface) }
         | 
| 45 | 
            -
                  it { Vedeu.must_respond_to(:keymap) }
         | 
| 46 | 
            -
                  it { Vedeu.must_respond_to(:keypress) }
         | 
| 47 | 
            -
                  it { Vedeu.must_respond_to(:log) }
         | 
| 48 | 
            -
                  it { Vedeu.must_respond_to(:log_stderr) }
         | 
| 49 | 
            -
                  it { Vedeu.must_respond_to(:log_stdout) }
         | 
| 50 | 
            -
                  it { Vedeu.must_respond_to(:menu) }
         | 
| 51 | 
            -
                  it { Vedeu.must_respond_to(:render) }
         | 
| 52 | 
            -
                  it { Vedeu.must_respond_to(:renders) }
         | 
| 53 | 
            -
                  it { Vedeu.must_respond_to(:show_cursor) }
         | 
| 54 | 
            -
                  it { Vedeu.must_respond_to(:show_group) }
         | 
| 55 | 
            -
                  it { Vedeu.must_respond_to(:show_interface) }
         | 
| 56 | 
            -
                  it { Vedeu.must_respond_to(:toggle_cursor) }
         | 
| 57 | 
            -
                  it { Vedeu.must_respond_to(:toggle_group) }
         | 
| 58 | 
            -
                  it { Vedeu.must_respond_to(:toggle_interface) }
         | 
| 59 | 
            -
                  it { Vedeu.must_respond_to(:trigger) }
         | 
| 60 | 
            -
                  it { Vedeu.must_respond_to(:unbind) }
         | 
| 61 | 
            -
                  it { Vedeu.must_respond_to(:unbind_alias) }
         | 
| 62 | 
            -
                  it { Vedeu.must_respond_to(:views) }
         | 
| 63 | 
            -
             | 
| 64 | 
            -
                  describe 'Vedeu.width' do
         | 
| 65 | 
            -
                    before { Terminal.stubs(:size).returns([25, 40]) }
         | 
| 66 | 
            -
             | 
| 67 | 
            -
                    it { Vedeu.must_respond_to(:width) }
         | 
| 68 | 
            -
                    it { Vedeu.width.must_equal(40) }
         | 
| 69 | 
            -
                  end
         | 
| 70 | 
            -
                end # External
         | 
| 71 | 
            -
             | 
| 72 | 
            -
              end
         | 
| 73 | 
            -
             | 
| 74 | 
            -
            end # Vedeu
         | 
| @@ -1,33 +0,0 @@ | |
| 1 | 
            -
            require 'test_helper'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module Vedeu
         | 
| 4 | 
            -
             | 
| 5 | 
            -
              module API
         | 
| 6 | 
            -
             | 
| 7 | 
            -
                describe Internal do
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                  it { Vedeu.must_respond_to(:background_colours) }
         | 
| 10 | 
            -
                  it { Vedeu.must_respond_to(:borders) }
         | 
| 11 | 
            -
                  it { Vedeu.must_respond_to(:buffers) }
         | 
| 12 | 
            -
                  it { Vedeu.must_respond_to(:cursors) }
         | 
| 13 | 
            -
                  it { Vedeu.must_respond_to(:debug) }
         | 
| 14 | 
            -
                  it { Vedeu.must_respond_to(:documents) }
         | 
| 15 | 
            -
                  it { Vedeu.must_respond_to(:events) }
         | 
| 16 | 
            -
                  it { Vedeu.must_respond_to(:foreground_colours) }
         | 
| 17 | 
            -
                  it { Vedeu.must_respond_to(:geometries) }
         | 
| 18 | 
            -
                  it { Vedeu.must_respond_to(:groups) }
         | 
| 19 | 
            -
                  it { Vedeu.must_respond_to(:interfaces) }
         | 
| 20 | 
            -
                  it { Vedeu.must_respond_to(:keymaps) }
         | 
| 21 | 
            -
                  it { Vedeu.must_respond_to(:menus) }
         | 
| 22 | 
            -
                  it { Vedeu.must_respond_to(:ready!) }
         | 
| 23 | 
            -
                  it { Vedeu.must_respond_to(:ready?) }
         | 
| 24 | 
            -
                  it { Vedeu.must_respond_to(:renderer) }
         | 
| 25 | 
            -
                  it { Vedeu.must_respond_to(:renderers) }
         | 
| 26 | 
            -
                  it { Vedeu.must_respond_to(:resize) }
         | 
| 27 | 
            -
                  it { Vedeu.must_respond_to(:timer) }
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                end # Internal
         | 
| 30 | 
            -
             | 
| 31 | 
            -
              end # API
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            end # Vedeu
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            command
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            output
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            status
         | 
| @@ -1,94 +0,0 @@ | |
| 1 | 
            -
            #!/usr/bin/env ruby
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            lib_dir = File.dirname(__FILE__) + '/../../lib'
         | 
| 4 | 
            -
            $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            require 'vedeu'
         | 
| 7 | 
            -
             | 
| 8 | 
            -
            # A simple example application to test the input of commands. This will test
         | 
| 9 | 
            -
            # the functionality of 'cooked' mode.
         | 
| 10 | 
            -
            class VedeuTypedCommands
         | 
| 11 | 
            -
             | 
| 12 | 
            -
              Vedeu.configure do
         | 
| 13 | 
            -
                debug!
         | 
| 14 | 
            -
                log '/tmp/vedeu_typed_commands_app.log'
         | 
| 15 | 
            -
              end
         | 
| 16 | 
            -
             | 
| 17 | 
            -
              Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
         | 
| 18 | 
            -
             | 
| 19 | 
            -
              Vedeu.interface 'output' do
         | 
| 20 | 
            -
                colour foreground: '#ff0000', background: '#000022'
         | 
| 21 | 
            -
                cursor!
         | 
| 22 | 
            -
              end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
              Vedeu.interface 'status' do
         | 
| 25 | 
            -
                colour foreground: '#00ff00', background: '#003300'
         | 
| 26 | 
            -
                cursor!
         | 
| 27 | 
            -
              end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
              Vedeu.interface 'command' do
         | 
| 30 | 
            -
                colour foreground: '#ffff00', background: '#111111'
         | 
| 31 | 
            -
                cursor!
         | 
| 32 | 
            -
              end
         | 
| 33 | 
            -
             | 
| 34 | 
            -
              Vedeu.keymap('_global_') do
         | 
| 35 | 
            -
                key(:up,    'k') { Vedeu.trigger(:_cursor_up_)    }
         | 
| 36 | 
            -
                key(:right, 'l') { Vedeu.trigger(:_cursor_right_) }
         | 
| 37 | 
            -
                key(:down,  'j') { Vedeu.trigger(:_cursor_down_)  }
         | 
| 38 | 
            -
                key(:left,  'h') { Vedeu.trigger(:_cursor_left_)  }
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                key('q')        { Vedeu.trigger(:_exit_) }
         | 
| 41 | 
            -
                key(:escape)    { Vedeu.trigger(:_mode_switch_) }
         | 
| 42 | 
            -
                key(:shift_tab) { Vedeu.trigger(:_focus_prev_) }
         | 
| 43 | 
            -
                key(:tab)       { Vedeu.trigger(:_focus_next_) }
         | 
| 44 | 
            -
              end
         | 
| 45 | 
            -
             | 
| 46 | 
            -
              Vedeu.border('output') do
         | 
| 47 | 
            -
                colour foreground: '#aadd00', background: '#000022'
         | 
| 48 | 
            -
                hide_bottom!
         | 
| 49 | 
            -
              end
         | 
| 50 | 
            -
              Vedeu.border('status') do
         | 
| 51 | 
            -
                colour foreground: '#aadd00', background: '#003300'
         | 
| 52 | 
            -
                hide_top!
         | 
| 53 | 
            -
                hide_bottom!
         | 
| 54 | 
            -
              end
         | 
| 55 | 
            -
              Vedeu.border('command') do
         | 
| 56 | 
            -
                colour foreground: '#aadd00', background: '#111111'
         | 
| 57 | 
            -
                hide_top!
         | 
| 58 | 
            -
              end
         | 
| 59 | 
            -
             | 
| 60 | 
            -
              Vedeu.geometry 'output' do
         | 
| 61 | 
            -
                centred!
         | 
| 62 | 
            -
                height 7
         | 
| 63 | 
            -
                width  40
         | 
| 64 | 
            -
              end
         | 
| 65 | 
            -
             | 
| 66 | 
            -
              Vedeu.geometry('status') do
         | 
| 67 | 
            -
                height 1
         | 
| 68 | 
            -
                width  40
         | 
| 69 | 
            -
                x      use('output').left
         | 
| 70 | 
            -
                y      use('output').south(0)
         | 
| 71 | 
            -
              end
         | 
| 72 | 
            -
             | 
| 73 | 
            -
              Vedeu.geometry 'command' do
         | 
| 74 | 
            -
                height 3
         | 
| 75 | 
            -
                width  40
         | 
| 76 | 
            -
                x      use('status').left
         | 
| 77 | 
            -
                y      use('status').south(0)
         | 
| 78 | 
            -
              end
         | 
| 79 | 
            -
             | 
| 80 | 
            -
              Vedeu.focus_by_name 'command'
         | 
| 81 | 
            -
             | 
| 82 | 
            -
              Vedeu.renders do
         | 
| 83 | 
            -
                template_for('output', (File.dirname(__FILE__) + '/output.erb'), nil)
         | 
| 84 | 
            -
                template_for('status', (File.dirname(__FILE__) + '/status.erb'), nil)
         | 
| 85 | 
            -
                template_for('command', (File.dirname(__FILE__) + '/command.erb'), nil)
         | 
| 86 | 
            -
              end
         | 
| 87 | 
            -
             | 
| 88 | 
            -
              def self.start(argv = ARGV)
         | 
| 89 | 
            -
                Vedeu::Launcher.execute!(argv)
         | 
| 90 | 
            -
              end
         | 
| 91 | 
            -
             | 
| 92 | 
            -
            end # VedeuTypedCommands
         | 
| 93 | 
            -
             | 
| 94 | 
            -
            VedeuTypedCommands.start(ARGV)
         |