# Lua Carousel
[![0 dependencies!](https://0dependencies.dev/0dependencies.svg)](https://0dependencies.dev)
![screenshot](assets/1.png)
A lightweight environment for writing small, throwaway
[Lua](https://www.lua.org) and [LÖVE](https://love2d.org) programs. Tested on
Windows, Mac, Linux, iOS and Android. The environment itself can be modified
as it runs. In early release; please report issues, particularly with
usability or accessibility.
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)
(Only on non-mobile platforms for now.)
[Some reference documentation on how to create your own apps.](reference.md)
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
Within the editor widget:
* `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.
* Can't scroll while selecting text with mouse.
* Some colors can't be customized yet.
## Contributors
Many thanks to Mike Stein for code, feedback and suggestions.
## 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 [the template repo for freewheeling apps](https://git.sr.ht/~akkartik/template-live-editor).
Updates to it can be downloaded from the following mirrors:
* https://git.sr.ht/~akkartik/carousel.love
* https://tildegit.org/akkartik/carousel.love
* https://git.merveilles.town/akkartik/carousel.love
* https://nest.pijul.com/akkartik/carousel.love (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/template-carousel-mobile
## Feedback
[Most appreciated.](http://akkartik.name/contact) Messages, PRs, patches,
forks, it's all good.