Add justfile, ols/odinfmt config, tests and Gitea workflows; drop odin.json
- justfile with build/run/check/test/release/package/fmt/clean recipes - ols.json and odinfmt.json for neovim (ols) - Tests for memory game rules and card animation; memory.deal and memory.select_card split out so logic is testable without a window - Gitea workflows: build+test on main/develop, package and upload to the generic package registry on version branches - Game changes to the executable's directory so packaged builds find assets Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
148570a4e6
commit
9ee2eabe9a
12 files changed
+428
-23
No files matched your search
@@ -1,3 +1,30 @@
|
||||
# HanjaKanaMun
|
||||
|
||||
Odin + raylib multilingual application (Thai, Korean, Japanese)
|
||||
Odin + raylib memory card game for learning Japanese, Korean and Thai scripts.
|
||||
|
||||
## Development
|
||||
|
||||
Requires [Odin](https://odin-lang.org) (dev-2026-09) and [just](https://just.systems).
|
||||
|
||||
```sh
|
||||
just run # build and play (debug)
|
||||
just check # type-check with -vet
|
||||
just test # run tests
|
||||
just package 1.0 # release build -> build/HanjaKanaMun_1.0_<os>_<arch>.tar.gz
|
||||
```
|
||||
|
||||
### Neovim
|
||||
|
||||
`ols.json` and `odinfmt.json` configure the [ols](https://github.com/DanielGavin/ols) language server and formatter.
|
||||
Install ols (e.g. `:MasonInstall ols`) and enable it with nvim-lspconfig: `vim.lsp.enable('ols')`.
|
||||
Formatting goes through ols (`vim.lsp.buf.format()`), or `just fmt` if `odinfmt` is on your PATH.
|
||||
|
||||
## CI
|
||||
|
||||
- `.gitea/workflows/gitea-build.yaml`: check, test and build on pushes and PRs to `main` and `develop`.
|
||||
- `.gitea/workflows/gitea-release.yaml`: on version branches like `1.0`, packages the Linux build and uploads it to
|
||||
the Gitea generic package registry (`HanjaKanaMun/<version>`). Needs a `TOKEN` secret with package write access.
|
||||
|
||||
## Credits
|
||||
|
||||
Font: M PLUS Rounded 1c, SIL Open Font License (`assets/MPLUSRounded1c-OFL.txt`).
|
||||
Reference in new issue
Block a user