Compy

A console-based Lua-programmable computer for children based on the LÖVE2D framework.

Principles

Usage (IDE mode)

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.

Keys

Command Combination
Clear terminal Ctrl+L
Stop project Ctrl+Shift+S
Quit project (stop and close) Ctrl+Shift+Q
Reset application to initial state Ctrl+Shift+R
Reset project to initial state Ctrl+Alt+R
Exit application Ctrl+Esc
Pause project Ctrl+Pause
Toggle edit/run F8
Input
Move cursor horizontally /
Move cursor vertically /
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
Jump to line start Alt+Home
Jump to line end Alt+End
Insert newline Shift+Enter ⏎
Delete current line Ctrl+Y
Duplicate current line Ctrl+D
Evaluate input Enter ⏎
Editor
       same as Input, except for:
Scroll up PageUp
Scroll down PageDown
Move selection (if in first/last line) /
Move selection Ctrl+/
Replace selection with input Enter ⏎
       additionally
Delete selected block Ctrl+Delete
Delete selected block (if input is empty) Ctrl+Y
Wipe input Ctrl+W
Load selected content to input (discards previous content) Esc
Insert selected content into input Shift+Esc
Scroll to start Ctrl+PageUp
Scroll to end Ctrl+PageDown
Scroll up by one line Shift+PageUp
Scroll down by one line Shift+PageDown
Move selection to start Ctrl+Home
Move selecion to end Ctrl+End
Stop editor Ctrl+Shift+S
       move mode
Switch to moving ("pick up" selection) Ctrl+M
Move selection /
Move selection to start Ctrl+Home
Move selecion to end Ctrl+End
Cancel moving Esc
Move line/block to selection and return to normal mode Enter ⏎
       search mode
Search definitions Ctrl+F
Exit search Esc
Jump to selected definition Enter ⏎

Projects

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

Files

Once a project is open, file operations are available on it's contents.

Editor

If a project is open, the files inside can be edited or new ones created. Run the edit() command to do so.

edit

When a file is opened, the editor is scrolled to the end by default, and entered input will be appended to the end.

hello

To modify an existing line, navigate there with /. Then load the text by pressing Esc, make the desired changes, then send it back with Enter ⏎

capitalized

Happy with the modifications now, we can quit by pressing Ctrl-Shift-Q

quit

Moving

Select the block you want to move and press Ctrl-M. Move the highlight with / and hit Enter ⏎ when you found it's new home.

move1 move2

Searching

Definitions can be searched with Ctrl-F. Pressing this combination switches to search mode, in which the definitions are listed, and there's a highlight, which can be moved as usual. Hitting Enter ⏎ returns to editing, highlighting the selected definition. To exit search mode without moving, press Esc.

search

Usage (playback mode)

love compy.love play <project>

Paths will be searched in the following order:

Keys

Command Combination
Reset project to initial state Ctrl+Alt+R

#

 
0.0.21.99-3-19-g48703d8