We all edit.
Find a file
Leonard Hecker 695d88e631
Some checks are pending
CI / check (ubuntu-latest) (push) Waiting to run
CI / check (windows-latest) (push) Waiting to run
Fix alpha blending formula (#594)
Since `srgb_to_linear` is non-linear we can't use it for premultiplied
colors. Instead of unpremultiplying them, I changed the rest of the app
to straight alpha and introduced types to ensure we don't mess it up.
2025-08-12 23:27:02 +02:00
.cargo Enable default features for build-std (#554) 2025-07-02 12:51:16 +00:00
.devcontainer Add initial devcontainer configuration for Rust environment (#496) 2025-07-09 22:32:17 +02:00
.github/workflows build: update WinGet publish workflow to use env instead of --token (#467) 2025-06-11 14:26:27 -07:00
.pipelines build: make the build pipeline produce the ZIP (#328) 2025-05-27 23:11:48 +02:00
.vscode Add a CodeLLDB launch option for VSCode (#444) 2025-06-10 11:51:24 +00:00
assets Add snapcraft.yaml (#500) 2025-08-04 21:26:26 +00:00
benches Fix alpha blending formula (#594) 2025-08-12 23:27:02 +02:00
i18n Merge all localization PRs (#596) 2025-08-01 01:05:27 +02:00
src Fix alpha blending formula (#594) 2025-08-12 23:27:02 +02:00
tools/grapheme-table-gen Implement support for Ambiguous = Wide (#406) 2025-06-04 23:39:56 +02:00
.gitignore Multi-document support lfg 2025-04-28 18:39:19 +02:00
build.rs Compile localizations with build.rs (#591) 2025-07-31 23:36:49 +02:00
Cargo.lock Compile localizations with build.rs (#591) 2025-07-31 23:36:49 +02:00
Cargo.toml Compile localizations with build.rs (#591) 2025-07-31 23:36:49 +02:00
CODE_OF_CONDUCT.md Add mandatory Microsoft project files 2025-04-07 14:51:17 +02:00
CONTRIBUTING.md Fix CONTRIBUTING.md localization path (#601) 2025-08-05 21:09:40 +00:00
LICENSE Initial import 2025-03-19 03:13:50 +01:00
README.md Compile localizations with build.rs (#591) 2025-07-31 23:36:49 +02:00
rust-toolchain.toml Add rust-toolchain.toml (#97) 2025-05-20 17:43:56 +02:00
rustfmt.toml Ensure LF line endings 2025-05-17 20:50:47 +02:00
SECURITY.md Add mandatory Microsoft project files 2025-04-07 14:51:17 +02:00

Application Icon for Edit Edit

A simple editor for simple needs.

This editor pays homage to the classic MS-DOS Editor, but with a modern interface and input controls similar to VS Code. The goal is to provide an accessible editor that even users largely unfamiliar with terminals can easily use.

Screenshot of Edit with the About dialog in the foreground

Installation

Packaging status

You can also download binaries from our Releases page.

Windows

You can install the latest version with WinGet:

winget install Microsoft.Edit

Build Instructions

  • Install Rust
  • Install the nightly toolchain: rustup install nightly
    • Alternatively, set the environment variable RUSTC_BOOTSTRAP=1
  • Clone the repository
  • For a release build, run: cargo build --config .cargo/release.toml --release

Build Configuration

During compilation you can set various environment variables to configure the build. The following table lists the available configuration options:

Environment variable Description
EDIT_CFG_ICU* See ICU library name (SONAME) for details.
EDIT_CFG_LANGUAGES A comma-separated list of languages to include in the build. See i18n/edit.toml for available languages.

Notes to Package Maintainers

Package Naming

The canonical executable name is "edit" and the alternative name is "msedit". We're aware of the potential conflict of "edit" with existing commands and recommend alternatively naming packages and executables "msedit". Names such as "ms-edit" should be avoided. Assigning an "edit" alias is recommended, if possible.

ICU library name (SONAME)

This project optionally depends on the ICU library for its Search and Replace functionality. By default, the project will look for a SONAME without version suffix:

  • Windows: icuuc.dll
  • macOS: libicuuc.dylib
  • UNIX, and other OS: libicuuc.so

If your installation uses a different SONAME, please set the following environment variable at build time:

  • EDIT_CFG_ICUUC_SONAME: For instance, libicuuc.so.76.
  • EDIT_CFG_ICUI18N_SONAME: For instance, libicui18n.so.76.

Additionally, this project assumes that the ICU exports are exported without _ prefix and without version suffix, such as u_errorName. If your installation uses versioned exports, please set:

  • EDIT_CFG_ICU_CPP_EXPORTS: If set to true, it'll look for C++ symbols such as _u_errorName. Enabled by default on macOS.
  • EDIT_CFG_ICU_RENAMING_VERSION: If set to a version number, such as 76, it'll look for symbols such as u_errorName_76.

Finally, you can set the following environment variables:

  • EDIT_CFG_ICU_RENAMING_AUTO_DETECT: If set to true, the executable will try to detect the EDIT_CFG_ICU_RENAMING_VERSION value at runtime. The way it does this is not officially supported by ICU and as such is not recommended to be relied upon. Enabled by default on UNIX (excluding macOS) if no other options are set.

To test your settings, run cargo test again but with the --ignored flag. For instance:

cargo test -- --ignored