WhiteSpike-Interactive_Terminal_API icon

Interactive Terminal API

API focused on making interactable UI in the terminal

CHANGELOG

1.3.0
  • Reworked generic definitions in both CursorMenus and Applications to remove the necessity of creating a new cursor menu for each new cursor element type.

    • Breaking change: expect dependents to break upon release of this version. They should only need to specify the highest type of cursor element they wish to use for their applications (e.g if they do not use counters, they should use CursorElement in the application specification)
  • Implemented CounterPageApplication which allows both pagination and counter interaction (the respective controls from both are on separate key binds).

  • Added default return to CursorOutputElement.ApplyFunction() if no Func was provided.

  • Changed display of the output string in BoxedOutputScreen to allow unity string tags without affecting the box of the screen used, such as coloring of the text.

1.2.0
  • Implemented BaseHierarchyElement (and its derived TextHierarchyElement for text only) and BaseCursorHierarchyElement (for selectable options) which aim to provide that visual of hierarchy splits or a tree.
  • Fixed some issues with CursorElement displaying its text when it has description.
  • Actually implemented PreviousScreen correctly for terminal application classes.
1.1.4
  • PageApplication will change between screens when it reaches one of the boundaries of the current cursor menu
  • PageCursorElement doesn't display the page counter if it only contains one screen.
1.1.3
  • Added RegisterApplication method where you can specify if the listed commands can be case sensitive or not

1.1.2

  • Fixed issue with title being too big that would break the whole screen.

1.1.1

  • Abstracted application types and added base classes

1.1.0

  • Added InteractiveCounterApplication as possible application to use by the developers.
  • Added CursorCounterElement and CursorCounterMenu which are entries where players manipulate their counter
  • Added BoxedOutputScreen which allows to show configurable output in the bottom right to what the developers want to show
  • Added Active and SelectInactive attributes to CursorElement to distinguish between entries with expected output and entries which will output an error when attempt.
  • Added sorting functionality to all applications which sort relevant cursor menus to defined sorting methods.

1.0.0

  • Initial release