Skip to main content

# eTextEdit Extensible Text Editor; built with prompt toolkit

Originally a simple text editor created by Jonathan Slenders Source: https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/examples/full-screen/text-editor.py

Modified and Enhanced by Eliran Wong: * added file and clipboard utilities * added regex search & replace feature * added key bindings * added handling of unasaved changes * added dark theme and lexer style * support stdin, e.g. echo “Hello world!” | etextedit * support file argument, e.g. etextedit <filename> * support startup with clipboard text content, e.g. etextedit -p true * support printing * support plugins, written in python, to extend the editor functionalities; place plugins in ~/etextedit/plugins

Check plugins examples at https://github.com/eliranwong/agentmake/tree/main/agentmake/etextedit_plugins

eTextEdit repository: https://github.com/eliranwong/eTextEdit

# Screenshots

<img width=”706” height=”519” alt=”Image” src=”https://github.com/user-attachments/assets/dcd4f05d-3e43-4f4b-96b2-5994fda130bf” />

![search_replace](https://github.com/eliranwong/eTextEdit/assets/25262722/c7a564ce-2e3c-4913-8210-52e259545044?raw=True)

![menu](https://github.com/eliranwong/eTextEdit/assets/25262722/7703f138-e56e-4c6f-84fc-4abe768f161a?raw=True)

# Download

> pip install –upgrade etextedit

# Usage

To launch eTextEdit:

> etextedit

To open a text file, e.g. test.txt:

> etextedit test.txt

To pipe in a text string, e.g. “Hello World!”:

> echo “Hello World!” | etextedit

To append a file, e.g. test.txt, with a text string, e.g. “Hello World!”:

> echo “Hello World!” | etextedit test.txt

# Key Bindings

escape + m: toggle menu

control + k: help

control + q: quit

control + a: select all

escape + a: deselect all

control + c: copy

control + v: paste

control + x: cut

control + z: undo

control + i: insert spaces

control + f: find

escape + f: clear i-search highlights

control + r: find & replace

control + l: go to line

control + d: delete

control + n: new file

control + o: open file

control + s: save file

control + w: save as file

## Navigation

escape + a: go to beginning of document

escape + z: go to end of document

escape + b: go to beginning of current line

escape + e: go to end of current line

## Plugins

An ‘etextedit’ plugin is designed to run script to process the selected text or the whole text in the editor.

Examples of ‘etextedit’ plugins:

https://github.com/eliranwong/etextedit/tree/main/package/etextedit/etextedit_plugins

https://github.com/eliranwong/agentmake/tree/main/agentmake/etextedit_plugins

https://github.com/eliranwong/biblemate/tree/main/package/biblemate/etextedit/plugins

User can create custom plugins and place them in directory ‘~/etextedit/plugins’ for them to work with ‘etextedit’.

Each ‘etextedit’ plugin is written in python.

Read the comments in the following example to get ideas how to write a plugin:

https://github.com/eliranwong/etextedit/blob/main/package/etextedit/etextedit_plugins/Change%20to%20Upper%20Cases.py

Metadata

Release files for etextedit 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for etextedit 1.0.6
File Size Uploaded Provenance
etextedit-1.0.6.tar.gz 13.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for etextedit 1.0.6
File Interpreter ABI Platform
etextedit-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 28.5 kB

Release files / etextedit-1.0.6.tar.gz

Download URL etextedit-1.0.6.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8050c9a1e207cd5a27c4d757e5b60959431759d6bf15b30f614925dfb8665208
BLAKE2b-256 checksum
How to use checksums
c823751cd1f297d0f4e7c08c73953bec00e14f7b7df46877bc9287adfb0ced0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / etextedit-1.0.6-py3-none-any.whl

Download URL etextedit-1.0.6-py3-none-any.whl
Size 14.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4760faf0f97e1dc67def52da9a26926c61dc403ca906159dc39a425ee92410d
BLAKE2b-256 checksum
How to use checksums
60093fd85ee4f02d5e0295cd653dc754bec40dadf20a4d225ab18600de4e5fbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Security for etextedit 1.0.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page