awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

21 repositorios

Awesome GitHub RepositoriesText Selection Control

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.

Awesome Text Selection Control GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • codemirror/codemirror5Avatar de codemirror

    codemirror/codemirror5

    27,247Ver en GitHub↗

    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.

    JavaScript
    Ver en GitHub↗27,247
  • basecamp/trixAvatar de basecamp

    basecamp/trix

    19,970Ver en GitHub↗

    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.

    JavaScript
    Ver en GitHub↗19,970
  • xi-editor/xi-editorAvatar de xi-editor

    xi-editor/xi-editor

    19,816Ver en GitHub↗

    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.

    Rust
    Ver en GitHub↗19,816
  • rstacruz/cheatsheetsAvatar de rstacruz

    rstacruz/cheatsheets

    14,429Ver en GitHub↗

    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.

    SCSS
    Ver en GitHub↗14,429
  • mawww/kakouneAvatar de mawww

    mawww/kakoune

    10,938Ver en GitHub↗

    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.

    C++
    Ver en GitHub↗10,938
  • prompt-toolkit/python-prompt-toolkitAvatar de prompt-toolkit

    prompt-toolkit/python-prompt-toolkit

    10,498Ver en GitHub↗

    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.

    Python
    Ver en GitHub↗10,498
  • whatwg/htmlAvatar de whatwg

    whatwg/html

    9,163Ver en GitHub↗

    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.

    HTMLcanvaseventsourcehtml
    Ver en GitHub↗9,163
  • terryma/vim-multiple-cursorsAvatar de terryma

    terryma/vim-multiple-cursors

    7,952Ver en GitHub↗

    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.

    Vim script
    Ver en GitHub↗7,952
  • codemirror/devAvatar de codemirror

    codemirror/dev

    7,820Ver en GitHub↗

    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.

    JavaScript
    Ver en GitHub↗7,820
  • olifolkerd/tabulatorAvatar de olifolkerd

    olifolkerd/tabulator

    7,550Ver en GitHub↗

    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.

    JavaScriptajaxcdnjsdata
    Ver en GitHub↗7,550
  • hongyangandroid/flowlayoutAvatar de hongyangAndroid

    hongyangAndroid/FlowLayout

    5,579Ver en GitHub↗

    FlowLayout es un widget de vista personalizado para Android diseñado para ajustar elementos secundarios a través de múltiples líneas. Funciona como un diseño basado en adaptador que rellena y actualiza contenido fluido desde una fuente de datos, específicamente para mostrar colecciones de etiquetas o chips. El componente incluye un sistema de selección de etiquetas que admite modos de selección única o múltiple con límites configurables. Gestiona las interacciones del usuario a través del manejo de clics en etiquetas e incluye un gestor de estado para persistir los índices de selección a través de la reconstrucción de la actividad y las rotaciones de pantalla. La librería proporciona capacidades para el llenado dinámico de datos y la medición automática del diseño para asegurar que los elementos se ajusten correctamente según el espacio horizontal disponible en la pantalla.

    Saves and restores the current selection of items during activity reconstruction to prevent data loss.

    Java
    Ver en GitHub↗5,579
  • code-hike/codehikeAvatar de code-hike

    code-hike/codehike

    5,365Ver en GitHub↗

    Codehike es un framework de documentación basado en React y una herramienta interactiva para recorridos de código. Funciona como un orquestador de contenido markdown que transforma markdown decorado en datos estructurados y componentes de React, sirviendo como capa de visualización para resaltar rangos de código, diffs y errores de compilación. El proyecto destaca por su capacidad para crear experiencias de "scrollycoding" y tutoriales técnicos paso a paso. Cuenta con animaciones a nivel de token que demuestran visualmente cómo evoluciona la lógica entre versiones de código y proporciona un sistema para sincronizar el estado de la UI con la posición del scroll del navegador. El framework cubre una amplia gama de capacidades de visualización, incluyendo la creación de presentaciones de código, diseños de spotlight y bloques de código con pestañas. Admite anotaciones detalladas mediante tooltips, callouts y notas al pie, así como utilidades funcionales como selectores de lenguaje, transpilación de código e integración de datos de compiladores en tiempo real. El sistema utiliza validación basada en esquemas para garantizar la seguridad de tipos y la consistencia de los datos estructurados extraídos de archivos markdown.

    Uses regular expressions to identify and select specific text patterns within code blocks for styling and annotation.

    TypeScriptblogcodedocs
    Ver en GitHub↗5,365
  • cadquery/cadqueryAvatar de CadQuery

    CadQuery/cadquery

    5,351Ver en GitHub↗

    CadQuery es una librería de modelado 3D programático y framework de CAD paramétrico que permite la generación de sólidos geométricos complejos y ensamblajes utilizando una API fluida en Python. Funciona como un motor de geometría B-Rep, permitiendo la construcción de modelos mediante código en lugar de una interfaz gráfica de usuario. El proyecto está construido sobre el kernel Open CASCADE Technology y utiliza una API de encadenamiento de métodos para vincular comandos geométricos en secuencia. Se distingue por un sistema de coordenadas basado en planos de trabajo y un potente sistema de selección que utiliza filtrado topológico y espacial para apuntar a caras, aristas o vértices específicos para las operaciones. La librería cubre una gama integral de capacidades, incluyendo bocetos paramétricos 2D, generación de sólidos 3D mediante extrusión y lofting, y gestión jerárquica de ensamblajes con restricciones geométricas. También proporciona herramientas para el refinamiento de geometría, como redondeos (fillets) y vaciados (shelling), y admite la importación y exportación de formatos estándar de la industria, incluyendo STEP y DXF. El framework incluye un motor de renderizado integrado para la visualización e inspección interactiva del modelo durante el proceso de scripting.

    Groups multiple geometric filters using logical operators to refine the selection of specific model elements.

    Python3dbrepcad
    Ver en GitHub↗5,351
  • neilj/squireAvatar de neilj

    neilj/Squire

    4,902Ver en GitHub↗

    Squire es un editor de texto enriquecido basado en DOM y editor de contenido WYSIWYG que trata el HTML crudo como la fuente de verdad. Funciona como un sistema para manipular el modelo de objetos del documento directamente para proporcionar una interfaz visual para editar contenido web complejo. El proyecto se centra en la edición de HTML arbitrario, permitiendo la modificación de cualquier contenido HTML sin perder el formato original. Incluye herramientas para la normalización y sanitización de contenido HTML para asegurar que la entrada cruda se limpie y estructure de forma consistente antes de ser renderizada como nodos editables. La superficie de capacidades del editor cubre formato en línea, gestión de elementos de bloque y la inserción de fragmentos multimedia. También proporciona gestión de estado para rastrear posiciones del cursor y mantener un historial de deshacer y rehacer basado en snapshots.

    Manages editor focus and moves the cursor to document boundaries using the browser selection range.

    TypeScript
    Ver en GitHub↗4,902
  • gluestack/gluestack-uiAvatar de gluestack

    gluestack/gluestack-ui

    4,931Ver en GitHub↗

    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.

    TypeScriptaccessibilitycomponent-librarycustomizable-components
    Ver en GitHub↗4,931
  • mg979/vim-visual-multiAvatar de mg979

    mg979/vim-visual-multi

    4,864Ver en GitHub↗

    vim-visual-multi es un plugin de Vim y Neovim que proporciona edición de texto con múltiples cursores. Funciona como un editor de texto de múltiples cursores y orquestador de macros, permitiendo inserciones, eliminaciones y reemplazos paralelos a través de diversas ocurrencias de texto. El plugin incluye una herramienta de selección de texto por regex utilizada para generar múltiples cursores basados en patrones de expresiones regulares. Esto permite la identificación de palabras o fragmentos coincidentes para realizar modificaciones por lotes en un archivo. El sistema cubre varias áreas de capacidad, incluyendo la alineación vertical y la sincronización de cursores a una columna común. También proporciona automatización para la ejecución de comandos por lotes, permitiendo que las macros se ejecuten en todas las posiciones activas del cursor. Las herramientas de gestión de selección permiten añadir, eliminar o saltar ocurrencias específicas para refinar el conjunto de cursores activos.

    Simulates multiple active editing points by tracking coordinates outside the native editor state.

    Vim Scriptcursormultiple-cursorsvim
    Ver en GitHub↗4,864
  • tencent/cherry-markdownAvatar de Tencent

    Tencent/cherry-markdown

    4,727Ver en GitHub↗

    Cherry Markdown es un editor de Markdown basado en web y motor de análisis que convierte texto de marcado en HTML saneado con un panel de vista previa sincronizado en tiempo real. Funciona como una interfaz de texto enriquecido y herramienta WYSIWYG, proporcionando un sistema para transformar cadenas de marcado en documentos HTML o formatos portátiles. El proyecto se distingue por un renderizado de alto rendimiento y un modelo de extensibilidad flexible. Utiliza diffing de DOM virtual y renderizado parcial para mantener la capacidad de respuesta en documentos grandes, y permite la creación de reglas de análisis personalizadas y componentes HTML especializados mediante un sistema de plugins. La superficie de capacidades del editor incluye gestión integral de contenido para fórmulas matemáticas, diagramas y medios enriquecidos, así como controles de entrada avanzados como edición con múltiples cursores y navegación modal estilo Vim. También cuenta con un flujo de trabajo robusto de exportación de documentos y un sistema de tokens de diseño para una personalización visual profunda del editor y las áreas de vista previa. El sistema incluye una capa de seguridad que utiliza saneamiento de HTML basado en listas blancas para prevenir ataques de inyección.

    Provides APIs to programmatically adjust the cursor and selection range for wrapping text in Markdown syntax.

    JavaScripteditorjavascriptmarkdown
    Ver en GitHub↗4,727
  • swimlane/ngx-datatableAvatar de swimlane

    swimlane/ngx-datatable

    4,671Ver en GitHub↗

    ngx-datatable es un componente de tabla de datos rico en funciones para aplicaciones Angular diseñado para mostrar y gestionar grandes conjuntos de datos. Funciona como una cuadrícula de datos personalizable que admite ordenamiento, paginación y el uso de plantillas de Angular personalizadas para dar estilo a las celdas de datos. El componente se distingue por su cuadrícula de desplazamiento virtual de alto rendimiento, que renderiza solo las filas visibles para optimizar el uso de memoria y CPU. Proporciona una interfaz interactiva para gestionar datos mediante selección de filas, reordenamiento de columnas y vistas de detalle expandibles. El proyecto cubre un amplio conjunto de capacidades, incluyendo gestión de columnas para fijar y redimensionar, ordenamiento de múltiples columnas e integración del lado del servidor para la obtención remota de datos. También incluye personalizaciones a nivel de fila como estilos dinámicos, componentes de fila personalizados y modos de selección flexibles. Las características de utilidad adicionales incluyen la localización de mensajes de tabla y la aplicación de temas personalizados mediante CSS.

    Implements conditional logic to determine whether specific rows are eligible for selection based on defined criteria.

    TypeScriptangularangular-componentsangular2
    Ver en GitHub↗4,671
  • martanne/visAvatar de martanne

    martanne/vis

    4,634Ver en GitHub↗

    Vis es un editor de texto modal basado en terminal que utiliza atajos de teclado de vi y un sistema de expresiones regulares estructurales. Funciona como un entorno programable donde Lua se utiliza para la configuración, mapeos de teclas personalizados y desarrollo de plugins. El editor se distingue por un sistema de resaltado de sintaxis basado en gramáticas de expresión de análisis (PEG) y un motor de coincidencia de patrones que trata el texto como una estructura para operaciones complejas de búsqueda y reemplazo. También se integra directamente con el shell del sistema, permitiendo a los usuarios enviar rangos de texto a comandos externos y capturar la salida resultante. El proyecto proporciona amplias capacidades para la manipulación de texto, incluyendo el uso de múltiples cursores y selecciones, un grafo dirigido para el historial de deshacer y rehacer no lineal, y una interfaz de múltiples ventanas renderizada mediante secuencias de escape VT-100. Los usuarios pueden definir movimientos y operadores personalizados a través de la API de scripting integrada. La aplicación se puede compilar en un único binario vinculado estáticamente para mayor portabilidad.

    Supports the management of multiple active cursors and non-contiguous selections for parallel editing.

    C
    Ver en GitHub↗4,634
  • getmeuk/contenttoolsAvatar de GetmeUK

    GetmeUK/ContentTools

    3,977Ver en GitHub↗

    ContentTools es un framework de JavaScript y un conjunto de herramientas para construir editores visuales WYSIWYG. Proporciona una biblioteca de manipulación del DOM para analizar y transformar cadenas HTML en regiones editables estructuradas, junto con un orquestador de documentos visual que gestiona los comportamientos de los elementos y las transiciones de estado. El framework incluye un gestor de selección de navegador especializado para asegurar un posicionamiento del cursor y un resaltado de rango de texto consistentes en diferentes navegadores web. También cuenta con un validador de contenido HTML utilizado para sanitizar la salida y convertir enlaces de medios de terceros en formatos de incrustación válidos. El sistema cubre una amplia gama de capacidades, incluyendo manipulación interactiva del DOM para elementos arrastrables y redimensionables, formato de texto enriquecido y flujos de trabajo de procesamiento de imágenes para recortar y rotar. También proporciona herramientas para el seguimiento del historial de edición mediante instantáneas del DOM y un sistema de componentes de UI para gestionar cajas de herramientas y navegación jerárquica mediante breadcrumbs. El proyecto aplica seguridad mediante restricciones de atributos de elementos para evitar modificaciones no autorizadas de etiquetas HTML.

    Saves and restores caret positions and selection ranges to maintain user context during DOM re-mounting.

    JavaScriptcontenttoolswysiwyg-editors
    Ver en GitHub↗3,977
