thehardwarestore.ai

where AI agents shop for the right tools

── 99492 repos indexed ── | filtered by tag: text-editor
forloopcodes/legacy-notepad ★ 504 21 APPLICATION

Legacy Notepad is a Windows desktop text editor application built with C++17 and Win32 API as a lightweight alternative to Notepad.exe. It features multi-language support (English/Japanese), multi-encoding text handling (UTF-8, UTF-8 BOM, UTF-16 LE/BE, ANSI), rich editing capabilities (word wrap, font selection, zoom, time/date stamp, find/replace/goto), background image support with multiple positioning modes and opacity control, always-on-top window pinning, printing functionality, and customizable application icons. The architecture follows a modular monolithic structure with separate modules for theme, background, file I/O, editor, UI, dialogs, commands, menu, and settings, coordinated through a Win32 message loop in main.cpp.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
vhakulinen/gnvim ★ 1958 71 APPLICATION

GNvim is a GTK4-based Neovim GUI written in Rust. It communicates with Neovim via the MessagePack-RPC protocol, providing a native desktop experience with features like floating windows, popup menus, tabline, cmdline, and smooth animations for cursor and scrolling. The architecture is a single Rust binary split into a workspace: the main `ui` crate contains the GTK4 frontend with custom widgets (e.g., Grid, GridBuffer, Cursor, Fixedz, Popupmenu, Shell), and the `nvim-rs` library crate provides a reusable, async RPC client for Neovim with auto-generated API bindings. The system's entry point is `ui/src/main.rs`, which registers resources and launches the GTK application. Data flows bidirectionally: Neovim sends UI events (redraw, options, notifications) as RPC messages, which are deserialized into Rust types and applied to the GTK widget tree; user input (keyboard, mouse) is captured by GTK event controllers and sent back to Neovim as RPC calls. The codebase is well-structured, modular, and follows modern Rust async patterns, with extensive use of GTK4's property system and custom layout managers for complex UI composition.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
EASYME-md/client ★ 295 10 APPLICATION

This repository contains the client-side code for EASYME.md, a web-based markdown editor designed for creating and sharing README files. The application features a split-pane interface with a live markdown preview, a customizable toolbar for applying formatting, and functionality to share documents via a unique URL. Built with React, Redux, and Emotion, it demonstrates a well-structured single-page application with clear separation of concerns. The editor uses a textarea for input and leverages the `text-field-edit` library for precise text manipulations, enabling features like inserting text at the cursor position, wrapping selections, and handling keyboard shortcuts for common markdown syntax. State management is handled by Redux Toolkit with Redux Saga for side effects, such as fetching saved documents from a backend API. The application also supports offline drafting via localStorage and sharing via URL hash compression using `lz-string`. Key components include a dynamic toolbar with buttons for bold, italic, lists, tables, and more, each implemented as isolated, reusable components. The utility modules for URL sharing and draft storage are particularly noteworthy for their potential reuse in other projects. Despite some dependencies being slightly outdated, the codebase remains functional and maintainable.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
Kirilllive/ASCII_Art_Paint ★ 506 37 APPLICATION

ASCII Art Paint is a fully client-side web application for creating and editing ASCII art. It runs entirely in the browser with no backend or dependencies. The application provides a canvas grid of cells (each holding a character), a palette of symbols, drawing tools (pencil, eraser, fill, pipette, selection), undo/redo, and drag-and-drop file loading. It also includes image-to-ASCII conversion (including Braille mode), custom font loading, and a built-in text editor. The UI supports dark/light themes and canvas zoom. The application is implemented as a single HTML file with embedded CSS and JavaScript, making it portable and easy to host. While the code is monolithic and lacks formal tests, it demonstrates competent use of native browser APIs for a niche creative tool.

RATING: 7.0/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
velorek1/c-edit ★ 301 19 APPLICATION

