/paon

:peacock: Paon - Elegant TUI framework.

Primary LanguageGoApache License 2.0Apache-2.0

🦚 - Paon

A framework to build efficient, thread-aware, highly composable widgets based terminal user interface.

NOTE: Paon is still under active development and is not ready yet.
NOTE: It's coming soon. 👀

Widgets

  • Text
  • TextInput
  • PasswordInput
  • Button
  • Drop-down
  • Checkbox
  • Radio

Layouts

  • HBox
  • VBox
  • Table
  • ScrollView
  • Form

Project structure

┌─[negrel@matebook] - [~/code/golang/paon] - [4792]
└─[$] tree . -d
.
├── events                             # Public events
├── examples                           # Code examples
│   └── ...
├── internal                           # internal packages
│   └── ...
├── pdk                                # Paon Development Kit | Packages used to develop custom widgets
│   ├── backend                          # Interface to abstract terminal/console interaction.
│   │   └── tcell                          # tcell implementation
│   ├── draw                             # Drawing interfaces
│   ├── id                               # A package to generate unique ID (thread-safe)
│   ├── layout                           # Layout interfaces
│   ├── math                             # Basic numerical helpers
│   ├── tree                             # Generic node tree package
│   └── widgets                          # Widgets definition and basic implementations
├── scripts
├── styles                             # Widgets styling package
│   ├── property                         # Style property interface
│   └── value                            # Style value types
└── widgets                            # Built-in widgets (see list above)

🌠 Show your support

Please give a ⭐ if this project helped you!

📜 License

Apache2.0 © Alexandre Negrel

FOSSA Status