91 lines
3.6 KiB
Markdown
91 lines
3.6 KiB
Markdown
# Example "freewheeling" app that can be modified without being restarted
|
|
|
|
Running this repo in isolation won't be very helpful. If you haven't yet,
|
|
first check out [the driver app](https://git.sr.ht/~akkartik/driver.love).
|
|
This repo is a template you can copy to create your own live apps that juggle
|
|
text editor widgets. The editors support copy/paste, search, infinite undo,
|
|
etc. You can't modify editor functionality live (yet?).
|
|
|
|
[Some reference documentation on how to create your own apps.](reference.md)
|
|
|
|
This repo is an example of a [Freewheeling App](http://akkartik.name/freewheeling),
|
|
designed above all to be easy to run, easy to modify and easy to share.
|
|
|
|
## Getting started
|
|
|
|
Install [LÖVE](https://love2d.org). It's just a 5MB download, open-source and
|
|
extremely well-behaved.
|
|
|
|
[Run the app using LÖVE.](https://love2d.org/wiki/Getting_Started#Running_Games)
|
|
|
|
## Hacking
|
|
|
|
To modify it live without restarting the app each time, download [the driver
|
|
app](https://git.sr.ht/~akkartik/driver.love). Here's an example session
|
|
using a fork of this repo:
|
|
|
|
![making changes without restarting the app](assets/2.gif)
|
|
|
|
If the app being modified by the driver lives in a .love file, your changes
|
|
will go into the [save directory](https://love2d.org/wiki/love.filesystem.getSaveDirectory).
|
|
If it lives in a directory (like this repo), your changes will go straight
|
|
into the same directory.
|
|
|
|
## Keyboard shortcuts
|
|
|
|
Up to you! But within the included editor widget if you use it:
|
|
|
|
* `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
|
|
|
|
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.
|
|
|
|
* Undo/redo may be sluggish in editor windows containing large files. Large
|
|
files may grow sluggish in other ways.
|
|
|
|
* If you kill the process, say by force-quitting because things things get
|
|
sluggish, you can lose data.
|
|
|
|
* Can't scroll while selecting text with mouse.
|
|
|
|
* No scrollbars yet. That stuff is hard.
|
|
|
|
## Mirrors and Forks
|
|
|
|
This repo is a fork of [lines.love](http://akkartik.name/lines.html), an
|
|
editor for plain text where you can also seamlessly insert line drawings.
|
|
Its immediate upstream is [text.love](https://git.sr.ht/~akkartik/text.love),
|
|
a version without support for line drawings. Updates to it can be downloaded
|
|
from the following mirrors:
|
|
|
|
* https://git.sr.ht/~akkartik/template-live-editor
|
|
* https://tildegit.org/akkartik/template-live-editor
|
|
* https://git.merveilles.town/akkartik/template-live-editor
|
|
* https://nest.pijul.com/akkartik/template-live-editor (using the Pijul version control system)
|
|
|
|
Further forks are encouraged. If you show me your fork, I'll link to it here.
|
|
|
|
* https://git.sr.ht/~akkartik/luaML.love - a "browser" for a Lua-based
|
|
markup language, loosely analogous to HTML except it's all Lua.
|
|
* https://git.sr.ht/~akkartik/bf.love - a toy environment for working with
|
|
[BF](https://en.wikipedia.org/wiki/Brainfuck) programs.
|
|
* https://git.sr.ht/~akkartik/broadsheet.love - a multi-column paginator that
|
|
uses all available width while remaining readable.
|
|
* https://git.sr.ht/~akkartik/crosstable.love - for all-play-all tournaments.
|
|
|
|
## Feedback
|
|
|
|
[Most appreciated.](http://akkartik.name/contact)
|