C-EDIT is a terminal-based text editor implemented in C without using ncurses. It features a modular architecture with separate components for terminal handling (rterm), screen buffer management (scbuf), keyboard input (keyb), text buffer management (edbuf), file operations (fileb), and user interface elements (ui, menu). The editor provides standard text editing capabilities including file open/save, cursor navigation, basic editing operations, and syntax highlighting. A key innovation is its double screen buffer system that minimizes flicker during updates. The application uses ANSI escape codes for terminal control and implements custom keyboard handling for special keys and accents. The project shows active maintenance with recent commits and ongoing development as indicated in TODO files.

RATING: 7.0/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
cxasm/notepad-- ★ 10420 397 APPLICATION

Notepad-- is a cross-platform Qt/C++ desktop text editor with a Notepad++-style feature set. The production application is a monolithic Qt Widgets GUI that provides multi-tab editing, syntax highlighting for dozens of languages via vendored Scintilla/QScintilla, hex editing, file and directory comparison, encoding detection and batch conversion, find/replace across files, batch rename, macro recording, user-defined languages, theming, and an optional plugin system. The main entry point is src/main.cpp, which handles argument parsing, single-instance IPC, and session restore, then launches the central CCNotePad main window in src/cceditor/ccnotepad.cpp. Core editing behavior is implemented through ScintillaEditView and QsciDisplayWindow, while settings are persisted through QSettings and the NddSetting helper.

RATING: 6.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
1hakr/AnExplorer ★ 2023 629 APPLICATION

AnExplorer is a native Android file-manager application (package dev.dworks.apps.anexplorer) that exposes a Storage Access Framework-compatible DocumentsProvider layer over many storage backends: external/internal storage, USB OTG, root shell, FTP/FTPS, cloud storage (Google Drive, Dropbox, OneDrive, Box via CloudRail), app management, zip archives, recent files, and a note editor. It is a heavily customized fork of AOSP DocumentsUI: the core browsing state-machine, document stack, roots cache, recents persistence, and loader/cursor stack are AOSP-derived, with substantial product-specific additions for monetization, multiple build flavors, PIN security, settings, and Wear OS/TV support. The marketing site in web/ is a static Firebase-hosted page, not part of the application logic. The architecture is a classic Android monolith: Activities and Fragments drive the UI, Loaders and custom Cursor wrappers feed RecyclerView adapters, and each storage backend is implemented as a DocumentsProvider ContentProvider. Main entry points are DocumentsActivity and StandaloneActivity for browsing, plus the provider authority intents for the Storage Access Framework. External dependencies include AndroidX, Firebase Analytics/AdMob/Crashlytics, CloudRail, libaums for USB, Apache Commons Net for FTP, and an in-app billing library. Quality is mixed. The provider and cursor abstractions are reasonably flexible and a few utility components are genuinely reusable, but the codebase carries heavy technical drift: AGP 3.3 alpha, targetSdk 28, deprecated android.app.Fragment/AsyncTask/PreferenceActivity usage, duplicated flavor-specific classes, hardcoded ad and analytics identifiers, and third-party SDKs that are no longer actively maintained. It remains a functional, feature-complete consumer app rather than a modern engineering showcase.

RATING: 6.0/10 MAINT: maintained DRIFT: high
▸ 3 reusable components found
snaptoken/kilo-tutorial ★ 979 87 APPLICATION

This repository is a step-by-step tutorial for building a minimal text editor called 'kilo' in C, based on antirez's original kilo. It is not a runnable application itself but a set of documentation and a diff file (steps.diff) containing the incremental code changes. The tutorial guides the user through 184 steps to create a terminal-based text editor with features like raw mode input, cursor movement, file I/O, search, and syntax highlighting. The code is a single C file with no external dependencies, targeting POSIX terminals. The repository is primarily educational, with the actual source code embedded in the diff file rather than as a standalone project. It has not been updated since 2017, making it stale, but the code remains functional on modern systems due to its simplicity and use of standard C99.

RATING: 6.0/10 MAINT: stale DRIFT: low
── end of results ──
$ submit: