Commit graph

30 commits

Author SHA1 Message Date
29af2df858
refactor(logger): table-based LogOpts; add sync, on_done to test stream
Problem: `logger.log` positional args were hard to extend, and adding
`sync` support for pre-block notifications required a clean API. Test
stream completion had no user-visible signal. `setup_contest` could
silently overwrite files when a user's `filename` config returned
colliding paths.

Solution: Replace `(msg, level, override)` with `(msg, LogOpts?)` where
`LogOpts` carries `level`, `override`, and `sync`. Sync path calls
`vim.notify` directly; async path uses `vim.schedule` as before. Add
`on_done` callback to `scrape_all_tests`, fired via `on_exit` and
surfaced as a "Loaded N tests." notification. Detect filename collisions
in `proceed()` before touching the filesystem. Migrate all call sites.
2026-03-05 12:54:37 -05:00
622620f6d0 feat: add debug logging to python env, scraper, and runner
Problem: with debug = true, there is not enough diagnostic output to
troubleshoot environment or execution issues. The resolved python path,
scraper commands, and compile/run shell commands are not logged.

Solution: add logger.log calls at key decision points: python env
resolution (nix vs uv vs discovery), uv sync stderr output, scraper
subprocess commands, and compile/run shell strings. All gated behind
the existing debug flag so they only appear when debug = true.
2026-02-18 17:40:06 -05:00
c8f735617a misc bugfixes 2026-02-02 13:13:08 -05:00
0b21d02f24 fix(runner): save buffer before compile 2026-01-27 16:42:16 -05:00
4c5c44742e feat: refactors 2026-01-27 14:23:23 -05:00
ba26cee7f9 feat(run): make running entirely asynchronous 2026-01-27 12:55:35 -05:00
Barrett Ruth
00987bb0ff feat(io): cleanup view 2025-11-06 01:31:50 -05:00
Barrett Ruth
48d4c6f113 feat: language 2025-10-24 01:21:16 -04:00
Barrett Ruth
6a6cf2c594 feat: bindings and --debug flag 2025-10-23 23:36:09 -04:00
d2bde9bad8 fix(config): better file org 2025-10-04 19:54:53 -04:00
aae98a5796 disable scraper disabling 2025-10-04 17:45:49 -04:00
b9a2c7a4ff fix(scrapers): fix 2025-10-04 15:00:37 -04:00
179b333505 update pyproject 2025-10-03 22:38:24 -04:00
5991670ef2 fix health and hl groups 2025-10-03 09:34:25 -04:00
d35ed0450b fix table 2025-10-03 09:27:52 -04:00
c9ba8281b0 fix(runner): proper timeout 2025-10-03 09:16:38 -04:00
d480975652 fix tle verdict 2025-10-02 23:28:51 -04:00
cddd61f061 config hard fail 2025-10-02 23:20:51 -04:00
69ffc2d9dd cleanup 2025-10-02 23:07:10 -04:00
0061161a90 feat(runner): mle 2025-10-02 23:03:58 -04:00
d9537e72ba many fixes 2025-10-02 22:35:30 -04:00
1a4573a4e4 remove useless stderr fields 2025-10-02 20:45:27 -04:00
a925686a17 fix(log): improve logging 2025-10-01 16:41:24 -04:00
46cd509747 fix docs and superfluous vim.validate calls 2025-09-30 20:55:29 -04:00
646b0047dc fix lint 2025-09-24 18:48:15 -04:00
975e829f78 fix: remove version 2025-09-24 18:28:41 -04:00
9e84d57b8a feat: context, not config 2025-09-24 18:21:34 -04:00
d851dda461 fix(ci): fomrat 2025-09-21 15:10:27 -04:00
78fb4f8f4b feat(cache): cache clearing, updating and resetting 2025-09-21 15:08:55 -04:00
965e47a1df feat: refactor file structure 2025-09-21 14:29:01 -04:00
Renamed from lua/cp/execute.lua (Browse further)