Skip to content
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

About project state #397

Open
LuqueDaniel opened this issue Feb 20, 2024 · 12 comments
Open

About project state #397

LuqueDaniel opened this issue Feb 20, 2024 · 12 comments

Comments

@LuqueDaniel
Copy link
Member

The project has grown a lot over the past three years, thanks to all contributors, with a special shoutout to @duckdoom4 and @rdurfee.

In the middle of last year, I underwent several life changes that significantly reduced my time to contribute to the project. In addition, I haven't been involved in Ren'Py projects for the past year.

Many users have been using this extension in their projects. That's why in this issue, I'd like to talk about the project's future with anyone interested.

At this point, this is a community project. If anyone wishes to continue maintaining it, we can even transfer the repository.

Also, ping to @renpytom.

Gracias!

@duckdoom4
Copy link
Collaborator

duckdoom4 commented Feb 20, 2024

Thanks for the kind words, hope you're doing well 🙏

I would love to help again when I find the time. Currently I have work and other personal projects that take priority, but this project is definitely still on my mind. Still have plenty of ideas to implement and continue with the full intellisense like features.

I do have to say that it's a lot of work for just me, so I would welcome any help I can get with open arms

@renpytom
Copy link
Member

I'd like to thank you for all the work that you've done for this, and for the atom extension before this. I use it myself, and appreciate everything you've done.

I'd like, if possible, to transfer the extension to the @renpy organization, so that I can at least keep the basic syntax highlighting updated in sync with Ren'Py - and if we can improve the grammar, add full intellisense, and so on, that would be wonderful. (But probably beyond what i'd be good at - I'd love it if @duckdoom4 and others could help with that.)

Again, thank you for everything you've done - and for being willing to look out for the project like this.

@LuqueDaniel
Copy link
Member Author

Everything is going well, thanks!

I think it's a good idea to transfer the repository to @renpy. Maybe it will attract new contributors. If @renpy were to publish the extension, we could deprecate the current one in its favor.

Also, I want to continue helping and contributing as soon as I've some free time 😄

@renpytom
Copy link
Member

I think that makes sense. Do you want to transfer the repo, or should I fork it?

I can probably also have the launcher handle the migration to the new extension, and I would also like to immediately update the syntax to include new keywords.

And I'd be happy if you keep helping - it's been incredibly valuable to have you handling the extension, so I can focus on the engine.

@LuqueDaniel
Copy link
Member Author

LuqueDaniel commented Feb 24, 2024

I can transfer it 👍 Just let me know and I'll do it.

Then it will be necessary to publish a new version of the extension (taking the opportunity to correct the typo in the name languague-renpy 🤣), once published I'll be able to request that the extension I published be deprecated in favor of the new one.

@renpytom
Copy link
Member

Okay, let's move the repo hosting over to @renpy.

What I'm thinking is publishing a new version now, and modifying the Ren'Py extensions system so it installs the new version - that will end automatic installs. Then in Ren'Py 8.3, there will be a change to the launcher that will uninstall the old and install the new extension (can extensions conflict?).

@LuqueDaniel
Copy link
Member Author

Done! ✨

@LuqueDaniel
Copy link
Member Author

LuqueDaniel commented Feb 25, 2024

You can add the VS API token in the secrets (repository configuration) to make the publishing workflow with GitHub Action work. The workflow is triggered by adding a tag, for example, v2.3.0 (v2.4.0-pre-release for previews). More information:

https://code.visualstudio.com/api/working-with-extensions/publishing-extension#get-a-personal-access-token

@duckdoom4 had collaborator permissions on the repository.

@duckdoom4
Copy link
Collaborator

duckdoom4 commented Feb 25, 2024

Would be awesome if we could still have that, but I completely understand if you'd want all commits to be reviewed before they are merged even on develop

@LuqueDaniel
Copy link
Member Author

Yep, of course, code reviews should always be a required step before integrating new code (we also have automation to check style and code).

@duckdoom4
Copy link
Collaborator

duckdoom4 commented Feb 25, 2024

So now this is 'officially' part of renpy, maybe we should check if we can automate some tasks. I remember we started working on some grammar definitions and my intention was to use those to generate the parser rules and AST nodes. That way we would only need to maintain one source. (And probably fix the occasional bugs).

Another option is to use the original renpy parser, but problem with that is the language barrier. I'm not sure how easy it is to execute python code from the extension + the need to output the entire AST state and rebuild it on the extension side.
If anything it might be easier to simply copy the exact implementation and convert it to js. (Which I wasn't comfortable with before, but now it's part of renpy that's no longer an issue :p)

@renpytom
Copy link
Member

There isn't really a Ren'Py parser, to be honest - at least, not one that conforms to grammar rules. It's pretty close to an LL(k) parser, but there are several places where the Ren'Py parser simply passes everything to the end of the line, or everything in parenthesis, or everything in a block to Python.

So I don't think copying the parser is doable, unless we can shell out to Python in certain places.

I can try and review the code and keep the automation working, but I'm not up on VS code or the automation. Hopefully I can learn.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants