@lupyuen Instead of piping a bunch of seds together, you can give sed a bunch of commands with multiple -e
sed -e 's/^extern "C" /#[lvgl_macros::safe_wrap(attr)] extern "C" /' -e ''s/@param \([^ ][^ ]*\) /- __`\1`__: /'' -e ''s/@return /Return: /''
etc.
Bonus side effect is that it's easier to use `-i` instead of piping from one file to another, then deleting the old file.