mirror of
https://github.com/open-goal/jak-project
synced 2026-06-03 02:30:13 -04:00
REPL related improvements and fixes (#3545)
Motivated by - https://github.com/open-goal/opengoal-vscode/pull/358 This addresses the following: - Fixes #2939 spam edge-case - Stop picking a different nREPL port based on the game mode by default, this causes friction for tools in the average usecase (having a REPL open for a single game, and wanting to connect to it). `goalc` spins up fine even if the port is already bound to. - For people that need/want this behaviour, adding per-game configuration to the `repl-config.json` is on my todo list. - Allows `goalc` to permit redefining symbols, including functions. This is defaulted to off via the `repl-config.json` but it allows you to for example, change the definition of a function without having to restart and rebuild the entire game.  - Updates the welcome message to include a bunch of useful metadata up-front. Cleaned up all the startup logs that appear when starting goalc, many of whom's information is now included in the welcome message. - Before:  - After: 
This commit is contained in:
@@ -119,8 +119,9 @@ void MakeSystem::load_project_file(const std::string& file_path) {
|
||||
auto data = m_goos.reader.read_from_file({file_path});
|
||||
// interpret it, which will call various handlers.
|
||||
m_goos.eval(data, m_goos.global_environment.as_env_ptr());
|
||||
lg::print("Loaded project {} with {} steps in {} ms\n", file_path, m_output_to_step.size(),
|
||||
lg::debug("Loaded project {} with {} steps in {} ms\n", file_path, m_output_to_step.size(),
|
||||
(int)timer.getMs());
|
||||
m_loaded_projects.push_back(file_path);
|
||||
}
|
||||
|
||||
goos::Object MakeSystem::handle_defstep(const goos::Object& form,
|
||||
@@ -187,6 +188,7 @@ goos::Object MakeSystem::handle_defstep(const goos::Object& form,
|
||||
*
|
||||
*/
|
||||
void MakeSystem::clear_project() {
|
||||
m_loaded_projects.clear();
|
||||
m_output_to_step.clear();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user