repl: Add a few new quality of life improvements (#2030)

- You can define a `startup.gc` in your user folder, each line will be
executed on startup (deprecates the usefulness of some cli flags)
- You can define a `repl-config.json` file to override REPL settings.
Long-term this is a better approach than a bunch of CLI flags as well
- Via this, you can override the amount of time the repl will attempt to
listen for the target
- At the same time, I think i may have found why on Windows it can
sometimes take forever to timeout when the game dies, will dig into this
later
- Added some keybinds for common operations, shown here


https://user-images.githubusercontent.com/13153231/202890278-1ff2bb06-dddf-4bde-9178-aa0883799167.mp4
> builds the game, connects to it, attaches a debugger and continues,
launches it, gets the backtrace, stops the target -- all with only
keybinds.

If you want these keybinds to work inside VSCode's integrated terminal,
you need to add the following to your settings file
```json
"terminal.integrated.commandsToSkipShell": [
    "-workbench.action.quickOpen",
    "-workbench.action.quickOpenView"
  ]
```
This commit is contained in:
Tyler Wilding
2022-11-20 14:28:41 -05:00
committed by GitHub
parent 6298533eaa
commit a0a85eb60a
17 changed files with 168 additions and 72 deletions
@@ -207,7 +207,7 @@ Val* Compiler::compile_listen_to_target(const goos::Object& form,
}
});
m_listener.connect_to_target(30, ip, port);
m_listener.connect_to_target(m_target_connect_attempts, ip, port);
return get_none();
}