awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعخادم MCPحولكيفية ترتيب النتائجالصحافة
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
crossterm-rs avatar

crossterm-rs/crossterm

0
View on GitHub↗
4,098 نجوم·371 تفرعات·Rust·MIT·8 مشاهدات

Crossterm

Crossterm is a cross-platform Rust library for terminal manipulation, providing a low-level interface for controlling terminal state, cursor movement, and text styling. It acts as a cross-platform TTY interface that handles raw mode, alternate screen buffers, and terminal window metadata across different operating systems.

The library includes an ANSI text styling engine for applying RGB colors and text attributes to console output, as well as a terminal input event handler for capturing keyboard presses, mouse movements, and terminal resize events in real time. It also provides system clipboard integration for copying and pasting text.

The project covers broad capability areas including terminal state management, asynchronous input streaming, and cursor control. It provides tools for environment manipulation, such as clearing lines and updating window titles, and supports terminal state querying to retrieve window size and TTY status.

Features

  • Cross-Platform CLI Builders - Provides a cross-platform foundation for building consistent command line tools across Windows, macOS, and Linux.
  • Keyboard and Mouse Event Capture - Converts raw byte streams from the terminal into structured keyboard and mouse events.
  • Terminal Escape Sequences - Translates high-level commands into ANSI and VT100 escape sequences for terminal control.
  • Terminal State Accessors - Retrieves terminal window metadata, including size, pixel dimensions, and TTY status.
  • Terminal Mode Managers - Provides APIs for toggling raw mode and managing terminal modes to control display and input processing.
  • Cross-Platform TTY Interfaces - Provides a low-level interface for handling raw mode and alternate screen buffers across operating systems.
  • Low-Level Terminal Control - Provides precise control over raw mode, alternate screen buffers, and cursor positioning.
  • ANSI Escape Sequence Formatting - Implements a system for applying RGB colors and attributes to console output via ANSI escape sequences.
  • Terminal Manipulation Libraries - A comprehensive Rust library for controlling terminal state, cursor movement, and text styling.
  • Alternate Screen Management - Provides the ability to toggle between primary and alternate terminal screen buffers to isolate application UI.
  • Raw Mode Input Handlers - Disables line buffering and echo at the OS level to capture raw keyboard and mouse input.
  • Terminal Text Styling - Applies colors and text attributes to terminal output to improve visual hierarchy.
  • Terminal User Interfaces - Enables the construction of full-screen interactive terminal user interfaces with custom layouts and mouse support.
  • Terminal Text Attributes - Applies RGB/ANSI colors and text attributes like bold or italic to terminal output.
  • Terminal Environment Manipulation - Provides tools to clear lines, scroll the view, and update the terminal window title.
  • TTY Detection - Checks if the output stream is a terminal to decide between interactive features and plain text fallback.
  • Backend Abstractions - Uses a trait system to separate generic terminal operations from platform-specific backend implementations.
  • Terminal Event Handlers - Provides an event system for capturing real-time keyboard presses, mouse movements, and resize events.
  • Concurrent Terminal Output Coordination - Coordinates output updates to prevent visual flickering and overlapping during screen refreshes.
  • Cursor Position Mapping - Calculates absolute and relative screen positions to manage character placement and cursor visibility.
  • Cursor Visibility & Positioning - Moves the terminal cursor to specific coordinates and toggles its visibility.
  • Asynchronous Input Handlers - Produces asynchronous sequences of input events to process user interactions without blocking the main thread.
  • Real-time Input Capture - Captures keyboard and mouse events asynchronously for responsive command line interfaces.
  • Terminal Window Titles - Allows dynamically updating the terminal window title and other metadata using standard escape sequences.

سجل النجوم

مخطط تاريخ النجوم لـ crossterm-rs/crosstermمخطط تاريخ النجوم لـ crossterm-rs/crossterm

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة crossterm-rs/crossterm؟

Crossterm is a cross-platform Rust library for terminal manipulation, providing a low-level interface for controlling terminal state, cursor movement, and text styling. It acts as a cross-platform TTY interface that handles raw mode, alternate screen buffers, and terminal window metadata across different operating systems.

ما هي الميزات الرئيسية لـ crossterm-rs/crossterm؟

الميزات الرئيسية لـ crossterm-rs/crossterm هي: Cross-Platform CLI Builders, Keyboard and Mouse Event Capture, Terminal Escape Sequences, Terminal State Accessors, Terminal Mode Managers, Cross-Platform TTY Interfaces, Low-Level Terminal Control, ANSI Escape Sequence Formatting.

ما هي البدائل مفتوحة المصدر لـ crossterm-rs/crossterm؟

تشمل البدائل مفتوحة المصدر لـ crossterm-rs/crossterm: cronvel/terminal-kit — Terminal-kit is a Node.js toolkit for building command-line applications and console user interfaces. It provides a… kovidgoyal/kitty — Kitty is a high-performance, GPU-accelerated terminal emulator designed to provide a consistent and extensible… nsf/termbox-go — termbox-go is a Go terminal user interface library and cross-platform terminal emulator abstraction. It provides a… gdamore/tcell — tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a… chalk/chalk — Chalk is a Node.js console formatter and terminal styling library used to add colors and text modifiers to command… anomalyco/opentui — Opentui is a terminal user interface framework for building interactive command line applications. It provides a…

بدائل مفتوحة المصدر لـ Crossterm

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Crossterm.
  • cronvel/terminal-kitالصورة الرمزية لـ cronvel

    cronvel/terminal-kit

    3,366عرض على GitHub↗

    Terminal-kit is a Node.js toolkit for building command-line applications and console user interfaces. It provides a comprehensive suite of utilities for console text styling, terminal graphics rendering, input parsing, and interactive interface construction. The library features a cell-based text grid model, a component document tree for hierarchical layout of interactive widgets, and off-screen pixel buffering for multi-layered image composition and manipulation. It handles direct escape-sequence output control and raw-mode input parsing to manage display regions and capture user interaction

    JavaScript
    عرض على GitHub↗3,366
  • kovidgoyal/kittyالصورة الرمزية لـ kovidgoyal

    kovidgoyal/kitty

    33,462عرض على GitHub↗

    Kitty is a high-performance, GPU-accelerated terminal emulator designed to provide a consistent and extensible workspace across different operating systems. It leverages graphics hardware to render text, images, and complex layouts with low latency, while providing a robust environment for demanding command-line workflows. The project distinguishes itself through its integrated workspace management and programmable interface. It functions as a tiling window manager that organizes terminal windows, tabs, and layouts into persistent, keyboard-driven sessions. Users can automate complex workflow

    Pythoncgogolang
    عرض على GitHub↗33,462
  • gdamore/tcellالصورة الرمزية لـ gdamore

    gdamore/tcell

    5,076عرض على GitHub↗

    tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab

    Go
    عرض على GitHub↗5,076
  • chalk/chalkالصورة الرمزية لـ chalk

    chalk/chalk

    23,262عرض على GitHub↗

    Chalk is a Node.js console formatter and terminal styling library used to add colors and text modifiers to command line output. It functions as a tool for formatting strings with foreground colors, background tints, and text styles using ANSI escape sequences. The library includes a terminal color support detector that automatically determines the color depth and capabilities of the current environment. It features an ANSI color downsampler that converts RGB, Hex, or 256-color values to the nearest compatible format based on the detected terminal capabilities. The project provides capabiliti

    JavaScriptansiansi-escape-codeschalk
    عرض على GitHub↗23,262
  • عرض جميع البدائل الـ 30 لـ Crossterm→