~akkartik/bf.love

Toy brainf**k interpreter; example app that can be modified without restarting
973bd087 — Kartik K. Agaram a day ago
Merge template-live-editor
a1c93367 — Kartik K. Agaram a day ago
link to reference from Readme
645d1ff3 — Kartik K. Agaram a day ago
Merge template-live-editor

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~akkartik/bf.love
read/write
git@git.sr.ht:~akkartik/bf.love

You can also use your local clone with git send-email.

#Toy interpreter for Brainf@@k

https://en.wikipedia.org/wiki/Brainfuck

screenshot

Example program for trying out driver.love, a programming environment for modifying programs live, without restarting them.

Some reference documentation on how to create your own apps.

This repo is a fork of lines.love, an editor for plain text where you can also seamlessly insert line drawings. Designed above all to be easy to modify and give you early warning if your modifications break something.

#Getting started

Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved. I'll assume below that you can invoke it using the love command, but that might vary depending on your OS.

Run this app from the terminal, passing its directory to LÖVE

#Hacking

To modify it live without restarting the app each time, download the driver app.

screenshot of driver app showing overview of this repo

To publish your changes:

  • delete all files with a numeric prefix from the repo, and then
  • move all files with a numeric prefix from the save directory to the repo.

#Keyboard shortcuts

Press f4 to evaluate a program.

Within each editor panel:

  • 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

  • Both freewheeling apps and the driver for them currently benefit from being launched in terminal windows rather than by being clicked on in a desktop OS. See the driver app for details.

#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 the template repo for freewheeling apps. Updates to it can be downloaded from the following mirrors:

Further forks are encouraged. If you show me your fork, I'll link to it here.

#Feedback

Most appreciated.