Skip to content

chriseidhof/TerminalUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages