Kartik K. Agaram 233297a1ac | ||
---|---|---|
LICENSE.txt | ||
README.md | ||
app.lua | ||
array.lua | ||
button.lua | ||
drawing.lua | ||
edit.lua | ||
file.lua | ||
geom.lua | ||
help.lua | ||
icons.lua | ||
json.lua | ||
keychord.lua | ||
main.lua | ||
move.lua | ||
nativefs.lua | ||
search.lua | ||
select.lua | ||
text.lua | ||
undo.lua |
README.md
Plain text with lines
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. It's just a 5MB download, open-source and extremely well-behaved.
To run from the terminal, pass this directory to LÖVE, 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.
To open a different file, drop it on the lines2.love window.
Keyboard shortcuts
While editing text:
ctrl+f
to find patterns within a filectrl+c
to copy,ctrl+x
to cut,ctrl+v
to pastectrl+z
to undo,ctrl+y
to redoctrl+=
to zoom in,ctrl+-
to zoom out,ctrl+0
to reset zoomalt+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, aiming to be more elegant and have fewer bugs. Updates to it can be downloaded from:
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. Messages, PRs, patches, forks, it's all good.