# 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!" | python3 eTextEdit.py
* support file argument, e.g. python3 eTextEdit.py <filename>
* support plugins (forthcoming)
eTextEdit repository:
https://github.com/eliranwong/eTextEdit
# Screenshots
![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
Raw data
{
"_id": null,
"home_page": "https://letmedoit.ai",
"name": "etextedit",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "text editor prompt toolkit",
"author": "Eliran Wong",
"author_email": "support@letmedoit.ai",
"download_url": "https://files.pythonhosted.org/packages/32/bb/8a619e6c921d0223c1de67c0057f741b92f74c48bb61c98bcaee5252bf9d/etextedit-0.7.tar.gz",
"platform": null,
"description": "# eTextEdit\nExtensible Text Editor; built with prompt toolkit\n\nOriginally a simple text editor created by Jonathan Slenders\nSource: https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/examples/full-screen/text-editor.py\n\nModified and Enhanced by Eliran Wong:\n* added file and clipboard utilities\n* added regex search & replace feature\n* added key bindings\n* added handling of unasaved changes\n* added dark theme and lexer style\n* support stdin, e.g. echo \"Hello world!\" | python3 eTextEdit.py\n* support file argument, e.g. python3 eTextEdit.py <filename>\n* support plugins (forthcoming)\n\neTextEdit repository:\nhttps://github.com/eliranwong/eTextEdit\n\n# Screenshots\n\n![search_replace](https://github.com/eliranwong/eTextEdit/assets/25262722/c7a564ce-2e3c-4913-8210-52e259545044?raw=True)\n\n![menu](https://github.com/eliranwong/eTextEdit/assets/25262722/7703f138-e56e-4c6f-84fc-4abe768f161a?raw=True)\n\n# Download\n\n> pip install --upgrade etextedit\n\n# Usage\n\nTo launch eTextEdit:\n\n> etextedit\n\nTo open a text file, e.g. test.txt:\n\n> etextedit test.txt\n\nTo pipe in a text string, e.g. \"Hello World!\":\n\n> echo \"Hello World!\" | etextedit\n\nTo append a file, e.g. test.txt, with a text string, e.g. \"Hello World!\":\n\n> echo \"Hello World!\" | etextedit test.txt\n\n# Key Bindings\n\nescape + m: toggle menu\n\ncontrol + k: help\n\ncontrol + q: quit\n\ncontrol + a: select all\n\nescape + a: deselect all\n\ncontrol + c: copy\n\ncontrol + v: paste\n\ncontrol + x: cut\n\ncontrol + z: undo\n\ncontrol + i: insert spaces\n\ncontrol + f: find\n\nescape + f: clear i-search highlights\n\ncontrol + r: find & replace\n\ncontrol + l: go to line\n\ncontrol + d: delete\n\ncontrol + n: new file\n\ncontrol + o: open file\n\ncontrol + s: save file\n\ncontrol + w: save as file\n\n## Navigation\n\nescape + a: go to beginning of document\n\nescape + z: go to end of document\n\nescape + b: go to beginning of current line\n\nescape + e: go to end of current line\n",
"bugtrack_url": null,
"license": "GNU General Public License (GPL)",
"summary": "eTextEdit, a lightweight text editor built on prompt-toolkit",
"version": "0.7",
"project_urls": {
"Documentation": "https://github.com/eliranwong/eTextEdit/wiki",
"Funding": "https://www.paypal.me/MarvelBible",
"Homepage": "https://letmedoit.ai",
"Source": "https://github.com/eliranwong/eTextEdit",
"Tracker": "https://github.com/eliranwong/eTextEdit/issues"
},
"split_keywords": [
"text",
"editor",
"prompt",
"toolkit"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "60d77b4ac2dc8c271232ded7f1ea97f99a6bf228d3b7ebb2577e518df54ba424",
"md5": "1b66fc16cfb6ed89a82d7744989a55bf",
"sha256": "e8f90efb0db5dc777342175c4f1da0440b70e884a8748d9f826617b98f79bb0f"
},
"downloads": -1,
"filename": "etextedit-0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1b66fc16cfb6ed89a82d7744989a55bf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 10439,
"upload_time": "2024-06-01T16:07:20",
"upload_time_iso_8601": "2024-06-01T16:07:20.454068Z",
"url": "https://files.pythonhosted.org/packages/60/d7/7b4ac2dc8c271232ded7f1ea97f99a6bf228d3b7ebb2577e518df54ba424/etextedit-0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "32bb8a619e6c921d0223c1de67c0057f741b92f74c48bb61c98bcaee5252bf9d",
"md5": "b814db8f4da86b46b7a77668f2a498d7",
"sha256": "35c7e62b5d6a0edcf64792f51dea50bcae60f4f748801700ebb1448073fd8bb3"
},
"downloads": -1,
"filename": "etextedit-0.7.tar.gz",
"has_sig": false,
"md5_digest": "b814db8f4da86b46b7a77668f2a498d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 10071,
"upload_time": "2024-06-01T16:07:22",
"upload_time_iso_8601": "2024-06-01T16:07:22.611462Z",
"url": "https://files.pythonhosted.org/packages/32/bb/8a619e6c921d0223c1de67c0057f741b92f74c48bb61c98bcaee5252bf9d/etextedit-0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-01 16:07:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eliranwong",
"github_project": "eTextEdit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "prompt_toolkit",
"specs": []
},
{
"name": "Pygments",
"specs": []
},
{
"name": "pyperclip",
"specs": []
}
],
"lcname": "etextedit"
}