thehardwarestore.ai

where AI agents shop for the right tools

── 99250 repos indexed ── | filtered by tag: #modal-editing
vim/vim ★ 41151 6143 APPLICATION

Vim is a highly configurable, efficient text editor built for creating and changing text. It features modal editing (normal, insert, visual, command-line modes), extensive syntax highlighting for numerous languages, code folding, multiple windows and tabs, powerful search and replace capabilities, macro recording, an undo tree, spell checking, and deep customization through Vim script. The architecture is monolithic but modular, with clear separation between core editor logic, platform-specific abstractions, GUI implementations, and runtime files (syntax, documentation, plugins). Key entry points include the main() function in src/main.c, GUI entry points in gui_*.c files, and command-line interfaces (vim, gvim, vimtutor). The editor processes user input to manipulate buffers and update the display, with data flows covering file I/O, syntax parsing, command execution, and rendering. External dependencies include build tools, optional GUI libraries (GTK, X11), language interpreters (Python, Ruby, etc.), and the bundled libvterm terminal emulator. Despite its age, Vim shows low technical drift with active maintenance, recent commits, and adaptation to modern platforms and features like Wayland support and client/server communication.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
helix-editor/helix ★ 46455 3810 APPLICATION

Helix is a modern, terminal-based text editor written in Rust, inspired by Kakoune and Neovim. It provides a modal editing experience with multiple cursors, tree-sitter syntax highlighting, and deep Language Server Protocol (LSP) integration for features like code completion, diagnostics, hover, and code actions. The editor also supports the Debug Adapter Protocol (DAP) for debugging, version control integration via git, and a flexible snippet system. Its architecture is a multi-crate Cargo workspace with a core editing engine (helix-core), a view/document abstraction layer (helix-view), a terminal UI framework (helix-tui), and a terminal application crate (helix-term) that ties everything together with an async event loop using tokio. The editor is highly configurable through TOML files and supports a vast number of programming languages via tree-sitter grammars and LSP servers. The codebase demonstrates strong engineering practices: clean separation of concerns across crates, extensive use of Rust's type system for safety, and a composable event-driven architecture. Notable reusable components include a standalone LSP type definitions crate (helix-lsp-types), a generic event/hook system (helix-event), a parser combinator library (helix-parsec), and a terminal UI widget library (helix-tui) that could be extracted for other TUI applications. The editor's picker UI component and command-line parser are also well-designed patterns. While there is some architectural debt (tight coupling between helix-term and other crates, some unsafe code for performance), the overall quality is high and the project is actively maintained with frequent releases.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
emacsorphanage/god-mode ★ 972 59 APPLICATION

God mode is an Emacs minor mode that enables modal editing by allowing users to enter Emacs commands without modifier keys. It works by remapping keys: by default, keys are interpreted with the Control modifier (C-), with 'g' for Meta (M-) and 'G' for Control-Meta (C-M-). The package includes features like a literal key (SPACE by default) to temporarily disable remapping, support for digit and universal arguments, and integration with isearch via a separate extension. The architecture uses Emacs' keymap system extensively with buffer-local and global state management, hooks for extensibility, and sophisticated key sequence lookup with fallback mechanisms.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
martanne/vis ★ 4711 281 APPLICATION

Vis is a modal text editor that combines vi-like editing with sam's structural regular expressions. It features multiple cursors, extensive Lua-based extensibility (including syntax highlighting lexers and plugins), and a terminal-based UI. The editor is written in C with a Lua API, producing statically linked binaries via Docker for portability. Key components include a reusable lexer framework for syntax highlighting, a dynamic buffer abstraction, an event-driven plugin system, and a modular build system. The project is actively maintained with ongoing lexer updates and documentation improvements.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
lapce/lapce ★ 38870 1336 APPLICATION

Lapce is a lightning-fast, cross-platform code editor written in Rust, built on the Floem reactive UI framework and powered by wgpu for GPU-accelerated rendering. It employs a split-process architecture where the UI process (lapce-app) communicates with a background proxy process (lapce-proxy) via a custom JSON-RPC protocol over stdio or local sockets. This design enables remote development over SSH/WSL and isolates plugin execution (WASI-based) from the UI. The editor integrates deeply with LSP for language features, DAP for debugging, Tree-sitter for syntax highlighting, and an embedded Alacritty-based terminal. It supports modal editing, workspaces, multi-window layouts, a plugin system with a marketplace, and extensive configurability via TOML files. The codebase is a monorepo with crates for application logic, core text/syntax operations, RPC protocol types, and the proxy daemon. While architecturally sophisticated and actively developed, it exhibits some monolithic files, large enums, and reliance on pinned git dependencies that introduce moderate technical drift risks.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: