# microsoft/edit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-edit).**

13,550 stars · 636 forks · Rust · mit

## Links

- GitHub: https://github.com/microsoft/edit
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-edit.md

## Topics

`editor` `rust` `terminal` `text-editor`

## Description

This project is a terminal-based text editor and local file manipulation utility designed for modifying documents directly within a command-line environment. It functions as a text processing tool that enables users to perform file updates and content adjustments without requiring a graphical user interface.

The editor provides a terminal-based user interface framework that renders interactive components through low-level character stream manipulation. It supports automated text processing by utilizing regular expression-based pattern matching to locate and replace character sequences across documents.

The application manages document state through an in-memory buffering system and handles user interactions via an event-driven input loop. It performs synchronous file system operations to ensure that all modifications are persisted directly to local storage.

## Tags

### Development Tools & Productivity

- [Terminal Text Editors](https://awesome-repositories.com/f/development-tools-productivity/terminal-text-editors.md) — Provides a terminal-based interface for modifying local text files and performing find-and-replace operations without requiring complex command-line knowledge.
- [Terminal UI Frameworks](https://awesome-repositories.com/f/development-tools-productivity/terminal-ui-frameworks.md) — Provides a low-level rendering engine that draws interactive interface components directly within a standard command-line environment using character streams.
- [Terminal File Editors](https://awesome-repositories.com/f/development-tools-productivity/terminal-file-editors.md) — Provides a text editing environment designed to mimic traditional desktop editors for efficient file management directly within the terminal.
- [Integrated File Editing](https://awesome-repositories.com/f/development-tools-productivity/terminal-file-editors/integrated-file-editing.md) — Modifies text content directly within a terminal interface to perform common file updates without requiring advanced knowledge of complex command-line tools. ([source](https://github.com/microsoft/edit#readme))
- [Terminal User Interface Frameworks](https://awesome-repositories.com/f/development-tools-productivity/terminal-user-interface-frameworks.md) — Builds interactive text-based applications that render components and handle user input directly within a standard command-line environment.
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Performs routine document updates and content adjustments without leaving the terminal environment or requiring a graphical user interface.

### Data & Databases

- [Text Search and Replace](https://awesome-repositories.com/f/data-databases/text-pattern-matching/text-search-and-replace.md) — Locates specific character sequences within documents and swaps them for new content to maintain consistency across files. ([source](https://github.com/microsoft/edit#readme))
- [Text Processing Tools](https://awesome-repositories.com/f/data-databases/text-processing-utilities/text-processing-tools.md) — Provides a utility for locating and updating character strings within documents using simple patterns or advanced text processing rules.
- [In-Memory State Stores](https://awesome-repositories.com/f/data-databases/in-memory-databases/in-memory-state-stores.md) — Maintains the entire file content in a structured memory model to allow for rapid text manipulation and undo history tracking.

### User Interface & Experience

- [Terminal UI Components](https://awesome-repositories.com/f/user-interface-experience/terminal-ui-components.md) — Uses low-level character stream manipulation to draw interactive interface components directly within a standard command-line environment.
- [Terminal Renderers](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/web-based-presentation-authoring-tools/markdown-slide-renderers/terminal-renderers.md) — Draws interactive interface components by writing low-level character streams directly to the standard output of a command-line environment.
