-
-
Notifications
You must be signed in to change notification settings - Fork 91
Add GDScript to supported languages #3092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add GDScript to supported languages #3092
Conversation
…, that's the point actually, it's a work in progress!!!
…, that's the point actually, it's a work in progress!!!
…nto gdscript-support
You need to run prettier. That is what pre commit is complaining about. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a big fan of committing an empty file. Please add at least one scope to it. You can do something simple like comment
for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going to need to make another PR to add another codium cli naming related fix first so I can more easily do that, but once that's done that should be easy enough
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See #3093 for the fixes mentioned above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't follow why you would need to update the scripts first? Personally I don't use those scripts at all.
You just run the Cursorless extension from inside of vscode/codium when developing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's required in this very specific instance because gdscript isn't supported by prod yet, and I can't get developing from the cursorlessDevelopment
dev profile to work for some reason. Probably need to delete and remake the thing?
I can probably bootstrap a local version using the scripts update I made by building from this PR, at the very least, so getting that PR in isn't urgent for now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would definitely recommend getting the development profile working. That will hot reload and apply any changes whenever you save a scm file.
Removing the profile/sandbox and installing it again sounds like something to try.
…ursorless into gdscript-support
This reverts commit 769e9c5.
Converting this into a draft until I figure out what the solution is to the issue w/ gdscript tests mentioned on the Talon Slack |
So, I found the solution, but I'm not sure how to actually work around the requirements it imposes: In order to properly generate tests (and presumably run them as well), the monorepo must be nested inside of a Godot project, or considered a Godot project in of itself, and that project must also be running in a Godot Editor instance (which can, thankfully, be headless, but this still requires significant overhead). This is presumably due to the incomplete Language Server impl provided by the Godot Engine. I can see two ways around the first constraint rn:
Regardless, the second constraint will require spinning up a headless version of the latest stable Godot Engine and opening the project when running tests, and will require developers working on gdscript support to do something similar on their end. |
I just tried this pull request and if I added a supported scope and ran |
...well, that's just a little bit baffling. If running the tests once I have everything set up works as expected w.o the plugin, then I guess that solves the issue lol |
To actually run the tests we need a language definition for gdscript, but that is not necessary during |
Right. Do we just need the language definition or is the language server also needed? I can look into writing a very bare-bones vsc plugin for the former case, but if the language server is needed in any way then I'll need to come up with a solution to the whole "needing to be a Godot Editor project" issue |
We only need the language definition. The rest we get from Tree sitter. Maybe we should just create a cursorless-dev extension that has all of the language definition needed for testing. In that case we could remove several other extensions from our sandbox. |
Doesn't actually implement any scopes (though it does define a few as being
notApplicable
), but defines gdscript (.gd
) as a supported language, easing further development by not requiring me to run a local build of Cursorless when working on actual scope implementations in the future. This has been done for quite a while but I've not had the time to submit the PR until now due to a generally stressful fall semester and catching COVID during the first week of classes, so I thought I'd get the PR in now before I forget again >.<