Skip to main content

Line editor, edlin clone with many improvements

Project description

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 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

Downloads

CodeFactor

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.

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.

# 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

dedlin file_name.txt

Command line help

> 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

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


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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dedlin-1.17.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

dedlin-1.17.0-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

Details for the file dedlin-1.17.0.tar.gz.

File metadata

  • Download URL: dedlin-1.17.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for dedlin-1.17.0.tar.gz
Algorithm Hash digest
SHA256 25eefb58285cfd47a0bcd7e042145652f0c6c926a40da73a1ff1ac400a249c16
MD5 f8e8cfff316b38d2675c98079fdafd11
BLAKE2b-256 7a1dea613596c4558ee77eb28ede9b4c2e5f848ae4efc1d83fcf73693c4b440c

See more details on using hashes here.

File details

Details for the file dedlin-1.17.0-py3-none-any.whl.

File metadata

  • Download URL: dedlin-1.17.0-py3-none-any.whl
  • Upload date:
  • Size: 35.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for dedlin-1.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00a03c863c1aa5be23922c9c433d14945637bb8c9e93e1bbbab9d7885fc54df4
MD5 49f29603206dcad8adfea9fa383168e4
BLAKE2b-256 1f0cc0c39cfe6181184f451cb49dabb8b2e634125b96276bd8891ee5de333b0e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page