Metadata-Version: 2.1
Name: openeditor
Version: 0.3.1
Summary: Edit files with your $EDITOR, like git commit does.
Home-page: https://github.com/metov/openeditor
License: MIT
Author: Azat Akhmetov
Requires-Python: >=3.6,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Project-URL: Repository, https://github.com/metov/openeditor
Description-Content-Type: text/markdown

# `openeditor`
Edit files with your `$EDITOR`, like git commit does.

## Usage
Install with: `pip install openeditor`

```
# Let user edit file
s = openeditor.edit_file("path/to/my/file.txt")
print("The file now contains:\n" + s)

# Use a temp file
s = openeditor.edit_file(
    "# Please edit this file, save and close editor when done", 
    "path/to/my/file.txt"
)
print("The file now contains:\n" + s) 
```

The editor is obtained from, in order of precedence:

* `$VISUAL`
* `$EDITOR`

If neither of these provide a useful editor, an exception will be thrown.

## Limitations
`openeditor` expects an editor string similar to `EDITOR=cmd` such that:

1. `cmd file.txt` (filename as the final argument) is a correct way of editing `file.txt`.
2. `cmd` is not too complex. Simple things like space-separated flags (eg. `EDITOR="vim -n"`) are fine but advanced shell magic may break.

If your `cmd` **does** need to be more complex, one possible workaround is to write a wrapper script that presents a compatible command-line interface to `openeditor` and invokes the full command as appopriate.
