lines2.love/README.md

3.7 KiB

Plain text with lines

0 dependencies!

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 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, aiming to be more elegant and have fewer bugs. Updates to it can be downloaded from:

Associated tools

Feedback

Most appreciated. Messages, PRs, patches, forks, it's all good.