Uses fork of node-pty native code for forking pseudoterminals.
Uses libuv pipe handle to communicate with the child process.
- Paves the way for cross-platform (Linux, macOS and Windows) support.
- Renames Pseudoterminal to PTY (which is much easier to type and spell :D).
- Better performance than the old Pseudoterminal node. Especially when
streaming large amounts of data such as running the `yes` command.
- Allows setting custom file, args, initial window size, cwd, env vars
(including important ones such as TERM and COLORTERM) and uid/gid
on Linux and macOS.
- Returns process exit code and terminating signal.
Fresh clones of this repo will need to install Gut using
gd-plug:
```
godot --no-window -s plug.gd install
```
Similar to how git submodules also need to be installed.
In a freshly cloned repo, submodule directories exist but are not
empty. Check if they are empty and update submodules. Previously,
submodules where only updated if their directories did not exist.