Things to do: * [x] implement thread-local engine setting for `default_engine` * [ ] make sure everything are defined globally (a bit difficult, e.g. https://tex.stackexchange.com/q/357869/250119) * [ ] split `newenvironment_verb` into helper functions * [ ] split `f1` into helper functions to allow customization (e.g. `⟨a:08b⟩`?) * [ ] split `simple` module into parts. Plan: * [ ] `simple_helper`: functions that does not need to be used directly at document level but may be useful to define new functions * [ ] `simple_extra`: those that can be built with `simple_helper` and `simple_extra` (to recommend user to read source code) * [ ] `simple`: the rest * [ ] extension modules (e.g. for SageMath) * [x] some API to manipulate catcodes counts dimens etc. * [ ] Make `newenvironment_verb` not strip spaces at the end of the line * [ ] Define an environment that gobbles the body in `str`-type tokenization * [x] Get arguments delimited * [ ] Get pair-delimited argument (`d`-type and `D`-type argument in xparse) * [x] Function to write to log file (why?) * [ ] Function to parse log file for things such as `\showoutput` (very hacky...) * [ ] Expandable functions for Lua * [ ] `pysub` environments, `evalz()` in Python, etc. * [ ] preprocess `pycode` to allow using inside command argument (with a few caveats, but still good) * [ ] restore `select.select` for unnamed pipe or `threading` to cancel the pipe on timeout * [ ] refactor serialization to allow passing more data in a structured way * [x] Catch error from ChildProcessEngine * [ ] Give reasonable error on overleaf when files are missing...
Things to do:
default_enginenewenvironment_verbinto helper functionsf1into helper functions to allow customization (e.g.⟨a:08b⟩?)simplemodule into parts. Plan:simple_helper: functions that does not need to be used directly at document level but may be useful to define new functionssimple_extra: those that can be built withsimple_helperandsimple_extra(to recommend user to read source code)simple: the restnewenvironment_verbnot strip spaces at the end of the linestr-type tokenizationd-type andD-type argument in xparse)\showoutput(very hacky...)pysubenvironments,evalz()in Python, etc.pycodeto allow using inside command argument (with a few caveats, but still good)select.selectfor unnamed pipe orthreadingto cancel the pipe on timeout