Fork of lines.love for live programming; useful starting point for further forks
README.md

Example "freewheeling" app that can be modified without being restarted

0 dependencies!

Running this repo in isolation won't be very helpful. If you haven't yet, first check out the driver app. 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.

This repo is an example of a Freewheeling App, designed above all to be easy to run, easy to modify and easy to share.

Getting started

Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved.

Run the app using LÖVE.

Hacking

To modify it live without restarting the app each time, download the driver app. Here's an example session using a fork of this repo:

making changes without restarting the app

If the app being modified by the driver lives in a .love file, your changes will go into the save directory. 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.

  • 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, an editor for plain text where you can also seamlessly insert line drawings. Its immediate upstream is 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 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. Messages, PRs, patches, forks, it's all good.