Merge lines.love
[view.love.git] / README.md
blobacb3f5b4e042a1685bf89bc1b1d4364feb407366
1 # An editor for plain text.
3 Not very useful by itself, but it's a fork of [lines.love](http://akkartik.name/lines.html)
4 that you can take in other directions besides line drawings, while easily
5 sharing patches between forks.
7 Designed above all to be easy to modify and give you early warning if your
8 modifications break something.
10 ## Getting started
12 Install [LÖVE](https://love2d.org). It's just a 5MB download, open-source and
13 extremely well-behaved. I'll assume below that you can invoke it using the
14 `love` command, but that might vary depending on your OS.
16 To run from the terminal, [pass this directory to LÖVE](https://love2d.org/wiki/Getting_Started#Running_Games),
17 optionally with a file path to edit.
19 Alternatively, turn it into a .love file you can double-click on:
20 ```
21 $ zip -r /tmp/text.love *.lua
22 ```
24 By default, it reads/writes the file `lines.txt` in
25 [a directory relative to this app](https://love2d.org/wiki/love.filesystem.getSourceBaseDirectory).
27 To open a different file, drop it on the app window.
29 ## Keyboard shortcuts
31 While editing text:
32 * `ctrl+f` to find patterns within a file
33 * `ctrl+c` to copy, `ctrl+x` to cut, `ctrl+v` to paste
34 * `ctrl+z` to undo, `ctrl+y` to redo
35 * `ctrl+=` to zoom in, `ctrl+-` to zoom out, `ctrl+0` to reset zoom
36 * `alt+right`/`alt+left` to jump to the next/previous word, respectively
37 * mouse drag or `shift` + movement to select text, `ctrl+a` to select all
38 * `ctrl+e` to modify the sources
40 Exclusively tested so far with a US keyboard layout. If
41 you use a different layout, please let me know if things worked, or if you
42 found anything amiss: http://akkartik.name/contact
44 ## Known issues
46 * No support yet for Unicode graphemes spanning multiple codepoints.
48 * No support yet for right-to-left languages.
50 * Undo/redo may be sluggish in large files. Large files may grow sluggish in
51   other ways. Works well in all circumstances with files under 50KB.
53 * If you kill the process, say by force-quitting because things things get
54   sluggish, you can lose data.
56 * Can't scroll while selecting text with mouse.
58 * No scrollbars yet. That stuff is hard.
60 ## Mirrors and Forks
62 This repo is a fork of [lines.love](http://akkartik.name/lines.html), an
63 editor for plain text where you can also seamlessly insert line drawings.
64 Updates to it can be downloaded from the following mirrors:
66 * https://repo.or.cz/text.love.git
67 * https://tildegit.org/akkartik/text.love
68 * https://git.tilde.institute/akkartik/text.love
69 * https://git.sr.ht/~akkartik/text.love
70 * https://github.com/akkartik/text.love
71 * https://codeberg.org/akkartik/text.love
72 * https://notabug.org/akkartik/text.love
73 * https://pagure.io/text.love
74 * https://nest.pijul.com/akkartik/text.love (using the Pijul version control system)
76 Further forks are encouraged. If you show me your fork, I'll link to it here.
78 * https://git.sr.ht/~akkartik/view.love -- a stripped down version without
79   support for modifying files; useful starting point for some forks.
80 * https://git.sr.ht/~akkartik/pong.love -- a fairly minimal example app that
81   can edit and debug its own source code.
82 * https://git.sr.ht/~akkartik/template-live-editor -- a template for
83   building "free-wheeling" live programs (easy to fork, can be modified as
84   they run), with a text editor primitive.
85 * https://git.sr.ht/~akkartik/luaML.love -- a free-wheeling 'browser' for a
86   Lua-based markup language built as a live program.
87 * https://git.sr.ht/~akkartik/driver.love -- a programming environment for
88   modifying free-wheeling programs while they run.
90 ## Feedback
92 [Most appreciated.](http://akkartik.name/contact)