TerminalUI

main

chriseidhof/TerminalUI

terminal-ui

A way to build TUI apps with a layout system and API that's similar to SwiftUI.

This was just a proof of concept. SwiftTUI looks a lot more complete and supported.

We reimplemented parts of the SwiftUI layout system in the Swift Talk series SwiftUI Layout Explained. This tries to stay as close to that as possible.

A specific goal is to keep the layout behavior as close to SwiftUI as possible. So most SwiftUI programs should "just work" here as well.

Implementation Status

  • Views (in random order)
    • Alignment
    • GeometryReader
    • Border
    • Color (so far we only support 16 colors)
    • FixedFrame
    • FlexibleFrame
    • HStack
    • Overlay
    • Background
    • ZStack
    • Text
    • Padding (In progress)
      • Add tests
    • VStack
    • Progress
    • ScrollView
    • List
    • Button
    • Switch
    • Custom Alignment Guides
    • Layout Priorities
    • More ideas (lower priority)
      • Tree View (similar to outlines)
      • Menus
      • Navigation? (Not sure if this is a good idea, but could be fun to try)
  • State/Lifecycle/Interactivity
    • Custom View structures (I think we can build this on top of BuiltinView)
    • Environment (should be easy)
    • Preferences
    • State/Binding/ObservedObject
    • Focus (we should have some way for a control to be in focus, and )
    • Interaction (nothing is interactive yet)
    • Animations
    • ...

Similar Projects:

Inspiration:

Description

  • Swift Tools 5.3.0
View More Packages from this Author

Dependencies

  • None
Last updated: Mon Mar 11 2024 11:59:32 GMT-0900 (Hawaii-Aleutian Daylight Time)