dedlin


Namededlin JSON
Version 1.19.1 PyPI version JSON
download
home_pagehttps://github.com/matthewdeanmartin/dedlin
SummaryLine editor, edlin clone with many improvements
upload_time2024-02-18 21:41:42
maintainer
docs_urlNone
authorMatthew Martin
requires_python>=3.11,<4.0.0
licenseMIT
keywords editor edlin line editor
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # dedlin

Dedlin is an interactive line-by-line text editor and a DSL, similar to edlin or ed. It is perfect for
letting AI chatbots edit documents without sending the whole document back and forth.

It is scriptable making it similar to `sed` for doing find, insert, replace, delete operations on existing files.

Soon it will support non-line number ranges, e.g. `"/Done/ DELETE`

Dedlin extends on [edlin](https://en.wikipedia.org/wiki/Edlin) enough that it is not backwards compatible.

I have made changes to make the app less user hostile than classic ed or edlin, but there is a `--vim_mode`
where all help, warnings, feedback will be suppressed.

## Badges

![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/dedlin)

[![Downloads](https://static.pepy.tech/personalized-badge/dedlin?period=month&units=international_system&left_color=black&right_color=orange&left_text=Downloads)](https://pepy.tech/project/dedlin)

[![CodeFactor](https://www.codefactor.io/repository/github/matthewdeanmartin/dedlin/badge)](https://www.codefactor.io/repository/github/matthewdeanmartin/dedlin)

## Installation

Requires python 3.11 or higher. Someday I'll write a standalone installer for it.

Install globally in an isolated virtual environment. This is a good idea.

```bash
pipx install dedlin
```

Run pre-built image with docker. Painful, but you're using an edlin clone, so that is what you're looking for.

```powershell
# This is should work in powershell or linux bash. Not windows git-bash.
docker run --rm -it -v "${PWD}/:/app"  ghcr.io/matthewdeanmartin/dedlin:latest file.txt
```

## Usage

Launch and edit file_name.txt

If you installed with `pip` or `pipx`

```bash
dedlin file_name.txt
```

Command line help

```text
> python -m dedlin --help
Dedlin.

An improved version of the edlin.

Usage:
  dedlin [<file>] [options]
  dedlin (-h | --help)
  dedlin --version

Options:
  -h --help          Show this screen.
  --version          Show version.
  --macro=<macro>    Run macro file.
  --echo             Echo commands.
  --halt_on_error    End program on error.
  --promptless_quit  Skip prompt on quit.
  --vim_mode         User hostile, no feedback.
  --verbose          Displaying all debugging info.
  --blind_mode       Optimize for blind users (experimental).
```

Sample session

```text
   _          _  _  _
 __| | ___  __| || |(_) _ _
/ _` |/ -_)/ _` || || || ' \
\__,_|\___|\__,_||_||_||_||_|


Editing /home/mmartin/github/dedlin/sample.txt
? * 1i
1 INSERT
Control C to exit insert mode
?    1 :  cabbage
?    2 :  bread
?    3 :  carrots
?    4 :  ghost peppers
?    5 :  coffee
?    6 :  tortillas
?    7 :

Exiting insert mode

? * SORT
 SORT
Sorted
? * LIST
1,6 LIST
   1 : bread
   2 : cabbage
   3 : carrots
   4 : coffee
   5 : ghost peppers
   6 : tortillas

? * EXIT
1,6 EXIT
```

## Documentation

- [User Manual](https://github.com/matthewdeanmartin/dedlin/blob/main/docs/user_manual.md)
- [Developer roadmap](https://github.com/matthewdeanmartin/dedlin/blob/main/docs/TODO.md)
- [Prior Art](https://github.com/matthewdeanmartin/dedlin/blob/main/docs/prior_art.md)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/matthewdeanmartin/dedlin",
    "name": "dedlin",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.11,<4.0.0",
    "maintainer_email": "",
    "keywords": "editor,edlin,line editor",
    "author": "Matthew Martin",
    "author_email": "matthewdeanmartin@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/1f/b6/6a79c8ba9a273a22fd3f615b01796d3e93d16dfbc5876bd8fe10c4b36c5a/dedlin-1.19.1.tar.gz",
    "platform": null,
    "description": "# dedlin\n\nDedlin is an interactive line-by-line text editor and a DSL, similar to edlin or ed. It is perfect for\nletting AI chatbots edit documents without sending the whole document back and forth.\n\nIt is scriptable making it similar to `sed` for doing find, insert, replace, delete operations on existing files.\n\nSoon it will support non-line number ranges, e.g. `\"/Done/ DELETE`\n\nDedlin extends on [edlin](https://en.wikipedia.org/wiki/Edlin) enough that it is not backwards compatible.\n\nI have made changes to make the app less user hostile than classic ed or edlin, but there is a `--vim_mode`\nwhere all help, warnings, feedback will be suppressed.\n\n## Badges\n\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/dedlin)\n\n[![Downloads](https://static.pepy.tech/personalized-badge/dedlin?period=month&units=international_system&left_color=black&right_color=orange&left_text=Downloads)](https://pepy.tech/project/dedlin)\n\n[![CodeFactor](https://www.codefactor.io/repository/github/matthewdeanmartin/dedlin/badge)](https://www.codefactor.io/repository/github/matthewdeanmartin/dedlin)\n\n## Installation\n\nRequires python 3.11 or higher. Someday I'll write a standalone installer for it.\n\nInstall globally in an isolated virtual environment. This is a good idea.\n\n```bash\npipx install dedlin\n```\n\nRun pre-built image with docker. Painful, but you're using an edlin clone, so that is what you're looking for.\n\n```powershell\n# This is should work in powershell or linux bash. Not windows git-bash.\ndocker run --rm -it -v \"${PWD}/:/app\"  ghcr.io/matthewdeanmartin/dedlin:latest file.txt\n```\n\n## Usage\n\nLaunch and edit file_name.txt\n\nIf you installed with `pip` or `pipx`\n\n```bash\ndedlin file_name.txt\n```\n\nCommand line help\n\n```text\n> python -m dedlin --help\nDedlin.\n\nAn improved version of the edlin.\n\nUsage:\n  dedlin [<file>] [options]\n  dedlin (-h | --help)\n  dedlin --version\n\nOptions:\n  -h --help          Show this screen.\n  --version          Show version.\n  --macro=<macro>    Run macro file.\n  --echo             Echo commands.\n  --halt_on_error    End program on error.\n  --promptless_quit  Skip prompt on quit.\n  --vim_mode         User hostile, no feedback.\n  --verbose          Displaying all debugging info.\n  --blind_mode       Optimize for blind users (experimental).\n```\n\nSample session\n\n```text\n   _          _  _  _\n __| | ___  __| || |(_) _ _\n/ _` |/ -_)/ _` || || || ' \\\n\\__,_|\\___|\\__,_||_||_||_||_|\n\n\nEditing /home/mmartin/github/dedlin/sample.txt\n? * 1i\n1 INSERT\nControl C to exit insert mode\n?    1 :  cabbage\n?    2 :  bread\n?    3 :  carrots\n?    4 :  ghost peppers\n?    5 :  coffee\n?    6 :  tortillas\n?    7 :\n\nExiting insert mode\n\n? * SORT\n SORT\nSorted\n? * LIST\n1,6 LIST\n   1 : bread\n   2 : cabbage\n   3 : carrots\n   4 : coffee\n   5 : ghost peppers\n   6 : tortillas\n\n? * EXIT\n1,6 EXIT\n```\n\n## Documentation\n\n- [User Manual](https://github.com/matthewdeanmartin/dedlin/blob/main/docs/user_manual.md)\n- [Developer roadmap](https://github.com/matthewdeanmartin/dedlin/blob/main/docs/TODO.md)\n- [Prior Art](https://github.com/matthewdeanmartin/dedlin/blob/main/docs/prior_art.md)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Line editor, edlin clone with many improvements",
    "version": "1.19.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/matthewdeanmartin/dedlin/issues",
        "Change Log": "https://github.com/matthewdeanmartin/dedlin/blob/main/CHANGES.md",
        "Documentation": "https://github.com/matthewdeanmartin/dedlin",
        "Homepage": "https://github.com/matthewdeanmartin/dedlin",
        "Repository": "https://github.com/matthewdeanmartin/dedlin"
    },
    "split_keywords": [
        "editor",
        "edlin",
        "line editor"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ddc877727f84f9c89bfd6a86bf53fb12fa92cc9045b3aacabaaee2e8a93187c1",
                "md5": "e441809db73270c377d0584563edc5ac",
                "sha256": "8c32514764d71488dc66f069d76eff46cbfee49be7c0f51db7d47d8c68442564"
            },
            "downloads": -1,
            "filename": "dedlin-1.19.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e441809db73270c377d0584563edc5ac",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11,<4.0.0",
            "size": 41220,
            "upload_time": "2024-02-18T21:41:41",
            "upload_time_iso_8601": "2024-02-18T21:41:41.033645Z",
            "url": "https://files.pythonhosted.org/packages/dd/c8/77727f84f9c89bfd6a86bf53fb12fa92cc9045b3aacabaaee2e8a93187c1/dedlin-1.19.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1fb66a79c8ba9a273a22fd3f615b01796d3e93d16dfbc5876bd8fe10c4b36c5a",
                "md5": "9ab5836c960caeefe8f91ded5b2dfaf6",
                "sha256": "b414c4e90089dcc4ab51c84d96890bef362d15bbf2168627b409ea0b46741f75"
            },
            "downloads": -1,
            "filename": "dedlin-1.19.1.tar.gz",
            "has_sig": false,
            "md5_digest": "9ab5836c960caeefe8f91ded5b2dfaf6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11,<4.0.0",
            "size": 34591,
            "upload_time": "2024-02-18T21:41:42",
            "upload_time_iso_8601": "2024-02-18T21:41:42.697348Z",
            "url": "https://files.pythonhosted.org/packages/1f/b6/6a79c8ba9a273a22fd3f615b01796d3e93d16dfbc5876bd8fe10c4b36c5a/dedlin-1.19.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-18 21:41:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "matthewdeanmartin",
    "github_project": "dedlin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dedlin"
}
        
Elapsed time: 0.20630s