Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
6fbd71e
Merge perf
aldum Nov 21, 2025
86ebfe1
fix(ci): allow github release with only debug APKs
aldum Nov 4, 2025
c7471f8
fix: disallow linebreak in search input
aldum Nov 4, 2025
96ecd74
fix(project): run other
aldum Nov 4, 2025
ccc190b
feat: bump metalua
aldum Nov 23, 2025
7bf9cbb
fix(buffer): rechunk when replacing with multiple chunks #81
aldum Nov 4, 2025
a1a935c
feat: bump metalua
aldum Nov 25, 2025
ef58e43
chore: test src task
aldum Nov 25, 2025
1010536
feat: move terminal test to C-M-t
aldum Nov 25, 2025
99941d1
fix: disallow terminal test when not in console
aldum Nov 25, 2025
d078a6b
refactor: rework editor close shortcuts
aldum Nov 25, 2025
75af2ae
chore: log user errors
aldum Nov 25, 2025
f4d6eaa
feat(editor): multibuffer exit
aldum Nov 25, 2025
f21cbe8
style: cleanup
aldum Nov 25, 2025
bb1318c
doc: update keybindings
aldum Nov 25, 2025
65cf31e
feat: show filename in editor statusline
aldum Nov 25, 2025
915d689
feat: enable follow_require without debug
aldum Nov 25, 2025
391ac7c
fix: running current project with bare run()
aldum Nov 25, 2025
e40545b
feat: project_dofile
aldum Nov 25, 2025
28d4f23
fix(util): only debug log in debug mode
aldum Nov 25, 2025
82c93c2
feat: project require and dofile
aldum Nov 25, 2025
2d8bb27
fix(tixy): rename math.lua
aldum Nov 25, 2025
760bef9
test: add VisibleStructuredContent spec
aldum Nov 25, 2025
6dcf2b1
fix: project dofile env
aldum Nov 25, 2025
1c5a724
fix: suspend without user_update
aldum Nov 25, 2025
d92de77
fix: project_require
aldum Nov 25, 2025
1f23935
style(CC): reorg env getters
aldum Nov 25, 2025
a1c00e0
Useful sound samples for video games
nagydani Nov 27, 2025
676623b
Add noise players to `compy.audio` both in console and project enviro…
nagydani Nov 27, 2025
b66a1ff
Minor refactoring of audio table
nagydani Nov 28, 2025
d164104
Merge nagydani/audio
aldum Nov 28, 2025
3260497
feat: pass env getter to project loader generator
aldum Nov 28, 2025
7ebc6d5
test: use proper setup where the chunker is concerned
aldum Nov 25, 2025
c0d8fdc
test: add chunker test suite
aldum Nov 25, 2025
26ed9e0
fix(chunker): properly handle empty lines
aldum Nov 25, 2025
dd81c63
fix(buffer): accomodate new newline rules
aldum Nov 25, 2025
19791d0
feat(debug): allow overriding drawable w/h
aldum Nov 25, 2025
df74c07
fix(buffer): fallback in multiline case
aldum Nov 25, 2025
044fffe
fix(tests): new newline behavior
aldum Nov 25, 2025
035e211
chore: add brief test output
aldum Nov 25, 2025
92f1874
refactor: misc fixes
aldum Nov 25, 2025
3c8b284
chore: prepare preview branch
aldum Nov 28, 2025
feabcbd
Convert sounds from wav to ogg
nagydani Nov 28, 2025
5464d38
Merge branch 'audio'
nagydani Nov 28, 2025
955fc43
Merge audio branch
aldum Nov 28, 2025
66069a8
fix(editor): disable state restore until multibuffer support is added
aldum Nov 25, 2025
e09fb95
fix: duplicate filename for markdown
aldum Nov 25, 2025
be8465c
feat(editor): handle empty lines at block start or end
aldum Nov 25, 2025
c7edecb
aldum Nov 25, 2025
7d1c552
Merge bugfix branch
aldum Nov 28, 2025
2af8354
fix: compy table duplication
aldum Nov 28, 2025
fd8810b
Merge branch 'aldum:master' into audio
Nov 29, 2025
8a11fac
fix(sfx): cut noise from shot
aldum Nov 29, 2025
d593b2d
fix: reset required project modules on stop
aldum Nov 29, 2025
4f3a999
Merge latest
aldum Nov 29, 2025
e4f9c1c
fix(editor): bring back pretty printing and keep newlines
aldum Nov 29, 2025
679694c
aldum Nov 29, 2025
617fe9a
Fix regression
aldum Nov 30, 2025
dee0b85
fix: reset required project modules on stop
aldum Nov 29, 2025
db33952
fix(editor): bring back pretty printing and keep newlines
aldum Nov 29, 2025
bb90135
feat: add unqualified newline (#80)
aldum Nov 29, 2025
7b2d864
fix(harmony): larger timeout for state assert
aldum Nov 25, 2025
077582e
feat: log full user error
aldum Nov 25, 2025
9cf4b1f
fix: history remembers changed entries (#97)
aldum Nov 25, 2025
5a34ae9
Merge latest
aldum Nov 29, 2025
bc45c77
Fix regression
aldum Nov 30, 2025
bf47e7e
feat: bump metalua
aldum Nov 30, 2025
d94fc28
feat: save deleted block content to clipboard (#84)
aldum Nov 30, 2025
9b555c8
fix merge
aldum Nov 30, 2025
ee291f2
Stop already playing sample before playing again
Nov 30, 2025
3e449c9
refactor: rename functions
aldum Dec 3, 2025
da9ceb9
fix(uic): error display
aldum Dec 3, 2025
958647c
fix(debug): fallback value
aldum Dec 3, 2025
352277c
test: fix ast debug
aldum Nov 25, 2025
912560f
fix: implement #80 properly
aldum Dec 3, 2025
5b1b6d3
feat(buffer): insert_content
aldum Dec 9, 2025
913e7bc
feat(editor): insert input before selection
aldum Dec 9, 2025
c25c61d
fix(buffer): always rechunk on insert
aldum Dec 12, 2025
7bcb7e0
fix(buffer): clear loaded on insert
aldum Dec 12, 2025
a5ecef1
fix(editor): allow Ctrl-Enter to insert empty
aldum Dec 12, 2025
df7fe75
fix: reintroduce 'bit' shim
aldum Dec 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@ jobs:
name: ${{ env.IDE_DEBUG_APK_NAME }}
path: ${{ env.ARTIFACT_FOLDER }}
- uses: actions/download-artifact@v4
continue-on-error: true
with:
name: ${{ env.IDE_APK_NAME }}
path: ${{ env.ARTIFACT_FOLDER }}
Expand All @@ -329,6 +330,7 @@ jobs:
name: ${{ env.PLAYER_DEBUG_APK_NAME }}
path: ${{ env.ARTIFACT_FOLDER }}
- uses: actions/download-artifact@v4
continue-on-error: true
with:
name: ${{ env.PLAYER_APK_NAME }}
path: ${{ env.ARTIFACT_FOLDER }}
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ a project must be selected first.
| :---------------------------------------------------------------- | :-------------------------------------------- |
| Clear terminal | <kbd>Ctrl</kbd>+<kbd>L</kbd> |
| Stop project | <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>S</kbd> |
| Quit project (stop and close) | <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Q</kbd> |
| Quit project (stop and close) | <kbd>Ctrl</kbd>+<kbd>Q</kbd> |
| Reset application to initial state | <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd> |
| Reset project to initial state | <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>R</kbd> |
| Exit application | <kbd>Ctrl</kbd>+<kbd>Esc</kbd> |
Expand Down Expand Up @@ -59,6 +59,8 @@ a project must be selected first.
| Move selection | <kbd>Ctrl</kbd>+<kbd>⇧</kbd>/<kbd>⇩</kbd> |
| Replace selection with input | <kbd>Enter ⏎</kbd> |
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _additionally_ | |
| Insert input contents before selection | <kbd>Ctrl</kbd>+<kbd>Enter ⏎</kbd> |
| Insert empty block before current (if input is empty) | <kbd>Shift</kbd>+<kbd>Enter ⏎</kbd> |
| Delete selected block | <kbd>Ctrl</kbd>+<kbd>Delete</kbd> |
| Delete selected block (if input is empty) | <kbd>Ctrl</kbd>+<kbd>Y</kbd> |
| Wipe input | <kbd>Ctrl</kbd>+<kbd>W</kbd> |
Expand All @@ -70,7 +72,8 @@ a project must be selected first.
| Scroll down by one line | <kbd>Shift</kbd>+<kbd>PageDown</kbd> |
| Move selection to start | <kbd>Ctrl</kbd>+<kbd>Home</kbd> |
| Move selecion to end | <kbd>Ctrl</kbd>+<kbd>End</kbd> |
| Stop editor | <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>S</kbd> |
| Close editor buffer | <kbd>Ctrl</kbd>+<kbd>S</kbd> |
| Stop editor (close all buffers) | <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>S</kbd> |
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _move mode_ | |
| Switch to moving ("pick up" selection) | <kbd>Ctrl</kbd>+<kbd>M</kbd> |
| Move selection | <kbd>⇧</kbd>/<kbd>⇩</kbd> |
Expand All @@ -82,13 +85,13 @@ a project must be selected first.
| Search definitions | <kbd>Ctrl</kbd>+<kbd>F</kbd> |
| Exit search | <kbd>Esc</kbd> |
| Jump to selected definition | <kbd>Enter ⏎</kbd> |
| Edit required file / return to previous | <kbd>Ctrl</kbd>+<kbd>O</kbd> |
| Edit required file under highlight | <kbd>Ctrl</kbd>+<kbd>O</kbd> |

## 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 <kbd>Ctrl-Shift-Q</kbd> quits and
ran. At any time, pressing <kbd>Ctrl-Q</kbd> quits and
returns to the console

- `list_projects()`
Expand Down
9 changes: 7 additions & 2 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,16 @@ WEBDIST-c := "./dist/web-c"

# run unit tests on file change
unit_test:
@{{MON}} --exec 'echo -en "\n\n\n\n------------- BUSTED -------------\n"; busted tests' -e 'lua'
@{{MON}} -e 'lua' --exec 'echo -en "\n\n\n\n------------- BUSTED -------------\n"; busted tests'
unit_test_brief:
@{{MON}} -e 'lua' --exec 'echo -en "\n\n\n\n------------- BUSTED -------------\n"; busted tests -o tests/brief_output.lua'
unit_test_tag TAG:
@{{MON}} -e lua --exec 'echo -en "\n\n\n\n------------- BUSTED -------------\n" ; busted tests --tags {{TAG}}'
@{{MON}} -e lua \
--exec 'echo -en "\n\n\n\n------------- BUSTED -------------\n" ; busted tests --defer-print --tags {{TAG}}'
unit_test_ast:
@SHOW_AST=1 just unit_test_tag ast
unit_test_src:
@SHOW_CODE=1 just unit_test_tag src
unit_test_parser:
@PARSER_DEBUG=1 just unit_test_tag parser
unit_test_analyzer:
Expand Down
Binary file added src/assets/sounds/beep.ogg
Binary file not shown.
Binary file added src/assets/sounds/blast.ogg
Binary file not shown.
Binary file added src/assets/sounds/boom.ogg
Binary file not shown.
Binary file added src/assets/sounds/correct.ogg
Binary file not shown.
Binary file added src/assets/sounds/gameover.ogg
Binary file not shown.
Binary file added src/assets/sounds/hyperjump.ogg
Binary file not shown.
Binary file added src/assets/sounds/jump.ogg
Binary file not shown.
Binary file added src/assets/sounds/knock.ogg
Binary file not shown.
Binary file added src/assets/sounds/lose.ogg
Binary file not shown.
Binary file added src/assets/sounds/pew.ogg
Binary file not shown.
Binary file added src/assets/sounds/ping.ogg
Binary file not shown.
Binary file added src/assets/sounds/punch.ogg
Binary file not shown.
Binary file added src/assets/sounds/rawr.ogg
Binary file not shown.
Binary file added src/assets/sounds/shot.ogg
Binary file not shown.
Binary file added src/assets/sounds/sword.ogg
Binary file not shown.
Binary file added src/assets/sounds/toggle.ogg
Binary file not shown.
Binary file added src/assets/sounds/win.ogg
Binary file not shown.
Binary file added src/assets/sounds/wow.ogg
Binary file not shown.
Binary file added src/assets/sounds/wrong.ogg
Binary file not shown.
7 changes: 5 additions & 2 deletions src/conf.lua
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,11 @@ function love.conf(t)
t.identity = 'compy'
t.window.resizable = false

local width = 1024
local height = 600
if start.mode ~= 'play' then
local hidpi = os.getenv("HIDPI")

local width = 1024
local height = 600
if hidpi == 'true' or hidpi == 'TRUE' then
t.window.width = width * 2
t.window.height = height * 2
Expand All @@ -103,6 +103,9 @@ function love.conf(t)
if string.len(gp) > 0 then
title = string.format('%s - %s', 'Compy Player', gp)
end
t.window.resizable = true
love.fixHeight = height
love.fixWidth = width
t.window.title = title
end
love.test_grid_x = 4
Expand Down
Loading
Loading