Ant.12Siguiente
  1. Home
  2. User Interface & Experience
  3. Text Selection Control

Explorar subetiquetas

  • Cursor Focus ControllersUtilities for managing editor focus and programmatic cursor positioning within a document. **Distinct from Multiple Cursors:** Focuses on single-cursor navigation and focus management rather than multiple non-contiguous cursors.
  • Multi-Caret ManipulationsAdvanced text modification techniques using multiple simultaneous cursors and rectangular blocks. **Distinct from Text Selection Control:** Specifically covers multi-caret and rectangular block editing rather than general programmatic cursor control.
  • Multiple Cursors1 sub-etiquetaCapabilities for managing and manipulating several non-contiguous text selections and cursors simultaneously. **Distinct from Text Selection Control:** Distinct from Text Selection Control: specifically handles the management of multiple active cursor sites rather than a single selection range.
  • Regex-Based Selection2 sub-etiquetasThe use of regular expressions to identify and select multiple text regions simultaneously. **Distinct from Text Selection Control:** Distinct from general text selection control by focusing specifically on pattern-driven discovery and multi-cursor creation.
  • Selection State Persistence1 sub-etiquetaMechanisms for saving and restoring selection ranges and cursor positions using internal storage. **Distinct from Text Selection Control:** Distinct from Text Selection Control: focuses on the persistence and restoration of selection state rather than active manipulation.
  • Text Range ConstraintsDefines specific behavioral properties for ranges of text, such as read-only or atomic status. **Distinct from Text Selection Control:** Distinct from Text Selection Control: focuses on defining behavioral constraints of the text itself rather than moving the cursor.