A console-based Lua-programmable computer for children based on löve2d framework.
GPL-3.0 License
A console-based Lua-programmable computer for children based on [LÖVE2D] framework.
Rather than the default LÖVE storage locations (save directory, cache, etc), the application uses a folder under Documents to store projects. Ideally, this is located on removable storage to enable sharing programs the user writes.
For simplicity and security reasons, the user is only allowed to access files inside a project. To interact with the filesystem, a project must be selected first.
Command | Keymap |
---|---|
Clear terminal | Ctrl+L |
Quit project | Ctrl+Shift+Q |
Reset application to initial state | Ctrl+Shift+R |
Exit application | Ctrl+Esc |
Input | |
Move cursor | ⇦⇧⇨⇩ |
Go back in command history | PageUp |
Go forward in command history | PageDown |
Move in history (if in first/last line) | ⇧⇩ |
Jump to start | Home |
Jump to end | End |
Insert newline | Shift+Enter |
Evaluate input | Enter |
Editor | |
same as Input, except for: | |
Scroll up | PageUp |
Scroll down | PageDown |
Move selection (if in first/last line) | ⇧⇩ |
Replace selection with input | Enter |
additionally | |
Delete selected (line) | Ctrl+Delete |
Ctrl+Y | |
Replace input with selected content | Esc |
Insert selected content into input | Shift+Esc |
Scroll to start | Ctrl+PageUp |
Scroll to end | Ctrl+PageDown |
Move selection to start | Ctrl+Home |
Move selecion to end | Ctrl+End |
Quit editor (save work) | Ctrl+Shift+Q |
A project is a folder in the application's storage which contains at least a
main.lua
file.
Projects can be loaded and ran. At any time, pressing Ctrl-Shift-Q
quits and returns to the console
list_projects()
List available projects.
project(proj)
Open project proj or create a new one if it doesn't exist. New projects are supplied with example code to demonstrate the structure.
current_project()
Print the currently open project's name (if any).
run_project(proj?)
Run either proj or the currently open project if no arguments are passed.
example_projects()
Copy the included example projects to the projects folder.
close_project()
Close currently opened project.
edit(file)
Open file in editor. If it does not exist yet, a new file will be created.
Once a project is open, file operations are available on it's contents.
list_contents()
List files in the project.
readfile(file)
Open file and display it's contents.
writefile(file, content)
Write to file the text supplied as the content parameter. This can be either a string, or an array of strings.
runfile(file)
Run file if it's a lua script.