lines2.love/README.md

105 lines
3.7 KiB
Markdown

# Plain text with lines
[![0 dependencies!](https://0dependencies.dev/0dependencies.svg)](https://0dependencies.dev)
An editor for plain text where you can also seamlessly insert line drawings.
Designed above all to be easy to understand.
http://akkartik.name/lines.html
## Getting started
Install [LÖVE](https://love2d.org). It's just a 5MB download, open-source and
extremely well-behaved.
To run from the terminal, [pass this directory to LÖVE](https://love2d.org/wiki/Getting_Started#Running_Games),
optionally with a file path to edit.
Alternatively, turn it into a .love file you can double-click on:
```
$ zip -r /tmp/lines2.love *.lua
```
By default, lines2.love reads/writes the file `lines.txt` in
[a directory relative to this app](https://love2d.org/wiki/love.filesystem.getSourceBaseDirectory).
To open a different file, drop it on the lines2.love window.
## Keyboard shortcuts
While editing text:
* `ctrl+f` to find patterns within a file
* `ctrl+c` to copy, `ctrl+x` to cut, `ctrl+v` to paste
* `ctrl+z` to undo, `ctrl+y` to redo
* `ctrl+=` to zoom in, `ctrl+-` to zoom out, `ctrl+0` to reset zoom
* `alt+right`/`alt+left` to jump to the next/previous word, respectively
* mouse drag or `shift` + movement to select text, `ctrl+a` to select all
For shortcuts while editing drawings, consult the online help. Either:
* hover on a drawing and hit `ctrl+h`, or
* click on a drawing to start a stroke and then press and hold `h` to see your
options at any point during a stroke.
lines2.love has been exclusively tested so far with a US keyboard layout. If
you use a different layout, please let me know if things worked, or if you
found anything amiss: http://akkartik.name/contact
## Known issues
* No support yet for Unicode graphemes spanning multiple codepoints.
* No support yet for right-to-left languages.
* lines2.love assumes a file always contains at least one line of text. You
can violate this invariant by editing the file outside lines2.love. Don't do
that.
* If you make the first line a drawing there's currently no way to insert
lines above it.
* Help screen may show up in multiple drawings at a time. That feels a bit
klunky.
* Clicking on a drawing to focus cursor on it adds a point. Orphaned points
disappears on reload, but still. Klunky. To avoid this you can move the
cursor using the keyboard, but who can remember that?
* No clipping yet for drawings. In particular, circles/squares/rectangles and
point labels can overflow a drawing.
* If you ever see a crash when clicking on the mouse, it might be because a
mouse press and release need to happen in separate frames. Try pressing and
releasing more slowly and let me know if that helps or not. This is klunky,
sorry.
* Touchpads can drag the mouse pointer using a light touch or a heavy click.
On Linux, drags using the light touch get interrupted when a key is pressed.
You'll have to press down to drag.
* Can't scroll while selecting text with mouse.
* No scrollbars yet. That stuff is hard.
## Mirrors
This repo is a fork of [lines.love](http://akkartik.name/lines.html), aiming
to be more elegant and have fewer bugs. Updates to it can be downloaded from:
* https://git.merveilles.town/akkartik/lines2.love
* https://git.sr.ht/~akkartik/lines2.love
## Associated tools
* https://codeberg.org/akkartik/lines2md exports files to Markdown and
(non-editable) SVG.
* https://git.sr.ht/~akkartik/lines2html.love exports files to html and inline
SVG.
* https://codeberg.org/eril/lines2html.love provides the option to export
just the drawings to a directory. Also provides a CLI, which should be more
natural for many people.
## Feedback
[Most appreciated.](http://akkartik.name/contact) Messages, PRs, patches,
forks, it's all good.