e11906700e | ||
---|---|---|
assets | ||
examples | ||
0000-freewheeling-start | ||
0001-on | ||
0002-Debug_animations_in_progress | ||
0002-Num_panels_horizontal | ||
0003-Num_panels_vertical | ||
0003-refresh_debug_animations | ||
0004-Margin | ||
0004-on.update | ||
0005-Font_size | ||
0005-animate | ||
0006-Cursor | ||
0006-loiter | ||
0007-Title_font | ||
0007-save_callstack | ||
0008-Data_title_text | ||
0008-Debug_animation_period | ||
0009-panel_bounds | ||
0010-create_editor | ||
0011-In | ||
0012-Code | ||
0013-Data | ||
0014-Out | ||
0015-on.draw | ||
0016-draw_title | ||
0017-on.mouse_press | ||
0018-create_editor_panel | ||
0019-on.text_input | ||
0020-editor_to_string | ||
0021-map | ||
0022-draw_editor_panel | ||
0023-on.initialize | ||
0024-draw_data | ||
0025-on.key_release | ||
0026-on.keychord_press | ||
0027-on.mouse_release | ||
0028-eval | ||
LICENSE.txt | ||
Manual_tests.md | ||
MemoryReferenceInfo.lua.0 | ||
MemoryReferenceInfo.lua.unused | ||
README.md | ||
app.lua | ||
bf.lua | ||
button.lua | ||
default_map | ||
edit.lua | ||
file.lua | ||
json.lua | ||
keychord.lua | ||
live.lua | ||
main.lua | ||
nativefs.lua | ||
reference.md | ||
search.lua | ||
select.lua | ||
test.lua | ||
text.lua | ||
text_tests | ||
text_tests.lua | ||
undo.lua |
README.md
Toy interpreter for Brainf@@k
https://en.wikipedia.org/wiki/Brainfuck
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 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.
Hacking
To modify it live without restarting the app each time, download the driver 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
Press f4
to evaluate a program.
Within each editor panel:
ctrl+f
to find patterns within a filectrl+c
to copy,ctrl+x
to cut,ctrl+v
to pastectrl+z
to undo,ctrl+y
to redoctrl+=
to zoom in,ctrl+-
to zoom out,ctrl+0
to reset zoomalt+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
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:
- https://git.sr.ht/~akkartik/bf.love
- https://tildegit.org/akkartik/bf.love
- https://git.merveilles.town/akkartik/bf.love
- https://nest.pijul.com/akkartik/bf.love (using the Pijul version control system)
Further forks are encouraged. If you show me your fork, I'll link to it here.