7 dépôts
Development tools and debugging utilities specifically designed for creating terminal-based user interfaces.
Explore 7 awesome GitHub repositories matching operating systems & systems programming · Terminal User Interface Tooling. Refine with filters or upvote what's useful.
Rich is a Python terminal formatting library and user interface framework. It provides tools for rendering rich text, colors, and complex layouts within a terminal environment, including specialized formatters for markdown and source code syntax highlighting. The library distinguishes itself through high-level UI components such as tables with unicode borders, hierarchical tree views for nested data structures, and a system for building structured terminal user interfaces. It also includes a debugging visualizer for pretty-printing complex data and formatting error tracebacks. The capability
Offers a framework for building professional CLI tools with syntax highlighting and formatted logs.
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfac
Inspect nested interface regions using tree-based visualizations to verify component positioning and layout logic during development.
Masonry is a declarative UI layout engine and domain-specific language for defining layout constraints on iOS and macOS. It serves as a wrapper for native Apple layout constraints, providing a system for positioning views on a screen by declaring rules and priorities. The library implements a fluent interface that uses chainable method calls to define complex screen layouts. This approach replaces native configuration calls with an expressive syntax for generating layout rules. The engine includes capabilities for managing constraint priorities to resolve layout conflicts and tools for updat
Includes utilities for naming views and constraints to isolate and fix layout errors in the console.
Tachyons is a utility-first CSS framework and functional CSS library. It provides a collection of single-purpose classes used to style elements and build layouts without writing custom CSS. The framework centers on a mobile-first responsive design system and a nestable grid architecture that adapts layouts across different screen sizes. It includes accessible color palettes and schemes designed to meet visual contrast and accessibility standards. The system provides tools for utility-first styling, responsive layout management, and visual debugging to resolve alignment and spacing issues.
Provides specialized utility tools to visualize and resolve structural alignment and spacing problems.
cli-spinners is a collection of predefined terminal animation sequences and structured datasets used to signal background activity in console applications. It serves as a library of visual frame sequences and a JSON dataset designed for integration into command line scripts. The project provides a curated collection of spinner frame sequences and timing intervals to create loading indicators. It includes utilities for selecting specific animations or picking a random configuration from the available library of styles. The library covers terminal animation assets and visual feedback mechanism
Enhances terminal user experience by providing clear indicators that a background process is active.
Ce projet est un utilitaire en ligne de commande conçu pour gérer les environnements de développement en installant, basculant et épinglant plusieurs versions de langages de programmation, SDK, runtimes et moteurs de base de données. Il fonctionne comme un contrôleur centralisé pour les toolchains complexes, garantissant que des versions logicielles spécifiques sont maintenues de manière cohérente sur différentes machines et répertoires de projet. L'outil se distingue par une interface de terminal interactive qui permet aux utilisateurs de parcourir et de sélectionner visuellement les versions logicielles, réduisant le besoin de mémoriser des arguments de ligne de commande complexes. Il offre également un support robuste pour les environnements réseau restreints en acheminant le trafic de téléchargement via des proxys locaux ou inversés, garantissant une récupération fiable des paquets. Au-delà du versionnage de base, le gestionnaire s'intègre avec des installateurs de paquets externes et gère la configuration des protocoles de serveur de langage pour prendre en charge l'édition de code avancée. Il maintient les performances grâce à la mise en cache des métadonnées locales et automatise la cohérence de l'environnement en créant dynamiquement des shims de chemins shell et en générant des scripts de complétion en ligne de commande.
Provides visual terminal-based tooling to manage development utilities without memorizing complex command-line arguments.
Ce projet est une ressource pédagogique conçue pour enseigner le développement logiciel bas niveau à travers la construction incrémentale d'un éditeur de texte fonctionnel en terminal. Il propose un cursus étape par étape qui guide les utilisateurs dans la création d'une application interactive en C, en utilisant la gestion standard des entrées du terminal. Le tutoriel se distingue par l'utilisation d'un modèle d'implémentation incrémental, où chaque étape fonctionnelle s'appuie sur le code précédent pour assurer une courbe d'apprentissage progressive. Pour soutenir ce processus, le projet inclut un utilitaire en ligne de commande qui compare le code source local aux implémentations de référence, normalisant les espaces et le formatage pour vérifier la justesse de chaque étape de développement. Le cursus couvre l'architecture fondamentale des terminaux, y compris la gestion des entrées en mode brut (raw mode), la gestion dynamique des buffers et l'utilisation de séquences d'échappement pour le rendu à l'écran. Ces exercices offrent une expérience pratique dans la gestion d'interfaces utilisateur en terminal et de structures de données textuelles. La documentation du projet est structurée pour faciliter l'apprentissage en autonomie et est prête pour un déploiement sur des environnements d'hébergement distants.
Provides implementation exercises for managing raw terminal modes and rendering text buffers for interactive tools.