{"repo":"matheusfillipe/GDScript-REPL","free":true,"listed":false,"github":"https://github.com/matheusfillipe/GDScript-REPL","clone":"git clone https://github.com/matheusfillipe/GDScript-REPL.git","description":"Experimental gdscript REPL","language":"Python","stars":21,"topics":["gdscript","godot","repl"],"license":null,"category":"game-templates","readme_excerpt":"GDScript REPL This repository contains: - A proof of concept GDScript REPL - A dockerfile to build godot server for alpine - A dockerfile to run godot from alpine - A IRC GDScript REPL bot Notice that if all you want is run GDScript files from the command line you don't need this project. Check out: https://docs.godotengine.org/en/stable/tutorials/editor/command line tutorial.html Motivation GDScript is a python like language but it lacks a REPL. Godot has a built in godot -s script.gd to run scripts but it is overkill when you just want to test out the difference between a PoolStringArray and a normal Array of strings and play around like you can do with so many languages. That inspired me to try to turn godot -s into a REPL, creating a websocket server that will take any string from any client in, evaluate it by creating new GDScript, attaching that script to a resource node and then calling a function of that node. That requires a lot of hacky string manipulations to keep stuff working and have a separated local and global scopes allowing you to create functions, enums and classes from the REPL. This is this still very work in progress and experimental but serves to prove the point that a REPL for godot would be awesome. Installation Simply: If you want to use the irc bot you will need to clone this repo and follow the instructions bellow. Usage The GDScript server is implemented in a way that it will send the return output to the client but not stdout. So if you type 1+1 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/matheusfillipe","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/matheusfillipe/GDScript-REPL/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}