21 repository-uri
APIs for programmatically manipulating the cursor position and selection range within a text editor.
Distinct from Pane Cursor Controllers: Distinct from system cursor or terminal cursors; focuses on the text selection API of a rich text editor.
Explore 21 awesome GitHub repositories matching user interface & experience · Text Selection Control. Refine with filters or upvote what's useful.
CodeMirror 5 is a browser-based code editor and extensible UI component. It functions as a syntax highlighting engine and a programmable text surface, providing a professional coding experience embedded within web pages. The project is distinguished by its ability to act as a collaborative text editor, synchronizing document changes across multiple users in real time. It also includes a dedicated Vim emulation layer that implements modal keyboard interactions, motions, and operators. The system covers broad capability areas including language support for autocompletion and error analysis, co
Allows defining text ranges as read-only or atomic to control user interaction.
Trix is a rich text editor and WYSIWYG text component designed for composing and formatting documents with inline styling and block elements. It functions as an HTML content editor that manages and sanitizes input to ensure a secure and consistent document structure, while serving as a document state manager that tracks edit history and persists serialized state. The editor integrates directly with standard HTML forms, converting rich text into data for submission. It features a configurable sanitization engine that cleanses input HTML to remove unsupported tags and mitigate security risks.
Provides programmatic control to set the start and end positions of the user cursor and selection range.
xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based
Manages cursor movement and complex selection ranges across point, word, or line granularity.
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
Offers technical references for programmatically manipulating cursor positions and selection ranges within a text editor.
Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model allows multiple terminal windows to connect to a single editing session, providing a programmable environment for managing source code and text. The editor is distinguished by its selection-first logic, where a text region must be predefined before a command is applied. It leverages regular expressions to manage multiple cursors and perform bulk edits across complex text patterns, and it integrates deeply with the shell by piping selections through external programs and filters.
The editor finds occurrences of text via regex to create or jump between selections.
This project is a Python terminal user interface library and toolkit designed for building interactive command-line applications. It provides a terminal input manager and a widget toolkit for rendering dashboards, menus, and editors within a terminal emulator. The library enables the creation of full-screen terminal interfaces and interactive shells. It distinguishes itself with advanced input handling, including lexer-based syntax highlighting for visual feedback on code structure and support for industry-standard keyboard navigation modes such as Emacs and Vi. The capability surface covers
Provides capabilities for highlighting and selecting text blocks for copying and pasting.
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
Controls the start, end, and direction of text selection and programmatic range replacement.
This is a Vim plugin that adds simultaneous multi-selection and parallel editing capabilities to the editor. It functions as a multi-cursor tool and regex-based batch editor, allowing users to perform the same editing action across multiple locations in a buffer at once. The extension enables the placement of virtual cursors across a document using regular expressions or by identifying all occurrences of a word. It also allows for the generation of cursors on every line within a visual selection to facilitate multi-line block editing. The tool supports synchronized character insertion and pa
Provides regular expression-based selection to identify and spawn virtual cursors at all matching text occurrences.
CodeMirror is a browser-based code editor framework and modular extension system used to embed full-featured text editors into web pages. It functions as a syntax tree parsing engine and a language server protocol client, enabling structural language analysis and deep integration with external programming language services. The project is distinguished by its modular architecture, which uses a system of extensions and compartments for dynamic reconfiguration at runtime. It supports real-time collaborative editing and state synchronization through an operational transformation framework, allow
Supports simultaneous editing across multiple non-contiguous text selections using multiple cursors.
Tabulator is an interactive data table library and virtual DOM data grid used to create high-performance tables from JSON or arrays. It functions as a hierarchical data viewer and a spreadsheet interface component, capable of rendering thousands of records efficiently through viewport-based virtualization and progressive loading. The library distinguishes itself by providing a full spreadsheet interface mode with multi-sheet management, cell range selection, and bulk copy-paste capabilities. It supports complex data architectures, including nested data field mapping, expandable tree structure
Evaluates custom conditions to determine which specific rows are permitted to be selected.
FlowLayout este un widget de vizualizare personalizat pentru Android conceput pentru a înfășura elementele copil pe mai multe linii. Funcționează ca un layout bazat pe adaptor care populează și actualizează conținutul care curge dintr-o sursă de date, specific pentru afișarea colecțiilor de tag-uri sau chip-uri. Componenta include un sistem de selecție a tag-urilor care suportă moduri de selecție unică sau multiplă cu limite configurabile. Gestionează interacțiunile utilizatorului prin gestionarea click-urilor pe tag-uri și include un manager de stare pentru a persista indicii de selecție pe parcursul reconstrucției activității și rotațiilor ecranului. Biblioteca oferă capabilități pentru popularea dinamică a datelor și măsurarea automată a layout-ului pentru a asigura că elementele se înfășoară corect în funcție de spațiul orizontal disponibil pe ecran.
Saves and restores the current selection of items during activity reconstruction to prevent data loss.
Codehike este un framework de documentație bazat pe React și un instrument interactiv pentru walkthrough-uri de cod. Acesta funcționează ca un orchestrator de conținut markdown care transformă markdown-ul decorat în date structurate și componente React, servind drept strat de vizualizare pentru evidențierea secțiunilor de cod, a diferențelor (diffs) și a erorilor de compilare. Proiectul se distinge prin capacitatea de a crea experiențe de tip "scrollycoding" și tutoriale tehnice pas cu pas. Dispune de animații la nivel de token care demonstrează vizual modul în care logica evoluează între versiunile de cod și oferă un sistem pentru sincronizarea stării UI cu poziția de scroll a browserului. Framework-ul acoperă o gamă largă de capacități de vizualizare, inclusiv crearea de slideshow-uri de cod, layout-uri de tip spotlight și blocuri de cod cu tab-uri. Suportă adnotarea detaliată a codului prin tooltips, callout-uri și note de subsol, precum și utilitare funcționale precum switchere de limbaj, transpilarea codului și integrarea datelor de compilare în timp real. Sistemul utilizează validarea bazată pe schemă pentru a asigura siguranța tipurilor și consistența datelor structurate extrase din fișierele markdown.
Uses regular expressions to identify and select specific text patterns within code blocks for styling and annotation.
CadQuery este o bibliotecă de modelare 3D programatică și un framework CAD parametric care permite generarea de solide geometrice complexe și ansambluri folosind un API Python fluent. Acesta funcționează ca un motor de geometrie B-Rep, permițând construcția modelelor prin cod, în loc de o interfață grafică utilizator. Proiectul este construit pe nucleul Open CASCADE Technology și utilizează un API de tip method-chaining pentru a înlănțui comenzile geometrice în secvență. Se distinge printr-un sistem de coordonate bazat pe planuri de lucru (workplane) și un sistem puternic de selecție care utilizează filtrarea topologică și spațială pentru a viza fețe, muchii sau vârfuri specifice pentru operațiuni. Biblioteca acoperă o gamă cuprinzătoare de capabilități, inclusiv schițarea parametrică 2D, generarea de solide 3D prin extrudare și lofting, și gestionarea ierarhică a ansamblurilor cu constrângeri geometrice. De asemenea, oferă instrumente pentru rafinarea geometriei, cum ar fi rotunjirea (filleting) și golirea (shelling), și suportă importul și exportul formatelor standard din industrie, inclusiv STEP și DXF. Framework-ul include un motor de randare încorporat pentru vizualizarea și inspecția interactivă a modelelor în timpul procesului de scripting.
Groups multiple geometric filters using logical operators to refine the selection of specific model elements.
Squire este un editor de text bogat bazat pe DOM și editor de conținut WYSIWYG care tratează HTML-ul brut ca sursă de adevăr. Funcționează ca un sistem pentru manipularea directă a modelului obiect al documentului pentru a oferi o interfață vizuală pentru editarea conținutului web complex. Proiectul se concentrează pe editarea HTML arbitrară, permițând modificarea oricărui conținut HTML fără a pierde formatarea originală. Include instrumente pentru normalizarea și sanitizarea conținutului HTML pentru a se asigura că intrarea brută este curățată și structurată consistent înainte de a fi randată ca noduri editabile. Suprafața de capabilități a editorului acoperă formatarea inline, gestionarea elementelor de bloc și inserarea fragmentelor media. Oferă, de asemenea, gestionarea stării pentru urmărirea pozițiilor cursorului și menținerea unui istoric de undo și redo bazat pe snapshot-uri.
Manages editor focus and moves the cursor to document boundaries using the browser selection range.
gluestack-ui is a cross-platform React component library built with Tailwind CSS. It provides over 30 pre-built, accessible components that can be installed by copying their source files directly into a project, giving developers full control over customization without external runtime dependencies. Every component implements WAI-ARIA patterns, keyboard navigation, and screen reader support out of the box. A key differentiator is the copy-paste architecture: rather than a traditional package dependency, component source code is placed in the project, allowing direct editing and eliminating ve
Retains the user's selected option when a bottom sheet is closed by dragging down or tapping the backdrop.
vim-visual-multi este un plugin pentru Vim și Neovim care oferă editare de text cu cursoare multiple. Funcționează ca un editor de text cu cursoare multiple și orchestrator de macro-uri, permițând inserări, ștergeri și înlocuiri paralele pe diverse apariții ale textului. Plugin-ul include un instrument de selecție a textului regex utilizat pentru a genera cursoare multiple pe baza tiparelor de expresii regulate. Acest lucru permite identificarea cuvintelor sau fragmentelor potrivite pentru a efectua modificări în lot pe un fișier. Sistemul acoperă mai multe domenii de capabilități, inclusiv alinierea verticală și sincronizarea cursoarelor la o coloană comună. De asemenea, oferă automatizare pentru execuția comenzilor în lot, permițând rularea macro-urilor pe toate pozițiile active ale cursorului. Instrumentele de gestionare a selecției permit adăugarea, eliminarea sau omiterea unor apariții specifice pentru a rafina setul activ de cursoare.
Simulates multiple active editing points by tracking coordinates outside the native editor state.
Cherry Markdown is a web-based Markdown editor and parsing engine that converts markup text into sanitized HTML with a real-time synchronized preview pane. It functions as a rich text interface and WYSIWYG tool, providing a system for transforming markup strings into HTML documents or portable formats. The project distinguishes itself through high-performance rendering and a flexible extensibility model. It uses virtual DOM diffing and partial rendering to maintain responsiveness in large documents, and it allows for the creation of custom parsing rules and specialized HTML components via a p
Provides APIs to programmatically adjust the cursor and selection range for wrapping text in Markdown syntax.
ngx-datatable is a feature-rich data table component for Angular applications designed to display and manage large datasets. It functions as a customizable data grid that supports sorting, pagination, and the use of custom Angular templates for styling data cells. The component is distinguished by its high-performance virtual scrolling grid, which renders only visible rows to optimize memory and CPU usage. It provides an interactive interface for managing data through row selection, column reordering, and expandable detail views. The project covers a broad set of capabilities including colum
Implements conditional logic to determine whether specific rows are eligible for selection based on defined criteria.
Vis este un editor de text modal bazat pe terminal care utilizează keybinding-uri vi și un sistem de expresii regulate structurale. Acesta funcționează ca un mediu scriptabil unde Lua este utilizat pentru configurare, mapări de taste personalizate și dezvoltarea de plugin-uri. Editorul se distinge printr-un sistem de evidențiere a sintaxei bazat pe Parsing Expression Grammars și un motor de potrivire a tiparelor care tratează textul ca pe o structură pentru operațiuni complexe de căutare și înlocuire. De asemenea, se integrează direct cu shell-ul sistemului, permițând utilizatorilor să trimită intervale de text către comenzi externe și să captureze rezultatul. Proiectul oferă capabilități largi pentru manipularea textului, inclusiv utilizarea mai multor cursoare și selecții, un graf orientat pentru istoricul de undo și redo neliniar și o interfață cu mai multe ferestre randată prin secvențe de escape VT-100. Utilizatorii pot defini mișcări și operatori personalizați prin API-ul de scripting încorporat. Aplicația poate fi compilată într-un singur binar legat static pentru portabilitate.
Supports the management of multiple active cursors and non-contiguous selections for parallel editing.
ContentTools este un framework JavaScript și o suită de instrumente pentru construirea de editoare vizuale WYSIWYG. Oferă o bibliotecă de manipulare DOM pentru parsarea și transformarea șirurilor HTML în regiuni editabile structurate, alături de un orchestrator vizual de documente care gestionează comportamentele elementelor și tranzițiile de stare. Framework-ul include un manager specializat de selecție în browser pentru a asigura poziționarea consistentă a cursorului și evidențierea intervalelor de text în diferite browsere web. De asemenea, dispune de un validator de conținut HTML utilizat pentru a curăța output-ul și a converti link-urile media de la terți în formate embed valide. Sistemul acoperă o gamă largă de capabilități, inclusiv manipularea interactivă a DOM-ului pentru elemente redimensionabile și care pot fi glisate, formatarea textului bogat și fluxuri de lucru pentru procesarea imaginilor (decupare și rotire). Oferă, de asemenea, instrumente pentru urmărirea istoricului editărilor prin snapshot-uri DOM și un sistem de componente UI pentru gestionarea barelor de instrumente și a navigării ierarhice (breadcrumb). Proiectul impune securitatea prin restricții asupra atributelor elementelor pentru a preveni modificările neautorizate ale tag-urilor HTML.
Saves and restores caret positions and selection ranges to maintain user context during DOM re-mounting.