# 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” />

# 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:
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| etextedit-1.0.6.tar.gz | 13.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.