module Vedeu module API # The internal API methods allow Vedeu to function and change # without major refactoring. The methods listed here will rarely # be used by client applications. # module Internal extend Forwardable module_function # Manipulate the repository of background colours. # # @example # Vedeu.background_colours # # @!method background_colours # @return [Vedeu::Colours::Backgrounds] def_delegators Vedeu::Colours::Backgrounds, :background_colours # Manipulate the repository of borders. # # @example # Vedeu.borders # # @!method borders # @return [Vedeu::Borders::Repository] def_delegators Vedeu::Borders::Repository, :borders # Manipulate the repository of buffers. # # @example # Vedeu.buffers # # @!method buffers # @return [Vedeu::Buffers::Repository] def_delegators Vedeu::Buffers::Repository, :buffers # Manipulate the repository of cursors. # # @example # Vedeu.cursors # # @!method cursors # @return [Vedeu::Cursors::Repository] def_delegators Vedeu::Cursors::Repository, :cursors # Allow debugging via the creation of stack traces courtesy of # ruby-prof. # # @example # Vedeu.debug # # @!method debug # @return [Vedeu::Logging::Debug] def_delegators Vedeu::Logging::Debug, :debug # Manipulate the repository of documents. # # @example # Vedeu.documents # # @!method documents # @return [Vedeu::Editor::Documents] def_delegators Vedeu::Editor::Documents, :documents # Manipulate the repository of events. # # @example # Vedeu.events # # @!method events # @return [Vedeu::Events::Repository] def_delegators Vedeu::Events::Repository, :events # Manipulate the repository of foreground colours. # # @example # Vedeu.foreground_colours # # @!method foreground_colours # @return [Vedeu::Colours::Foregrounds] def_delegators Vedeu::Colours::Foregrounds, :foreground_colours # Manipulate the repository of geometries. # # @example # Vedeu.geometries # # @!method geometries # @return [Vedeu::Geometry::Repository] def_delegators Vedeu::Geometry::Repository, :geometries # Manipulate the repository of groups. # # @example # Vedeu.groups # # @!method groups # @return [Vedeu::Models::Groups] def_delegators Vedeu::Models::Groups, :groups # Manipulate the repository of interfaces. # # @example # Vedeu.interfaces # # @!method interfaces # @return [Vedeu::Models::Interfaces] def_delegators Vedeu::Models::Interfaces, :interfaces # Manipulate the repository of keymaps. # # @example # Vedeu.keymaps # # @!method keymaps # @return [Vedeu::Input::Keymaps] def_delegators Vedeu::Input::Keymaps, :keymaps # Manipulate the repository of menus. # # @example # Vedeu.menus # # @!method menus # @return [Vedeu::Menus::Repository] def_delegators Vedeu::Menus::Repository, :menus # Manipulate the internal flags. # # @!method ready? # @!method ready! # @return [Boolean] def_delegators Vedeu::Runtime::Flags, :ready?, :ready! # @example # Vedeu.renderer # Vedeu.renderers # # @!method renderer # @see Vedeu::Renderers#renderer # @!method renderers # @see Vedeu::Renderers#renderers def_delegators Vedeu::Renderers, :renderer, :renderers # Instruct the terminal to resize. This will happen # automatically as the terminal recieves SIGWINCH signals. # # @example # Vedeu.resize # # @!method resize # @see Vedeu::Terminal#resize def_delegators Vedeu::Terminal, :resize # Measure the execution time of the code in the given block. # # @example # Vedeu.timer do # # ... some code here ... # end # # @!method timer # @see Vedeu::Logging::Timer.timer def_delegators Vedeu::Logging::Timer, :timer end # Internal end # API extend Vedeu::API::Internal end # Vedeu